使用异步任务或线程来执行数据库操作。下面是一个使用异步任务的示例:
public class YourViewModel extends AndroidViewModel {
private YourDatabase yourDatabase;
private LiveData> yourEntityList;
public YourViewModel(@NonNull Application application) {
super(application);
yourDatabase = YourDatabase.getInstance(this.getApplication());
yourEntityList = yourDatabase.yourDao().getAllYourEntity();
}
public LiveData> getAllYourEntity() {
return yourEntityList;
}
public void insert(YourEntity yourEntity) {
new insertAsyncTask(yourDatabase.yourDao()).execute(yourEntity);
}
private static class insertAsyncTask extends AsyncTask {
private YourDao yourDao;
insertAsyncTask(YourDao dao) {
yourDao = dao;
}
@Override
protected Void doInBackground(final YourEntity... params) {
yourDao.insert(params[0]);
return null;
}
}
}
在这个示例中,ViewModel 使用异步任务来插入数据库。您可以调用 ViewModel.insert() 方法将您的实体插入数据库中。为了监视数据变化,ViewModel 使用 LiveData 来观察查询结果。