2016-06-29 12 views
0

私はVolleyを使用してユーザーが入力したデータをサーバーに送信するAndroidアプリを開発しています。また、このデータをローカルのSQLiteデータベースに保存しています。すべてこれはうまく動作します。インターネット接続が失われた場合、問題が発生します。データを再アップロードする必要があるときは、どうすればわかりますか。インターネット接続時のデータの再アップロード

ネットワーク接続が失われた場合、BroadcastReceiverを使用して接続が確立されたことを知ることができます。ただし、デバイスがネットワークに接続されていてもインターネットにアクセスできない場合でも、この機能を確実にするにはどうすればよいですか。

答えて

0

あなたには、いくつかのView(Ex.ListView)にデータをアップロードする前に、この5月には、あなた

0

はに放送受信機を作成するのに役立ちますあなたのInternet Connection

1.Check

If Available, upload server data. 
else 
upload local/saved data. 

をこの方法を試してみてくださいインターネットの変更に耳を傾けて登録する:

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)); 
+0

こんにちは、私はあなたのソリューションを試してみました。私のネットワークが切断されたために、私がサーバに接続できなかった理由があったなら、正常に動作します。しかし、私は同じネットワークに接続されているが、インターネットが切断されている場合、どのようにインターネット接続が戻っているかを知ることができます。 (私は、WiFiに接続している間にイーサネットケーブルを取り外して、それを元に戻そうとしましたが、インターネット接続が再開されたときに通知を受けたいのですが) – Pratik

+0

IntentFilter filter = new intentFilter(WifiManager.SUPPLICANT_STATE_CHANGED_ACTION); このインネットフィルタを使用し、別のブロードキャスト受信者を書き込みます。これを参照してください:http://stackoverflow.com/questions/9353005/android-wifi-how-to-detect-when-specific-wifi-connection-is-available –

関連する問題