我正在开发一个Android应用程序,它使用Volley将用户输入的一些数据发送到我的服务器。我也将这些数据保存在本地SQLite数据库中。这一切都很好。如果互联网连接丢失,则会出现问题。我如何知道何时必须尝试重新上传数据。
如果网络连接丢失,我可以使用BroadcastReceiver找出建立连接的时间。但是,即使设备连接到网络但无法访问互联网,我该如何确保其正常工作。
答案 0 :(得分:0)
试试这种方式
1.在您想要将数据上传到某些Internet Connection
(Ex.ListView)
View
If Available, upload server data.
else
upload local/saved data.
这可能有助于你
答案 1 :(得分:0)
创建广播接收器以收听互联网更改并注册:
class NetworkStateBroadcastReceiver extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
if(networkInfo.isConnected()){
//netwok just connected, upload
}
}
创建一个实例并注册它。(可能在应用程序类中,在整个应用程序中运行)
reciever = new NetworkStateBroadcastReceiver();
registerReceiver(mReciever, new intentFilter(ConnectivityManager.CONNECTIVITY_ACTION));