iPhone相当于Android的服务

时间:2011-02-11 17:43:31

标签: iphone multithreading service

我要将我的应用从Android移植到iPhone。

我的Android版本使用2个服务,一个用于从服务器更新(http请求)并存储在本地数据库中,另一个用于监控某些内容(警报)。

我怎样才能在iPhone中实现类似的功能?我是否需要从main开始2个线程,那就是全部?或者它有类似的功能?。

在同一个问题上。当我的应用程序不在用户焦点时,我可以从我的同步线程(或其他)进行http调用吗?

2 个答案:

答案 0 :(得分:0)

第二点;

直到您的应用程序处于活动状态(无论是活动还是在后台运行),您都可以通过主线程或子线程进行http调用。您需要设置应用程序是否将继续以后台模式运行。

http://developer.apple.com/library/ios/#documentation/iphone/conceptual/iphoneosprogrammingguide/BackgroundExecution/BackgroundExecution.html

答案 1 :(得分:0)

我对Android开发不太熟悉,但我想我可以提供帮助。

就运行HTTP请求而言,您显然可以这样做。我推荐第三方库ASIHTTPRequest。该库非常灵活,可以帮助简化请求。

对于本地存储,您有几个选择。您可以使用Core Data(最接近数据库,缺少SQLite)或NSUserDefaults,具体取决于您要存储的内容。您还可以使用NSKeyedArchiver将对象作为文件写入磁盘。

就在后台制作HTTPRequests而言,这受到某些因素的限制。请参阅this document fo以获取更多信息。基本上,您的应用程序可以请求最多十分钟的后台时间,之后必须停止。