For example, we have a BufferedReader reader, associated with the json file through InputStreamReader. To get a file data we can do this:
For example, we have a file in our assets folder app/src/main/assets/sample_teas.json. To get an InputStream for reading it, from out Context context, we can try doing this:
An example. In our ViewModelFactory (that implements ViewModelProvider.Factory) we have an instance of our Repository, named mRepository. OurViewModel has such constructor:public MyViewModel(MyRepository myRepository)...Next, in our ViewModelFactory create ViewModel method (overriden) looks like this:@NonNull@Overridepublic <T extends ViewModel> T create(@NonNull Class<T> modelClass) { try {//MISSED RETURN VALUE HERE} catch (InstantiationException | IllegalAccessException |NoSuchMethodException | InvocationTargetException e) {throw new RuntimeException("Cannot create an instance of " + modelClass, e);}}What should we write instead of "//MISSED RETURN VALUE HERE"?
What is demonstrated by the code below?// RawDao.java@Daointerface RawDao {@RawQueryUser getUserViaQuery(SupportSQLiteQuery query);}// Usage of RawDao...SimpleSQLiteQuery query =new SimpleSQLiteQuery("SELECT * FROM User WHERE id = ? LIMIT 1", new Object[]{userId});User user = rawDao.getUserViaQuery(query);...
What happens when you create a DAO method and annotate it with @Insert?Example:@Daopublic interface MyDao {@Insert(onConflict = OnConflictStrategy.REPLACE)public void insertUsers(User... users);}
What do you want from Room when you create a DAO method and annotate it with @Update?Example:@Daopublic interface MyDao {@Updatepublic void updateUsers(User... users);}