· 8 years ago · Jul 07, 2018, 11:50 PM
1 package com.example.android.registrationform;
2
3import android.content.ContentValues;
4import android.content.Context;
5import android.database.Cursor;
6import android.database.sqlite.SQLiteDatabase;
7import android.database.sqlite.SQLiteOpenHelper;
8
9/**
10 * Created by EMMANUEL on 7/2/2018.
11 */
12
13public class DatabaseHandler extends SQLiteOpenHelper {
14
15 private static final int DATABASE_VERSION = 1;
16 private static final String DATABASE_NAME = "contactsManager";
17 private static final String TABLE_NAME = "users";
18 private static final String COLUMN_ID = "id";
19 private static final String COLUMN_NAME = "name";
20 private static final String COLUMN_PHONE_NUMBER = "phone_number";
21
22
23
24 public DatabaseHandler(Context context) {
25// third argument is CursorFactory instance
26 super(context,DATABASE_NAME, null, DATABASE_VERSION);
27 }
28
29// creating tables
30 @Override
31 public void onCreate(SQLiteDatabase db) {
32 String sql = "CREATE TABLE "+TABLE_NAME+"("+COLUMN_ID+" INT PRIMARY KEY,"+COLUMN_NAME+" TEXT,"+COLUMN_PHONE_NUMBER+" text"+");";
33 db.execSQL(sql);
34
35 }
36
37// upgrading database
38 @Override
39 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
40 db.execSQL("DROP TABLE IF EXISTS users");
41// create tables again
42 onCreate(db);
43
44 }
45
46// add new contact
47 public boolean saveUser(String name,String phone,int id){
48 Cursor cursor = getUser(id);
49 SQLiteDatabase db = this.getWritableDatabase();
50 ContentValues values = new ContentValues();
51 values.put("name",name);
52 values.put("phone_number",phone);
53 long result;
54 if (cursor.getCount() == 0){ //if record does not exist
55 values.put("id",id);
56 result = db.insert("users",null,values);
57 }else {
58 //if record exist
59 result = db.update("users",values,"id=?",new String[]{String.valueOf(id)});
60 }
61
62 if (result == -1){
63 return false;
64 }else {
65 return true;
66 }
67
68
69 }
70
71 public Cursor getUser(int id){
72 SQLiteDatabase db = this.getReadableDatabase();
73 String sql = "SELECT * FROM users WHERE id=?";
74 return db.rawQuery(sql,new String[]{String.valueOf(id)});
75 }
76
77 public void deleteUser(int id){
78 SQLiteDatabase database = this.getWritableDatabase();
79 database.delete("users","id=?",new String[]{String.valueOf(id)});
80 }
81
82
83}