a6a506b0167648d04197a66350076f635345b3f8.svn-base 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. package eVVM.apk.db.netteconnectdb;
  2. import android.content.Context;
  3. import android.database.sqlite.SQLiteDatabase;
  4. import greendao.DaoMaster;
  5. import greendao.DaoSession;
  6. /**
  7. * Created by Android Studio.
  8. * User: zbb
  9. * Date: 2019/8/8
  10. * Describe: NetReConnectDbManager
  11. */
  12. public class NetReConnectDbManager {
  13. // 是否加密
  14. public static final boolean ENCRYPTED = true;
  15. private static final String DB_NAME = "netreconnect.db";
  16. private static NetReConnectDbManager mDbManager;
  17. private static DaoMaster.DevOpenHelper mDevOpenHelper;
  18. private static DaoMaster mDaoMaster;
  19. private static DaoSession mDaoSession;
  20. private Context mContext;
  21. private NetReConnectDbManager(Context context) {
  22. this.mContext = context;
  23. // 初始化数据库信息
  24. mDevOpenHelper = new DaoMaster.DevOpenHelper(context, DB_NAME);
  25. getDaoMaster(context);
  26. getDaoSession(context);
  27. }
  28. public static NetReConnectDbManager getInstance(Context context) {
  29. if (null == mDbManager) {
  30. synchronized (NetReConnectDbManager.class) {
  31. if (null == mDbManager) {
  32. mDbManager = new NetReConnectDbManager(context);
  33. }
  34. }
  35. }
  36. return mDbManager;
  37. }
  38. /**
  39. * 获取可读数据库
  40. *
  41. * @param context
  42. * @return
  43. */
  44. public static SQLiteDatabase getReadableDatabase(Context context) {
  45. if (null == mDevOpenHelper) {
  46. getInstance(context);
  47. }
  48. return mDevOpenHelper.getReadableDatabase();
  49. }
  50. /**
  51. * 获取可写数据库
  52. *
  53. * @param context
  54. * @return
  55. */
  56. public static SQLiteDatabase getWritableDatabase(Context context) {
  57. if (null == mDevOpenHelper) {
  58. getInstance(context);
  59. }
  60. return mDevOpenHelper.getWritableDatabase();
  61. }
  62. /**
  63. * 获取DaoMaster
  64. *
  65. * @param context
  66. * @return
  67. */
  68. public static DaoMaster getDaoMaster(Context context) {
  69. if (null == mDaoMaster) {
  70. synchronized (NetReConnectDbManager.class) {
  71. if (null == mDaoMaster) {
  72. mDaoMaster = new DaoMaster(getWritableDatabase(context));
  73. }
  74. }
  75. }
  76. return mDaoMaster;
  77. }
  78. /**
  79. * 获取DaoSession
  80. *
  81. * @param context
  82. * @return
  83. */
  84. public static DaoSession getDaoSession(Context context) {
  85. if (null == mDaoSession) {
  86. synchronized (NetReConnectDbManager.class) {
  87. mDaoSession = getDaoMaster(context).newSession();
  88. }
  89. }
  90. return mDaoSession;
  91. }
  92. }