· 7 years ago · Dec 26, 2018, 07:32 AM
1public class DBHelper extends SQLiteOpenHelper {
2// Database Name
3private static final String DATABASE_NAME = "CMDB.db";
4private static final int DATABASE_VERSION = 2;
5// Contacts table name
6private static final String TABLE_USER = "User";
7public static DBHelper dbHelper;
8
9
10public DBHelper(Context context) {
11 super(context, DATABASE_NAME, null, DATABASE_VERSION);
12}
13
14public static DBHelper getInstance(Context context) {
15 if (dbHelper == null) {
16 dbHelper = new DBHelper(context.getApplicationContext());
17 }
18 return dbHelper;
19}
20
21@Override
22public void onCreate(SQLiteDatabase sqLiteDatabase) {
23 createTables(sqLiteDatabase);
24 Toast.makeText(App.context,"onCreate",Toast.LENGTH_SHORT).show();
25
26
27
28}
29
30private void createTables(SQLiteDatabase sqLiteDatabase) {
31 try {
32 sqLiteDatabase.execSQL(" CREATE TABLE " + TABLE_USER + " (" +
33 "userId" + " TEXT PRIMARY KEY," + "userImage" + " TEXT NOT NULL," +
34 "userRole" + " TEXT NOT NULL," + "token" + " TEXT NOT NULL," + "userName" + " TEXT NOT NULL," + "userEmail" + " TEXT NOT NULL," + "userAddress" + " TEXT NOT NULL," + "mobile" + " TEXT NOT NULL);"
35 );
36 Toast.makeText(App.context,"createTables",Toast.LENGTH_SHORT).show();
37 }catch (Exception ex){
38 Toast.makeText(App.context,ex.getMessage(),Toast.LENGTH_SHORT).show();
39
40 ex.printStackTrace();
41 }
42
43}
44
45@Override
46public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
47
48 dropTables(sqLiteDatabase);
49
50 // Create tables again
51 onCreate(sqLiteDatabase);
52}
53
54private void dropTables(SQLiteDatabase sqLiteDatabase) {
55 sqLiteDatabase.execSQL("DROP TABLE IF EXISTS " + TABLE_USER);
56
57}
58
59public void saveUserToDB(User user) {
60 try {
61 SQLiteDatabase db = this.getWritableDatabase();
62
63 ContentValues values = new ContentValues();
64 values.put("userId", user.userID);
65 values.put("userImage", user.userImage);
66 values.put("userRole", user.userRole);
67 values.put("token", user.token);
68 values.put("UserName", user.UserName);
69 values.put("userEmail", user.userEmail);
70 values.put("userAddress", user.userAddress);
71 values.put("mobile", user.mobile);
72
73 db.insert(TABLE_USER, null, values);
74 } catch (Exception ex) {
75 ex.printStackTrace();
76 }
77}
78
79public User getUserFromDB(String userid) {
80 User user = new User();
81 try {
82 SQLiteDatabase db = this.getReadableDatabase();
83 String query = "Select * from " + TABLE_USER + " where userId=" +userid+ "";
84
85 Cursor cursor = db.rawQuery(query, null);
86 if (cursor != null) {
87 cursor.moveToFirst();
88
89 user.userID = cursor.getString(0);
90 user.userImage = cursor.getString(1);
91 user.userRole = cursor.getString(2);
92 user.token = cursor.getString(3);
93 user.UserName = cursor.getString(4);
94 user.userEmail = cursor.getString(5);
95 user.userAddress = cursor.getString(6);
96 user.mobile = cursor.getString(7);
97 }
98 } catch (Exception ex) {
99 ex.printStackTrace();
100 }
101 return user;
102
103}
104
105public void updateUser(User user, String userId) {
106 SQLiteDatabase db = this.getWritableDatabase();
107 ContentValues contentValues = new ContentValues();
108 Gson gson = new Gson();
109 String userJson = gson.toJson(user);
110 contentValues.put("user", userJson);
111 db.update(TABLE_USER, contentValues, "userId=" + userId, null);
112}
113
114public void updateUser(User user) {
115 SQLiteDatabase db = this.getWritableDatabase();
116 ContentValues cv = new ContentValues();
117 cv.put("userId", user.userID);
118 cv.put("userImage", user.userImage);
119 cv.put("userRole", user.userRole);
120 cv.put("token", user.token);
121 cv.put("UserName", user.UserName);
122
123 cv.put("userEmail", user.userEmail);
124 cv.put("userAddress", user.userAddress);
125 cv.put("mobile", user.mobile);
126
127 db.update(TABLE_USER, cv, "userId=" + user.userID, null);
128}}