Daftar pengguna waktu nyata di Aplikasi Android

Saya membuat chat app di Android. Aplikasi akan memiliki 100-150 pengguna sekaligus (berubah secara realtime). Data pengguna berasal dari server web http. Saya mencoba membuat daftar pengguna waktu nyata yang akan berubah secara dinamis seiring perubahan data pengguna dari server. Ada cara berikut untuk mengimplementasikan masalah ini- 1. Saya dapat menggunakan permintaan polling http setiap 2 menit untuk mengambil data dari server. Ada dua cara polling First, Gunakan kelas Timertask. Second Buat kelas layanan dan gunakan Manajer alarm. metode manakah yang memiliki kinerja terbaik???? Belakangan saya mengetahui bahwa polling benar-benar mematikan baterai. Apakah ada metode lain selain polling untuk solusi daftar pengguna waktu nyata ?? Teknik apa yang digunakan aplikasi modern seperti facebook untuk mengubah data secara realtime dalam tampilan?


person NeiL    schedule 29.10.2014    source sumber


Jawaban (3)


Mengapa ini perlu? Saya tidak akan melakukan hal seperti ini. Anda bisa memiliki layanan, yang mengambil data dari server Anda dan menyimpannya ke database lokal. Kapan Anda akan memulai layanan, itu adalah pilihan Anda! Saya tidak akan mengunduh setiap 2 menit atau semacamnya. Mungkin Anda bisa bereaksi terhadap tindakan pengguna. Jadi kalau dia buka aplikasinya atau klik daftar chat atau semacamnya.

Jika Anda benar-benar membutuhkannya secara langsung, Anda dapat menggunakan GoogleCloudMessaging, tapi menurut saya, itu ide yang buruk!

person user3621165    schedule 29.10.2014
comment
Ya, saya bisa menggunakan pull untuk menyegarkan. Mungkin saya akan melakukannya tetapi saya mencoba menemukan pendekatan terbaik. - person NeiL; 29.10.2014

Daripada menggunakan Polling secara berkala, menurut saya Anda sebaiknya menggunakan GCM. Setiap kali ada perubahan pada pengguna, Anda cukup mengirimkan Pemberitahuan Push ke aplikasi Anda dan kemudian di BroadCastReceiver Anda, cukup tekan api web untuk mendapatkan feed terbaru.

person Mukesh Rana    schedule 29.10.2014

SyncAdapter/AccountManager berguna untuk kasus penggunaan Anda. Authenticator (yang memanggil AccountManager di belakang layar) dapat menangani otentikasi untuk aplikasi Anda. SyncAdapter dapat menangani sinkronisasi berkala dari server ke penyimpanan data lokal. Anda tidak perlu menerapkannya sendiri menggunakan AlarmManager. Untuk kode sampel Adaptor Sinkronisasi

Server Anda akan bekerja dengan SyncAdapter, tanpa banyak perubahan. Satu-satunya perbedaan terletak pada klien Anda, seperti misalnya, alih-alih memanggil metode pengambilan data server di AlarmManager, Anda akan memanggilnya di onPerformSync() kelas Anda yang memperluas SyncAdapter.

Semoga ini membantu.

person Ashish Tamrakar    schedule 29.10.2014