安卓上有服务吗?

发布于 2024-10-28 12:44:02 字数 463 浏览 1 评论 0原文

我创建了一个与服务器同步的应用程序。 我已经有一个代码,一旦用户按下按钮,它就会进行同步。现在是时候在那里添加服务了。 我对 android 上的服务有以下问题

  1. :如果用户以前从未运行过应用程序,则启动服务? (即刚刚安装的)
  2. 服务何时第一次启动?我可以从主应用程序的 onCreate 启动它吗?
  3. 如果用户按下应用程序中的“同步”按钮,我应该启动该服务还是应该有不同的流程?我如何检查后台同步是否同时发生?
  4. 即使服务启动为

    ,我是否应该使用 ASyncTask

    startService(new Intent(this, ServiceSync.class));

I've created an application which does synchronization with the server.
I've already have a code, which does synchronization once user pressed a button. Now it is time to add Service there.
I have the following questions with regards to the services on android:

  1. will the service be started if user never run application before? (i.e. just installed that)
  2. when the service will be started first time? can I start it from onCreate of the main application?
  3. if user presses Synchronize button in the application, should I start that Service or should I have different process for the same? How can I check then that background synchronization is not happening at the same time?
  4. should I use ASyncTask, even if the service is started as

    startService(new Intent(this, ServiceSync.class));

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

岁月打碎记忆 2024-11-04 12:44:02

在 Android 中同步数据的首选方法是提供 SyncAdapter 来执行同步。您在 此中对所需步骤进行了很好的总结发布

您还可以找到这些 文章很有用。

编辑:

1-2-3:您可以使用 绑定服务 管理您的活动中的交互和服务方法。您在提供的链接中拥有完整的工作示例。基本上,您可以在 Activity 的 onStart 方法中绑定到服务并取消绑定 onStop

请记住,服务在 UI 线程上运行,因此每个耗时的任务(例如通过网络获取数据)都必须在单独的线程中完成。

4:这里不需要 AsyncTask

The preferred approach to syncing data in Android is providing a SyncAdapter to perform the sync. You have a very nice summary of the required steps in this post.

You will also find these articles useful.

Edit:

1-2-3: You can use a bound service to manage the interaction and service methods from your activity. You have full working samples in the link provided. Basically, you bind to the service in your activity's onStart method and unbind onStop.

Remember that a service runs on the UI thread, so every time-consuming task such as fetching data over the network must be done in a separate thread.

4: You don't need an AsyncTask here.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文