android向服务器发送文本字符串的最佳实践

android向服务器发送文本字符串的最佳实践,android,android-asynctask,android-networking,Android,Android Asynctask,Android Networking,我正在制作一款实时位置跟踪器android应用程序。 是的,有很多重复的问题,但这里是我的情况。 设备的纬度和经度不断变化,所以我几乎每2秒就要将数据发送到at服务器 另一方面,另一台设备将每隔2秒连续获取该位置 我是android开发新手,但在谷歌上搜索过GCM、Bacground服务和asyncTask。 电池耗电目前还不是问题。我也关心后台服务。每2秒发送和获取数据的最佳方法是什么?使用AsyncTask或其他方法?这取决于您的服务器是否知道哪些设备应该获取数据,您可以最好使用谷歌云消

我正在制作一款实时位置跟踪器android应用程序。 是的,有很多重复的问题,但这里是我的情况。 设备的纬度和经度不断变化,所以我几乎每2秒就要将数据发送到at服务器

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

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

这取决于您的服务器是否知道哪些设备应该获取数据,您可以最好使用
谷歌云消息传递
,尽管可能会有一些您不喜欢的小延迟。如果要轮询设备中的数据,请使用单独的
线程
(或
异步任务
,它只是带有一些包装器代码的
线程


此外,您还可以使用
long Polling
查看以了解这方面的一些细节。但这是在服务器端,仍然需要在应用程序中设置一个线程。在单独的线程中,您可以使用
runOnUiThread
更新用户界面,或者使用
AsyncTask
success
progress
功能,您可以使用AsyncTask,这是社区中遵循的最佳方法。您可以在代码中使用处理程序,每2秒调用一次异步任务

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