我正在开发一个Android应用程序,该程序将数据本地存储在Sqlite数据库中,并将其同步到远程服务器(MSSQL服务器)。数据发送通过REST API处理。
这是我希望它工作的方式以及我打算处理的方式:
当应用程序将数据存储在Sqlite数据库中时,该应用程序将检查互联网连接是否可用,如果可用,则该应用程序将发出HttpPost来发送数据(我使用AsyncTask来处理此问题)。发送数据后,我将使用postExecute回调将数据库中的行标记为“已同步”。
如果互联网连接不可用,则该应用程序将继续运行。
我需要让应用程序在互联网连接可用时侦听事件,然后该应用程序将遍历所有尚未同步的行,然后再次使用AsyncTask将数据发送到远程服务器。
我的问题是:
谢谢,
您可以手动实现此功能,但是我建议您改用SyncAdapter。
尽管您可以设计自己的系统来在应用程序中进行数据传输,但是您应该考虑使用Android的同步适配器框架。该框架可帮助管理和自动化数据传输,并协调不同应用之间的同步操作。使用此框架时,您可以利用自己设计的数据传输方案无法使用的一些功能。
如果您想不使用SyncAdapter
任何方法来实现此目的,那么对于“检测连接何时可用”,您需要添加一个BroadcastListener
以侦听CONNECTIVITY_ACTION
广播,然后使用aConnectivityManager
来查询当前状态。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句