Skip to content

Commit c67e547

Browse files
committed
Add example for inMemory room database
1 parent 3cd1c74 commit c67e547

2 files changed

Lines changed: 22 additions & 0 deletions

File tree

app/src/main/java/com/sample/MainActivity.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,18 @@ protected void onCreate(Bundle savedInstanceState) {
125125
userDBHelper.insertUser(userList);
126126
}
127127

128+
// Room inMemory database
129+
if (userDBHelper.countInMemory() == 0) {
130+
List<User> userList = new ArrayList<>();
131+
for (int i = 0; i < 20; i++) {
132+
User user = new User();
133+
user.id = (long) (i + 1);
134+
user.name = "in_memory_user_" + i;
135+
userList.add(user);
136+
}
137+
userDBHelper.insertUserInMemory(userList);
138+
}
139+
128140
Utils.setCustomDatabaseFiles(getApplicationContext());
129141
}
130142

app/src/main/java/com/sample/database/room/UserDBHelper.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,19 +12,29 @@
1212
public class UserDBHelper {
1313

1414
private final AppDatabase appDatabase;
15+
private final AppDatabase inMemoryAppDatabase;
1516

1617
public UserDBHelper(Context context) {
1718
appDatabase = Room.databaseBuilder(context, AppDatabase.class, "User-Database")
1819
.allowMainThreadQueries()
1920
.build();
21+
inMemoryAppDatabase = Room.inMemoryDatabaseBuilder(context, AppDatabase.class).build();
2022
}
2123

2224
public void insertUser(List<User> userList) {
2325
appDatabase.userDao().insertAll(userList);
2426
}
2527

28+
public void insertUserInMemory(List<User> userList) {
29+
inMemoryAppDatabase.userDao().insertAll(userList);
30+
}
31+
2632
public int count() {
2733
return appDatabase.userDao().loadAll().size();
2834
}
2935

36+
public int countInMemory() {
37+
return inMemoryAppDatabase.userDao().loadAll().size();
38+
}
39+
3040
}

0 commit comments

Comments
 (0)