大佬教程收集整理的这篇文章主要介绍了Android Room持久性库@Update无效,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@IgnoreExtraProperties @Entity(tablename = CarModel.TABLE_NAME,inDices = {@Index(value = "car_name",unique = truE)}) public class CarModel { public static final String table_NAME = "cars"; @primaryKey(autoGenerate = truE) private int id; @columnInfo(name = "car_name") private String name; @columnInfo(name = "car_price") private String price; private String type; private String position; }@H_862_4@mainActivity.java
viewmodel.isCarsEmpty().observe(MainActivity.this,new Observer<Integer>() { @Override public void onChanged(@Nullable Integer rowCount) { if (rowCount == 0) { viewmodel.insertItems(list); } else { viewmodel.updateItems(list); } } });
public LiveData<Integer> isCarsEmpty() { return apPDAtabase.carDao().isDbEmpty(); } public void insertItems(List<CarModel> carModels) { new insertCarsAsyncTask(apPDAtabasE).execute(carModels); } private class insertCarsAsyncTask extends AsyncTask<List<CarModel>,Void,Void> { private ApPDAtabase db; public insertCarsAsyncTask(ApPDAtabase apPDAtabasE) { db = apPDAtabase; } @Override protected Void doInBACkground(List<CarModel>... params) { db.carDao().insertCars(params[0]); return null; } } public void updateItems(List<CarModel> list) { new updateCarsTask(apPDAtabasE).execute(list); } private class updateCarsTask extends AsyncTask<List<CarModel>,Void> { private ApPDAtabase db; public updateCarsTask(ApPDAtabase apPDAtabasE) { db = apPDAtabase; } @Override protected Void doInBACkground(List<CarModel>... params) { db.carDao().updateCars(params[0]); return null; } }
CarDao.java
@Insert(onConflict = replaCE) void insertCars(List<CarModel> cars); @update void updateCars(List<CarModel> param); @Query("SELECT count(*) FROM " + CarModel.TABLE_Name) LiveData<Integer> isDbEmpty();
以上是大佬教程为你收集整理的Android Room持久性库@Update无效全部内容,希望文章能够帮你解决Android Room持久性库@Update无效所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。