Advertisement
Guest User

Untitled

a guest
Jun 19th, 2019
165
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.34 KB | None | 0 0
  1. @Database(entities = {/*... the first set of entities ...*/}, version = 1)
  2. public abstract class AppDatabase1 extends RoomDatabase {
  3. // the first set of DAOs
  4. }
  5.  
  6. @Database(entities = {/*... the second set of entities ...*/}, version = 1)
  7. public abstract class AppDatabase2 extends RoomDatabase {
  8. // the second set of DAOs
  9. }
  10.  
  11. AppDatabase db1 = Room.databaseBuilder(getApplicationContext(), AppDatabase1.class, "database1.db").build();
  12.  
  13. AppDatabase db2 = Room.databaseBuilder(getApplicationContext(), AppDatabase2.class, "database2.db").build();
  14.  
  15. @Entity
  16. public class User {
  17. @PrimaryKey
  18. @NonNull
  19. public String uid;
  20.  
  21. @ColumnInfo(name = "first_name")
  22. public String firstName;
  23.  
  24. @ColumnInfo(name = "last_name")
  25. public String lastName;
  26. }
  27.  
  28. @Dao
  29. public interface UserDao {
  30. @Query("SELECT * FROM user")
  31. List<User> getAll();
  32.  
  33. @Query("SELECT * FROM user WHERE uid IN (:userIds)")
  34. List<User> loadAllByIds(int[] userIds);
  35.  
  36. @Query("SELECT * FROM user WHERE first_name LIKE :first AND " +
  37. "last_name LIKE :last LIMIT 1")
  38. User findByName(String first, String last);
  39.  
  40. @Insert
  41. void insertAll(User... users);
  42.  
  43. @Delete
  44. void delete(User user);
  45. }
  46.  
  47. @Database(entities = {User.class}, version = 1)
  48. public abstract class AppDatabase extends RoomDatabase {
  49. public abstract UserDao userDao();
  50. }
  51.  
  52. public class DatabaseClient {
  53.  
  54. private Context mCtx;
  55. private AppDatabase appDatabase;
  56. private static String databaseName;
  57. private static DatabaseClient mInstance;
  58.  
  59.  
  60. private DatabaseClient(Context mCtx, String dbName) {
  61. this.mCtx = mCtx;
  62.  
  63. if(databaseName == null || !databaseName.equalsIgnoreCase(dbName)) {
  64. databaseName = dbName;
  65. }
  66. appDatabase = Room.databaseBuilder(mCtx, AppDatabase.class, databaseName).build();
  67. }
  68.  
  69. public String getDatabaseName() {
  70. return databaseName;
  71. }
  72.  
  73. public static synchronized DatabaseClient getInstance(Context mCtx, String dbName) {
  74. if (mInstance == null || databaseName == null || !databaseName.equalsIgnoreCase(dbName)) {
  75. mInstance = new DatabaseClient(mCtx, dbName);
  76. }
  77. return mInstance;
  78. }
  79.  
  80. public AppDatabase getAppDatabase() {
  81. return appDatabase;
  82. }
  83. }
  84.  
  85. List<User> users = DatabaseClient.getInstance(getApplicationContext(), myDb).getAppDatabase().userDao().getAll()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement