我正在尝试开发一个将数据从sqlitedatabase上传到mysql数据库的应用程序。
当互联网连接不可用时,数据仅保存到sqlitedatabase,当连接可用时,它会将sqlitedatabase中的数据上传到mysql数据库。
当我在我的应用程序上保存数据时,它将其保存在sqlitedatabase中,我有代码将数据上传到mysql但是我试图在网络连接可用时执行上传操作...希望我的问题现在更清楚了吗?
答案 0 :(得分:1)
您可以使用广播接收器并等待操作ConnectivityManager.CONNECTIVITY_ACTION
请参阅此document
当您收到ConnectivityManager.CONNECTIVITY_ACTION
时,会从您的应用程序发起一个Web服务调用,该调用将数据发送到您的mysql数据库。
例如:
broadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
ConnectivityManager connectivity = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo[] info = connectivity.getAllNetworkInfo();
//Play with the info about current network state
}
}
};
intentFilter = new IntentFilter();
intentFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
registerReceiver(broadcastReceiver, intentFilter);