我正在实施将始终运行并连接到服务器的应用程序。
因此平板电脑除了运行此应用程序之外没有任何其他操作,并且一直检查服务器以便在屏幕上显示更新。
保持应用始终正常运行和连接的最佳做法是什么?
根据我的经验,我有2种方法可以解决这个问题:
我的问题是:
谢谢
答案 0 :(得分:2)
好的
服务v / s线程
涉及使用服务,在该服务中,您应该生成将执行网络任务的工作线程 这些线程将在完成后通知主服务线程,您需要在android
中使用用户处理程序我赞成通过线程提供服务,因为如果你关闭活动网络请求仍然会在请求完成后完成,请将其保存在某种存储形式(数据库/共享pref / content提供程序)中并从中检索它。一旦你完成了,不要让所有stopSelf摧毁服务适当的一点,否则服务将继续耗尽你的电话资源。这将使你成为一个坏公民。
我提到的about模式的一个简单实现是IntentService,它会自动生成工作线程,你只需要覆盖handleIntent方法并完成那些不在主线程上的重组。如果发现自己在做什么,那么IntentService会自动杀死它 您向我的理解提出的问题涉及与服务器同步,您可以从Android文档中找到更多信息 http://developer.android.com/training/building-connectivity.html
答案 1 :(得分:1)
如果您阅读Android的官方文档。最好的解决方案是为您的应用程序使用服务。它准备在后台持续运行。您可以实现它以透明的方式检查网络,并且可以将信息绑定到另一个活动。此外,如果以后您想要更改您的连接或要求(它不会影响您的应用活动),它的可扩展性会更高。
EDIT。 好的一点是,如果有一天你的应用程序不在前台。该服务仍然可以运行。服务是为长期运行的任务准备的http://developer.android.com/guide/components/services.html