Guest User

Untitled

a guest
Oct 21st, 2017
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.10 KB | None | 0 0
  1. package com.blogspot.dbh4ck.sqlite_demo_db;
  2.  
  3. import android.content.ContentValues;
  4. import android.content.Context;
  5. import android.database.Cursor;
  6. import android.database.DatabaseErrorHandler;
  7. import android.database.sqlite.SQLiteDatabase;
  8. import android.database.sqlite.SQLiteOpenHelper;
  9. import android.util.Log;
  10.  
  11. import java.util.ArrayList;
  12.  
  13. /**
  14. * Created by DB on 08-03-2016.
  15. */
  16.  
  17. public class DatabaseHandler extends SQLiteOpenHelper {
  18.  
  19. // Database Name
  20. private static final String DATABASE_NAME = "ContactsManagerDB";
  21.  
  22. // Database Version
  23. private static final int DATABASE_VERSION = 1;
  24.  
  25. // Table Name
  26. private static final String TABLE_CONTACTS = "contacts";
  27.  
  28. // Table Columns Name
  29. private static final String KEY_ID = "id";
  30. private static final String KEY_NAME = "name";
  31. private static final String KEY_EMAIL = "email";
  32. // private static final String KEY_IMAGE = "image";
  33.  
  34. private final ArrayList<Contact> contact_list = new ArrayList<Contact>();
  35.  
  36. public DatabaseHandler(Context context) {
  37. super(context, DATABASE_NAME, null, DATABASE_VERSION);
  38. }
  39.  
  40. public DatabaseHandler(Context context, String name, SQLiteDatabase.CursorFactory factory, int version, DatabaseErrorHandler errorHandler) {
  41. super(context, name, factory, version, errorHandler);
  42. }
  43.  
  44. @Override
  45. public void onCreate(SQLiteDatabase db) {
  46. String CREATE_CONTACTS_TABLE = "CREATE TABLE " + TABLE_CONTACTS + "("
  47. + KEY_ID + " INTEGER PRIMARY KEY," + KEY_NAME + " TEXT,"
  48. + KEY_EMAIL + " TEXT " + ")";
  49. db.execSQL(CREATE_CONTACTS_TABLE);
  50. }
  51.  
  52.  
  53. @Override
  54. public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
  55. // Drop older Table if already Exist
  56. db.execSQL("DROP TABLE IF EXISTS " + TABLE_CONTACTS);
  57.  
  58. // Create tables again
  59. onCreate(db);
  60. }
  61.  
  62.  
  63. // Adding new contact
  64. public void Add_Contact(Contact contact) {
  65. SQLiteDatabase db = this.getWritableDatabase();
  66. ContentValues values = new ContentValues();
  67. values.put(KEY_NAME, contact.getName()); // Name
  68. values.put(KEY_EMAIL, contact.getEmail()); // Email
  69.  
  70. // Inserting Row
  71. db.insert(TABLE_CONTACTS, null, values);
  72. db.close(); // Close Database Connection
  73. }
  74.  
  75.  
  76. // Getting single contact
  77. Contact Get_Contact(int id) {
  78. SQLiteDatabase db = this.getReadableDatabase();
  79.  
  80. Cursor cursor = db.query(TABLE_CONTACTS, new String[] { KEY_ID, KEY_NAME, KEY_EMAIL }, KEY_ID + "=?", new String[] { String.valueOf(id) }, null, null, null, null);
  81. if (cursor != null)
  82. cursor.moveToFirst();
  83.  
  84. Contact contact = new Contact(Integer.parseInt(cursor.getString(0)), cursor.getString(1), cursor.getString(2));
  85. // return contact
  86. cursor.close();
  87. db.close();
  88.  
  89. return contact;
  90. }
  91.  
  92.  
  93. // Getting All Contacts
  94. public ArrayList<Contact> Get_Contacts() {
  95. try {
  96. contact_list.clear();
  97.  
  98. // Select All Query
  99. String selectQuery = "SELECT * FROM " + TABLE_CONTACTS;
  100.  
  101. SQLiteDatabase db = this.getWritableDatabase();
  102. Cursor cursor = db.rawQuery(selectQuery, null);
  103.  
  104. // looping through all rows and adding to list
  105. if (cursor.moveToFirst()) {
  106. do {
  107. Contact contact = new Contact();
  108. contact.setID(Integer.parseInt(cursor.getString(0)));
  109. contact.setName(cursor.getString(1));
  110. contact.setEmail(cursor.getString(2));
  111. // contact.setImage(cursor.getBlob(3));
  112. // Adding contact to list
  113. contact_list.add(contact);
  114. } while (cursor.moveToNext());
  115. }
  116.  
  117. // return contact list
  118. cursor.close();
  119. db.close();
  120. return contact_list;
  121. } catch (Exception e) {
  122. // TODO: handle exception
  123. Log.e("all_contact", "" + e);
  124. }
  125.  
  126. return contact_list;
  127. }
  128.  
  129.  
  130. // Updating single contact
  131. public int Update_Contact(Contact contact) {
  132. SQLiteDatabase db = this.getWritableDatabase();
  133.  
  134. ContentValues values = new ContentValues();
  135. values.put(KEY_NAME, contact.getName());
  136. values.put(KEY_EMAIL, contact.getEmail());
  137. // values.put(KEY_IMAGE, contact.getImage());
  138.  
  139. // updating row
  140. return db.update(TABLE_CONTACTS, values, KEY_ID + " = ?",
  141. new String[] { String.valueOf(contact.getID()) });
  142. }
  143.  
  144.  
  145. // Deleting single contact
  146. public void Delete_Contact(int id) {
  147. SQLiteDatabase db = this.getWritableDatabase();
  148. db.delete(TABLE_CONTACTS, KEY_ID + " = ?",
  149. new String[] { String.valueOf(id) });
  150. db.close();
  151. }
  152.  
  153.  
  154. // Getting contacts Count
  155. public int Get_Total_Contacts() {
  156. String countQuery = "SELECT * FROM " + TABLE_CONTACTS;
  157. SQLiteDatabase db = this.getReadableDatabase();
  158. Cursor cursor = db.rawQuery(countQuery, null);
  159. cursor.close();
  160.  
  161. // return count
  162. return cursor.getCount();
  163. }
  164.  
  165. }
Add Comment
Please, Sign In to add comment