Mam aplikację na Androida, która łączy się zBaza danych. Chciałbym napisać wątek w tle, aby stale aktualizować dane z bazy danych, używając programu httpclient, i nadal móc aktualizować interfejs wyświetlający najnowsze dane, powiedzmy co pół sekundy. Jak to zrobić?
Odpowiedzi:
3 dla odpowiedzi № 1Spójrz na AsyncTask: http://developer.android.com/reference/android/os/AsyncTask.html - Dokładnie tego potrzebujesz.
0 dla odpowiedzi nr 2
To dużo danych!
Jeśli wyświetlasz, a następnie wstawiasz to samodanych do bazy danych, a następnie AsyncTask będzie działać. Jeśli jednak planujesz uzyskać dostęp do bazy danych z interfejsu użytkownika w tym samym czasie, co wstawianie danych z Internetu, wystąpią problemy z współbieżnością.
Musiałem użyć dostawcy treści, aby zapewnić równoczesny dostęp do bazy danych. Piękno tego było takie, że mogłem wtedy użyć syncadapter do obsługi odzyskiwania danych bez wpływu na interfejs użytkownika.
0 dla odpowiedzi № 3
Możesz użyć klasy AsyncTask
, zapoznaj się z samouczkami, aby dowiedzieć się więcej na ten temat :):
Oficjalna dokumentacja AsyncTask