· 7 years ago · Sep 23, 2018, 03:02 PM
1package com.call;
2
3import android.content.ContentValues;
4import android.content.Context;
5import android.database.Cursor;
6import android.database.sqlite.SQLiteDatabase;
7import android.database.sqlite.SQLiteDatabase.CursorFactory;
8import android.database.sqlite.SQLiteOpenHelper;
9import android.util.Log;
10
11import com.varma.samples.detectcalls.R;
12
13public class DatabasHandler extends SQLiteOpenHelper{
14
15 // All Static variables
16 // Database Version
17 private static final int DATABASE_VERSION = 1;
18
19 // Database Name
20 private static final String DATABASE_NAME = "mydatabase.db";
21
22 // Contacts table name
23 private static final String TABLE_CONTACTS = "connection";
24
25 // Contacts Table Columns names
26 /** The Constant CONTACT_ROWID. */
27 public static final String CONTACT_ROWID = "_id";
28
29 /** The Constant INCOMING_CALL. */
30 public static final String INCOMING_CALL = "incoming";
31
32 /** The Constant OUTCOMING_CALL. */
33 public static final String OUTCOMING_CALL = "outgoing";
34
35 /** The Constant MISSED_CALL. */
36 public static final String MISSED_CALL = "missedcall";
37
38 /** The Constant PHONE_NUMBERS. */
39 public static final String PHONE_NUMBERS = "numbers";
40 /** The Constant COUNTER. */
41 public static final String COUNTER="COUNTER";
42
43 public DatabasHandler(Context context) {
44 super(context, DATABASE_NAME, null, DATABASE_VERSION);
45 // TODO Auto-generated constructor stub
46 }
47
48 @Override
49 public void onCreate(SQLiteDatabase db) {
50 /** Database creation sql statement. */
51 String CREATE_CONTACT_TABLE_SQL = "CREATE TABLE "+ TABLE_CONTACTS +" (" + CONTACT_ROWID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
52 INCOMING_CALL + " NUMBER , " +
53 OUTCOMING_CALL + " NUMBER , " +
54 MISSED_CALL + " NUMBER ," +
55 PHONE_NUMBERS + " NUMBER NOT NULL,"+
56 COUNTER + " INTEGER)";
57 db.execSQL(CREATE_CONTACT_TABLE_SQL);
58
59
60 }
61
62 @Override
63 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
64 db.execSQL("DROP TABLE IF EXISTS " + TABLE_CONTACTS);
65
66 // Create tables again
67 onCreate(db);
68 }
69
70
71 public void insertSingleRecord(int outgoing,int phonenumber){
72 SQLiteDatabase db =this.getWritableDatabase();
73 ContentValues cv= new ContentValues();
74 cv.put(OUTCOMING_CALL, outgoing);
75 cv.put(PHONE_NUMBERS, phonenumber);
76 cv.put(INCOMING_CALL, 0);
77 cv.put(MISSED_CALL, 0);
78 cv.put(COUNTER, 0);
79
80 db.insert(TABLE_CONTACTS, null, cv);
81 Log.i("INSERT SINGLE RECORD", "ADDED");
82 db.close();
83
84 }
85
86 public void DeleteAllRecord(){
87 SQLiteDatabase db =this.getWritableDatabase();
88 db.delete(TABLE_CONTACTS, null,null);
89 }
90 // Getting single contact
91 public Cursor getNumber(int phone) {
92
93 SQLiteDatabase db = this.getReadableDatabase();
94 return db.query(TABLE_CONTACTS,null,null,null,null,null,null);
95
96 }
97 //updating Record
98 public int updateCounter(int num,String number){
99 SQLiteDatabase db = this.getReadableDatabase();
100 ContentValues cv =new ContentValues();
101 cv.put(OUTCOMING_CALL, num+1);
102 return db.update(TABLE_CONTACTS, cv, PHONE_NUMBERS+" = '"+number+"'", null);
103
104
105 }
106
107 public Cursor getCounter(String number) {
108 SQLiteDatabase db =this.getReadableDatabase();
109 return db.query(TABLE_CONTACTS, null, PHONE_NUMBERS+" = '"+number+"'",null, null, null, null, null);
110
111 }
112}