我正在做一个作业,我必须对房间数据库中的记录进行计数,如果其值为零(0),则在textview中不会显示任何数据,否则将以LiveData格式获取数据。
我在stackoverflow上发现了此方法,但没有详细说明如何在存储库,ViewModel和Activity类中实现该方法。
@Query("SELECT COUNT(is_checked) FROM table WHERE is_checked = 1")
int getNumberOfRows();
但这是我最终要做的,但是即使有数据,它也会返回零(0)。
在道
@Query("SELECT COUNT(id) FROM users_table")
int countUsers();
在存储库中
public int countUsers(){
return usersDao.countUsers();
}
在ViewModel中
public int countUsers(){
return repository.countUsers();
}
在UsersActivity中
usersViewModel=ViewModelProviders.of(this).get(UsersViewModel.class);
Runnable runnable = new Runnable() {
@Override
public void run() {
users_count = usersViewModel.countUsers();
if(users_count > 0){
Log.i("userscount", "Data available: "+users_count);
}else{
Log.i("userscount", "No Data available: "+users_count);
}
}
};
new Thread(runnable).start();
请问我想念什么?需要帮助。