protected boolean isInternetAvailable(Context ctx) { try { ConnectivityManager cm = (ConnectivityManager) ctx .getSystemService(Context.CONNECTIVITY_SERVICE); return ((cm.getActiveNetworkInfo() != null) && (cm.getActiveNetworkInfo().isAvailable()) && (cm.getActiveNetworkInfo().isConnected())); } catch (Exception e) { e.printStackTrace() } return false; }
需要添加permission
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
其实还可以通过Network Information获得连接类型等信息
From: http://www.cocoachina.com/bbs/read.php?tid=83937
大家想不想在自己的应用中拨打电话呀?打电话可以用openURL:这个API, 如:[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://10086"]];但是当电话结束后,返回的是系统的拨打电话界面,如何才能返回自己的应用呢?这儿有两种方法与大家分享。
第一种是用UIWebView加载电话,这种是合法的,可以上App Store的。
代码如下:
// assuming you have an ivar to store a weak reference to a UIWebView:
// UIWebView *phoneCallWebView;
- (void) dialPhoneNumber:(NSString *)aPhoneNumber
{
NSURL *phoneURL = [NSURL URLWithString:[NSString stringWithFormat:@"tel:%@",aPhoneNumber]];
if ( !phoneCallWebView ) {
phoneCallWebView = [[UIWebView alloc] initWithFrame:CGRectZero];
}
[phoneCallWebView loadRequest:[NSURLRequest requestWithURL:phoneURL]];
}
- (void) dealloc
{
// cleanup
[phoneCallWebView release], phoneCallWebView = nil;
[super dealloc];
}
第二种是私有方法,不能上App Store的。
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"telprompt://10086"]];
这篇文章是看到别人的,觉得有用就转了!
本文作者Matt Lacey 从事软件开发行业已有12年之久,他专注于移动和Web开发。近期,他积累了大量基于Windows Phone 7的开发经验。下面的这篇文章是他在开发中积累的一些提升App的性能的经验。
Matt Lacey希望你从本篇文章中得到的最重要的信息是:优异的性能并不是凭空而得来的,这需要你尽自己所能让用户取得最好的体验。
这会是一篇使开发人员深受其益的好文章,下面我们就进入正题。
1. 避免使用UI线程
除非是必要情况,否则尽量不要使用UI线程,而是保持UI的响应。
2. 尽量不要使用值转换器
值转换器带来的性能影响远远大于使用直接属性值带来的影响。
3. 在不必要的情况下,不要使用依赖属性
如果常规属性能够满足需要,那就尽量使用常规属性,提升系统的运行速度。
4. 减少外部依赖
尽量避免使用第三方组件,有利于提升系统的运行速度。
5. 拆分程序集
在不必要的情况下,不要在你的App中加载所有的页面。
6. 把图片(数据)放到缓存中
下载外部资源消耗时间,会影响系统的性能。
7. 使用“Boot Loader”
如果你的App很大并且启动时需要进行大量处理,那么请尽量将这些启动步骤分开,这样将大大提高启动时的性能。
8. 对数据进行预载
在情况允许的条件下,在用户获取数据之前加载所需的数据,这样可以缩减用户等待数据加载的时间。
9. 加载显示同步进行
如果数据量非常大,建议只加载你所需部分数据,不要在把时间浪费在一次性加载全部数据上,让你的用户空等。
10. 对数据/模板进行重用(尽量避免加载XAML)
重用模板意味着增加App的效率,避免重载同样的内容。
11. 尽量不要使用XAML
若非必要情况,不要使用XAML。我经常看到一些运行速度很慢的App,它们有一个共同特点:在使用很少的控件就能够解决问题的情况下,它们偏偏使用一些非常复杂而没有使用必要的嵌套控件。
12. 避免使用嵌套Margin
这样可以减少布局引擎计算元素位置的计算工作量。
13. 不要使用XAML
这的确很极端,但是使用代码构建UI会比使用XAML为系统提供更好的性能(可以节省下解析的时间)。
原文:13 Ways to Improve the Performance of Your App