Android Room Database,检索输入的最新记录的特定值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android Room Database,检索输入的最新记录的特定值相关的知识,希望对你有一定的参考价值。
我已经使用android会议室数据库创建了我的应用程序,我正在填写学生的记录,我想在选择学生的姓名时从会议室数据库中检索输入的最新记录的页码。这是我的下面的代码DOA
@Dao
public interface NewRecordDAO {
@Insert(onConflict = REPLACE)
public void addRecord(NewRecord... newRecord);
@Update(onConflict = REPLACE)
public void updateRecord(NewRecord newRecord);
@Delete
public void deleteRecord(NewRecord newRecord);
@Query("DELETE FROM newRecord_table")
void deleteAllRecords();
@Query("SELECT * FROM newRecord_table ORDER BY NRdate DESC")
LiveData<List<NewRecord>> getAllRecord();
@Query("SELECT * FROM newRecord_table WHERE NRdate = (SELECT MAX(NRdate) FROM newRecord_table)")
LiveData<List<NewRecord>> findRecordByDate ();
}
我也有一个存储库类和视图模型类,但是我不在这里发布这些代码。下面是我检索学生的姓名和手机号码并绑定到微调器中的代码。使用此代码,我想检索从微调器中选择的学生最新记录的页码。
newRecordViewModel = ViewModelProviders.of(AddRecord.this).get(NewRecordViewModel.class);
newRecordViewModel.getAllRecords().observe(this, new Observer<List<NewRecord>>() {
@Override
public void onChanged(List<NewRecord> newRecords) {
}
});
selectStudentName.setTitle(getResources().getString(R.string.select_student_name));
selectStudentName.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(final AdapterView<?> adapterView, View view, final int position, final long l) {
if ( position == -1 ) {
Toast.makeText(AddRecord.this, "No record is selected", Toast.LENGTH_SHORT).show();
} else {
String name = adapterView.getItemAtPosition(position).toString();
Toast.makeText(AddRecord.this, name + " is selected", Toast.LENGTH_SHORT).show();
String studentMobile = Objects.requireNonNull(studentViewModel.getAllStudents().getValue()).get(position).getMobileNumber();
studentMOB.setText("Mobile: " + studentMobile);
recordIds = studentViewModel.getAllStudents().getValue().get(position).getId();
}
}
我不知道我是否足够清楚。我希望我是。请帮忙。谢谢
答案
您只需要创建一个新的Query
即可获取所需的内容。
以上是关于Android Room Database,检索输入的最新记录的特定值的主要内容,如果未能解决你的问题,请参考以下文章
Android Room Database:如何处理实体中的 Arraylist?
获取 android 房间数据库 java.lang.IllegalArgumentException 的以下异常:@androidx.room.Database 未定义元素视图()
Android Room Database:如何嵌入多个实体