· 6 years ago · Aug 03, 2019, 01:10 PM
1package com.example.databaseread;
2
3import java.util.ArrayList;
4import java.util.List;
5
6import android.content.ContentValues;
7import android.content.Context;
8import android.database.Cursor;
9import android.database.sqlite.SQLiteDatabase;
10import android.database.sqlite.SQLiteOpenHelper;
11
12public class DatabaseHandler extends SQLiteOpenHelper {
13
14 private static final int DATABASE_VERSION = 1;
15
16 private static final String DATABASE_NAME = "Languages";
17
18 // table name
19 private static final String TABLE_Languages = "Languages";
20
21 // Table Columns names
22 private static final String KEY_ID = "id";
23 private static final String KEY_NAME = "name";
24
25 public DatabaseHandler(Context context) {
26 super(context, DATABASE_NAME, null, DATABASE_VERSION);
27 }
28
29 // Creating Tables
30 @Override
31 public void onCreate(SQLiteDatabase db) {
32 String CREATE_CONTACTS_TABLE;
33
34 CREATE_CONTACTS_TABLE = "create table " + TABLE_Languages + "("
35 + KEY_ID + " integer primary key autoincrement, " + KEY_NAME
36 + " text not null);";
37 db.execSQL(CREATE_CONTACTS_TABLE);
38 }
39
40 @Override
41 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
42 // Drop older table if existed
43 db.execSQL("DROP TABLE IF EXISTS " + TABLE_Languages);
44 onCreate(db);
45 }
46
47 void add(values lang) {
48 SQLiteDatabase db = this.getWritableDatabase();
49
50 ContentValues values = new ContentValues();
51 values.put(KEY_NAME, lang.getValue()); // Contact Name
52
53 // Inserting Row
54 db.insert(TABLE_Languages, null, values);
55 db.close(); // Closing database connection
56 }
57
58 // Getting single contact
59 values getContact(int id) {
60 SQLiteDatabase db = this.getReadableDatabase();
61
62 Cursor cursor = db.query(TABLE_Languages, new String[] { KEY_ID,
63 KEY_NAME }, KEY_ID + "=?", new String[] { String.valueOf(id) },
64 null, null, null, null);
65 if (cursor != null) {
66 cursor.moveToFirst();
67 }
68 values lang = new values(Integer.parseInt(cursor.getString(0)),
69 cursor.getString(1));
70
71 return lang;
72 }
73
74 // Getting All data
75 public List<values> getAllvalues() {
76 List<values> languageList = new ArrayList<values>();
77 // Select All Query
78 String selectQuery = "SELECT * FROM " + TABLE_Languages;
79
80 SQLiteDatabase db = this.getWritableDatabase();
81 Cursor cursor = db.rawQuery(selectQuery, null);
82
83 // looping through all rows and adding to list
84 if (cursor.moveToFirst()) {
85 do {
86 values lang = new values();
87 lang.setId(Integer.parseInt(cursor.getString(0)));
88 lang.setValue(cursor.getString(1));
89 languageList.add(lang);
90 } while (cursor.moveToNext());
91 }
92
93 return languageList;
94 }
95
96 // Updating single record
97 public int update(values lang) {
98 SQLiteDatabase db = this.getWritableDatabase();
99
100 ContentValues values = new ContentValues();
101 values.put(KEY_NAME, lang.getValue());
102
103 // updating row
104 return db.update(TABLE_Languages, values, KEY_ID + " = ?",
105 new String[] { String.valueOf(lang.getId()) });
106 }
107}