Android Room Database,检索输入的最新记录的特定值

会挽雕弓如满月,西北望,射天狼。这篇文章主要讲述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(); } }

我不知道我是否足够清楚。我希望我是。请帮忙。谢谢
答案【Android Room Database,检索输入的最新记录的特定值】您只需要创建一个新的Query即可获取所需的内容。

    推荐阅读