我正在使用Room
和LiveData
读写本地SQLite数据库。我正在使用Stetho
进行确认,因此我已经成功读写数据库。
我知道LiveData
在单独的线程上处理功能。我正在根据我使用RecyclerView
检索到的数据库信息来更新LiveData
:
private void retrieveTasks() {
final LiveData<List<Movie>> movies = mDb.movieDao().loadAllMovies();
movies.observe(this, new Observer<List<Movie>>() {
@Override
public void onChanged(@Nullable List<Movie> movies) {
for (Movie movie : movies) {
String photoURL = "http://image.tmdb.org/t/p/w185" + movie.getPoster_path();
Log.v("FAVORITE_URL", photoURL);
mMovieURLS.add(photoURL);
}
runOnUiThread(new Runnable() {
@Override
public void run() {
mMovieResultsAdapter.swapDataSet(mMovieURLS);
mMovieResultsAdapter.notifyDataSetChanged();
}
});
}
});
}