· 9 years ago · Nov 20, 2016, 05:26 AM
1protected void onCreate(Bundle savedInstanceState) {
2 super.onCreate(savedInstanceState);
3 setContentView(R.layout.activity_main);
4
5 SQLiteDatabase myDB= null;
6 String TableName = "myTable";
7
8 String Data="";
9
10
11 try {
12 myDB = this.openOrCreateDatabase("SimpleExpense", MODE_PRIVATE, null);
13
14
15 myDB.execSQL("CREATE TABLE IF NOT EXISTS "
16 +"accounts"
17 + " (accountNo VARCHAR, bankName VARCHAR,accountHolderName VARCHAR,initialBalance REAL;)");
18
19 myDB.execSQL("CREATE TABLE IF NOT EXISTS "
20 +"transactions"
21 + " (date DATE,accountNo VARCHAR,expenseType VARCHAR, amount REAL");
22 }
23 catch(Exception e) {
24 Log.e("Error", "Error", e);
25
26// All Static variables
27// Database Version
28private static final int DATABASE_VERSION = 1;
29
30// Database Name
31private static final String DATABASE_NAME = "contactsManager";
32
33// Contacts table name
34private static final String TABLE_CONTACTS = "contacts";
35
36// Contacts Table Columns names
37private static final String KEY_ID = "id";
38private static final String KEY_NAME = "name";
39private static final String KEY_PH_NO = "phone_number";
40
41public DatabaseHandler(Context context) {
42 super(context, DATABASE_NAME, null, DATABASE_VERSION);
43}
44
45// Creating Tables
46@Override
47public void onCreate(SQLiteDatabase db) {
48 String CREATE_CONTACTS_TABLE = "CREATE TABLE " + TABLE_CONTACTS + "("
49 + KEY_ID + " INTEGER PRIMARY KEY," + KEY_NAME + " TEXT,"
50 + KEY_PH_NO + " TEXT" + ")";
51 db.execSQL(CREATE_CONTACTS_TABLE);
52}
53
54// Upgrading database
55@Override
56public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
57 // Drop older table if existed
58 db.execSQL("DROP TABLE IF EXISTS " + TABLE_CONTACTS);
59
60 // Create tables again
61 onCreate(db);
62}
63
64/**
65 * All CRUD(Create, Read, Update, Delete) Operations
66 */
67
68// Adding new contact
69void addContact(Contact contact) {
70 SQLiteDatabase db = this.getWritableDatabase();
71
72 ContentValues values = new ContentValues();
73 values.put(KEY_NAME, contact.getName()); // Contact Name
74 values.put(KEY_PH_NO, contact.getPhoneNumber()); // Contact Phone
75
76 // Inserting Row
77 db.insert(TABLE_CONTACTS, null, values);
78 db.close(); // Closing database connection
79}
80
81// Getting single contact
82Contact getContact(int id) {
83 SQLiteDatabase db = this.getReadableDatabase();
84
85 Cursor cursor = db.query(TABLE_CONTACTS, new String[] { KEY_ID,
86 KEY_NAME, KEY_PH_NO }, KEY_ID + "=?",
87 new String[] { String.valueOf(id) }, null, null, null, null);
88 if (cursor != null)
89 cursor.moveToFirst();
90
91 Contact contact = new Contact(Integer.parseInt(cursor.getString(0)),
92 cursor.getString(1), cursor.getString(2));
93 // return contact
94 return contact;
95}
96
97// Getting All Contacts
98public List<Contact> getAllContacts() {
99 List<Contact> contactList = new ArrayList<Contact>();
100 // Select All Query
101 String selectQuery = "SELECT * FROM " + TABLE_CONTACTS;
102
103 SQLiteDatabase db = this.getWritableDatabase();
104 Cursor cursor = db.rawQuery(selectQuery, null);
105
106 // looping through all rows and adding to list
107 if (cursor.moveToFirst()) {
108 do {
109 Contact contact = new Contact();
110 contact.setID(Integer.parseInt(cursor.getString(0)));
111 contact.setName(cursor.getString(1));
112 contact.setPhoneNumber(cursor.getString(2));
113 // Adding contact to list
114 contactList.add(contact);
115 } while (cursor.moveToNext());
116 }
117
118 // return contact list
119 return contactList;
120}
121
122// Updating single contact
123public int updateContact(Contact contact) {
124 SQLiteDatabase db = this.getWritableDatabase();
125
126 ContentValues values = new ContentValues();
127 values.put(KEY_NAME, contact.getName());
128 values.put(KEY_PH_NO, contact.getPhoneNumber());
129
130 // updating row
131 return db.update(TABLE_CONTACTS, values, KEY_ID + " = ?",
132 new String[] { String.valueOf(contact.getID()) });
133}
134
135// Deleting single contact
136public void deleteContact(Contact contact) {
137 SQLiteDatabase db = this.getWritableDatabase();
138 db.delete(TABLE_CONTACTS, KEY_ID + " = ?",
139 new String[] { String.valueOf(contact.getID()) });
140 db.close();
141}
142
143
144// Getting contacts Count
145public int getContactsCount() {
146 String countQuery = "SELECT * FROM " + TABLE_CONTACTS;
147 SQLiteDatabase db = this.getReadableDatabase();
148 Cursor cursor = db.rawQuery(countQuery, null);
149 cursor.close();
150
151 // return count
152 return cursor.getCount();
153}
154
155/**
156 * CRUD Operations
157 * */
158 // Inserting Contacts
159 Log.d("Insert: ", "Inserting ..");
160 db.addContact(new Contact("Ravi", "9100000000"));
161 db.addContact(new Contact("Srinivas", "9199999999"));
162 db.addContact(new Contact("Tommy", "9522222222"));
163 db.addContact(new Contact("Karthik", "9533333333"));
164
165 // Reading all contacts
166 Log.d("Reading: ", "Reading all contacts..");
167 List<Contact> contacts = db.getAllContacts();