как сохранить запрос и повторно отправить в приложении для Android

#android #networking

#Android #сеть

Вопрос:

в моем приложении я пытаюсь отправить некоторые данные в сеть. но приложение становится медленным или завершается сбоем, когда сеть недоступна.

как сохранить запрос на потом и повторно отправить его, как только телефон снова подключится к сети?

как это сделать………

Ответ №1:

При сбое передачи вы можете использовать public final boolean postDelayed(Runnable r, long delayMillis) для повторной попытки через установленное время. Вам нужно будет настроить Runnable класс и отправить переопределяющий данные метод run().

http://developer.android.com/reference/android/os/Handler.html

http://developer.android.com/reference/java/lang/Runnable.html

Ответ №2:

@Aleadam прав, вам следует опубликовать свои данные позже, как только ваш Интернет будет подключен, однако вы можете проверить свое предполагаемое соединение этим методом.

 public boolean isNetworkAvailable() {
    ConnectivityManager connectivityManager 
          = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
    return activeNetworkInfo != null;
}
  

но для этого метода потребуется импортировать некоторые библиотеки Android
вот эти

 import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
  

Я надеюсь, что это поможет.

Комментарии:

1. return (networkInfo != null amp;amp; networkInfo.isConnected()); было бы лучше, не так ли?