Saya ingin membuat aplikasi di mana saya akan mengunggah data ke server. Masuk akal saya sedang mengunggah data ke server jadi tidak perlu ketika pengguna memindahkan koneksi tidak akan konstan beberapa saat saat mengunggah koneksi data mungkin terputus. Jadi yang saya inginkan adalah jika koneksi terputus, sesuatu harus berjalan di latar belakang yang akan selalu mencari koneksi segera setelah koneksi tersedia, ia mulai mengirim data ke server. Adakah yang bisa memberi tahu saya cara melakukan ini. Apakah ada cara untuk mengetahui kekuatan sinyal wifi dan internet seluler. Setiap ide dihargai. Terima kasih sebelumnya.
Cara membuat proses tetap berjalan di background di phonegap android
Jawaban (2)
Menggunakan metode setInterval, bungkus koneksi jaringan fungsi status (menggunakan api phonegap) di dalamnya. Jadi itu akan menjadi pemicu untuk interval waktu tertentu. Setelah koneksi dibuat, unggah data Anda ke server
Mari saya mulai dengan mencoba menjawab pertanyaan pertama Anda: pemrosesan latar belakang. Faktanya, ada banyak cara untuk mencapai hal ini. Yang pertama adalah proses latar belakang yang nyata, yaitu seperti daemon Linux. Cari saja berbagai artikel tentang itu. Cara lainnya adalah memulai thread dari thread GUI. Berikut ini contoh sederhananya:
public void onStartButtonClick(View view) {
Log.i("onStartButtonClick", "clicked");
mProgress = 0;
new Thread() {
@Override
public void run() {
Log.i("thread-" + Thread.currentThread().getId(), "run() method just started");
while (mProgress < 100) {
try {
Thread.sleep(mSleepTime);
mProgress++;
Log.i("thread-" + Thread.currentThread().getId(), "progress is " + mProgress);
mHandler.post(mUpdateGUI);
} catch (InterruptedException e) {
// e.printStackTrace();
}
}
}
}.start();
Harap perhatikan bahwa ini adalah contoh yang terlalu disederhanakan. mHandler.post() telah ditambahkan sebagai opsi untuk memanggil kembali thread GUI asli (tidak diperbolehkan memanggil GUI langsung dari thread). Ini memerlukan beberapa kode tambahan di kelas Anda:
// Need handler for callbacks to the UI thread
final Handler mHandler = new Handler();
// Create runnable for posting
final Runnable mUpdateGUI = new Runnable() {
public void run() {
updateProgress();
}
};
Metode updateProgress diperbolehkan untuk memanggil GUI. Contoh:
private void updateProgress() {
mProgressBar.setProgress(mProgress);
}
Semoga ini bisa membantu Anda ke arah yang benar. Semoga beruntung.