【问题标题】:Best practice for android to send a text string to serverandroid向服务器发送文本字符串的最佳实践
【发布时间】:2015-12-17 18:03:21
【问题描述】:

我正在制作一个实时位置跟踪器安​​卓应用。 是的,有很多重复的问题,但这是我的场景。 设备的经纬度在不断变化,所以我几乎每 2 秒就必须将数据发送到服务器。

http://myserver.com/tracker.php?lat=10&long=5&guid=123456

另一方面,另一台设备将每 2 秒连续获取位置

http://myserver.com/getlocation.php?guid=123456

我是 android 开发新手,但在 Google 上搜索过 GCM、Bacground 服务和 asyncTask。 电池消耗暂时不是问题。我也关心后台服务。每 2 秒发送和获取数据的最佳方法是什么?使用 AsyncTask 或其他东西?

【问题讨论】:

    标签: android android-asynctask android-networking


    【解决方案1】:

    这取决于,如果您的服务器知道哪些设备应该获取数据,您最好使用Google Cloud Messaging,尽管可能会有一点您不喜欢的延迟。如果您想轮询设备中的数据而不是使用单独的thread(或AsyncTask,它只是带有一些包装代码的thread)。

    此外,您还可以使用long Polling 参见this question 了解一些相关信息。但那是在服务器端,并且仍然需要您的应用程序中的线程。在单独的线程中,您可以使用runOnUiThread 更新用户界面,或使用AsyncTasksuccessprogress 函数

    【讨论】:

      【解决方案2】:

      您可以使用 Async Task,这是社区中遵循的最佳方法。您可以在代码中使用处理程序每​​ 2 秒调用一次 Async Task

      理想情况下,AsyncTask 应该用于需要几秒钟的操作。有些任务会让线程长时间运行,所以在这种情况下建议使用 java.util.concurrent 包,例如 Executor、ThreadPoolExecutor 和 FutureTask。

      【讨论】:

        猜你喜欢
        • 2021-01-02
        • 1970-01-01
        • 1970-01-01
        • 2015-07-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多