· 8 years ago · Mar 29, 2018, 04:18 AM
1public class DatabaseHelper extends SQLiteOpenHelper {
2
3 private static final String DATABASE_NAME = "kamus.db";
4 private static final int DATABASE_VERSION = 1;
5 private static final String LOG = "DatabaseHelper";
6
7 private SQLiteDatabase database = null;
8
9 public static String CREATE_TABLE_ENGLISH = "CREATE TABLE "+DatabaseContract.TABLE_NAME_ENGLISH+
10 " ("+_ID+" integer primary key autoincrement, "+
11 WORD+" text not null, "+
12 TRANSLATE+" text not null);";
13
14 public static String CREATE_TABLE_INDONESIA = "CREATE TABLE "+DatabaseContract.TABLE_NAME_INDONESIA+
15 " ("+_ID+" integer primary key autoincrement, "+
16 KATA+" text not null, "+
17 TERJEMAHAN+" text not null);";
18
19 public DatabaseHelper(Context context) {
20 super(context, DATABASE_NAME, null, DATABASE_VERSION);
21 }
22
23 @Override
24 public void onCreate(SQLiteDatabase db) {
25 db.execSQL(CREATE_TABLE_ENGLISH);
26 db.execSQL(CREATE_TABLE_INDONESIA);
27 }
28
29 @Override
30 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
31 db.execSQL("DROP TABLE IF EXISTS "+ DatabaseContract.TABLE_NAME_ENGLISH);
32 db.execSQL("DROP TABLE IF EXISTS "+ DatabaseContract.TABLE_NAME_INDONESIA);
33 onCreate(db);
34 }
35
36
37
38 public long insertDataEnglish(String word,
39 String translate) {
40 SQLiteDatabase db = this.getWritableDatabase();
41 ContentValues contentValues = new ContentValues();
42 contentValues.put(WORD, word);
43 contentValues.put(TRANSLATE, translate);
44 long english = db.insert(TABLE_NAME_ENGLISH, null, contentValues);
45
46 db.close();
47 return english;
48 }
49
50 public long insertDataIndonesia(String kata,
51 String terjemahan) {
52 SQLiteDatabase db = this.getWritableDatabase();
53 ContentValues contentValues = new ContentValues();
54 contentValues.put(KATA, kata);
55 contentValues.put(TERJEMAHAN, terjemahan);
56 long indonesia = db.insert(TABLE_NAME_INDONESIA, null, contentValues);
57
58 db.close();
59 return indonesia;
60 }
61
62 public ArrayList getEnglishIndonesia() {
63 ArrayList listEnglishIndonesia = new ArrayList<>();
64 SQLiteDatabase db = this.getReadableDatabase();
65 String[] columnName = {_ID,
66 WORD,
67 TRANSLATE};
68 Cursor cursor = db.query(DatabaseContract.TABLE_NAME_ENGLISH,
69 columnName, null, null, null, null, null);
70 if (cursor != null) {
71 while (cursor.moveToNext()) {
72 int id = cursor.getInt(cursor.getColumnIndexOrThrow(_ID));
73 String word = cursor.getString(cursor.getColumnIndexOrThrow(WORD));
74 String translate = cursor.getString(cursor.getColumnIndexOrThrow(TRANSLATE));
75
76 EnglishIndonesiaModel kamusEngInd = new EnglishIndonesiaModel(String.valueOf(id),
77 word,
78 translate);
79
80 listEnglishIndonesia.add(kamusEngInd);
81 }
82 }
83
84 db.close();
85 return listEnglishIndonesia;
86 }
87
88 public ArrayList getIndonesiaEnglish() {
89 ArrayList listIndonesiaEnglish = new ArrayList<>();
90 SQLiteDatabase db = this.getReadableDatabase();
91 String[] columnName = {_ID,
92 KATA,
93 TERJEMAHAN};
94 Cursor cursor = db.query(DatabaseContract.TABLE_NAME_INDONESIA,
95 columnName, null, null, null, null, null);
96 if (cursor != null) {
97 while (cursor.moveToNext()) {
98 int id = cursor.getInt(cursor.getColumnIndexOrThrow(_ID));
99 String kata = cursor.getString(cursor.getColumnIndexOrThrow(WORD));
100 String terjemahan = cursor.getString(cursor.getColumnIndexOrThrow(TRANSLATE));
101
102 IndonesiaEnglishModel kamusIndEng = new IndonesiaEnglishModel(String.valueOf(id),
103 kata,
104 terjemahan);
105
106 listIndonesiaEnglish.add(kamusIndEng);
107 }
108 }
109
110 db.close();
111 return listIndonesiaEnglish;
112 }
113
114 public void beginTransaction() {
115 SQLiteDatabase database = this.getWritableDatabase();
116 database.beginTransaction();
117 }
118
119 public void setTransactionSucessfull() {
120 database.setTransactionSuccessful();
121 }
122
123 public void endTransaction() {
124 // Hapus kode ini
125 // SQLiteDatabase database = this.getWritableDatabase();
126 database.endTransaction();
127
128 // Tambahkan kode untuk close database
129 database.close();
130 }
131
132 public void insertTransactionEnglish(EnglishIndonesiaModel englishIndonesiaModel) {
133 String sql = "INSERT INTO "+DatabaseContract.TABLE_NAME_ENGLISH+" ("+WORD+", "+TRANSLATE+
134 ") VALUES (?, ?)";
135 SQLiteStatement stmt = database.compileStatement(sql);
136 stmt.bindString(1, englishIndonesiaModel.getWord());
137 stmt.bindString(2, englishIndonesiaModel.getTranslate());
138 stmt.execute();
139 stmt.clearBindings();
140 }
141
142 public void insertTransactionIndonesia(IndonesiaEnglishModel indonesiaEnglishModel) {
143 String sql = "INSERT INTO "+DatabaseContract.TABLE_NAME_INDONESIA+" ("+KATA+", "+TERJEMAHAN+
144 ") VALUES (?, ?)";
145 SQLiteStatement stmt = database.compileStatement(sql);
146 stmt.bindString(1, indonesiaEnglishModel.getKata());
147 stmt.bindString(2, indonesiaEnglishModel.getTerjemahan());
148 stmt.execute();
149 stmt.clearBindings();
150 }
151
152 public int updateEnglish(EnglishIndonesiaModel englishIndonesiaModel) {
153 ContentValues args = new ContentValues();
154 args.put(WORD, englishIndonesiaModel.getWord());
155 args.put(TRANSLATE, englishIndonesiaModel.getTranslate());
156 return database.update(TABLE_NAME_ENGLISH, args, _ID+"= '"+englishIndonesiaModel.getId()+"'"
157 , null);
158 }
159
160 public int updateIndonesia(IndonesiaEnglishModel indonesiaEnglishModel) {
161 ContentValues args = new ContentValues();
162 args.put(KATA, indonesiaEnglishModel.getKata());
163 args.put(TERJEMAHAN, indonesiaEnglishModel.getTerjemahan());
164 return database.update(TABLE_NAME_INDONESIA, args, _ID+"= '"+indonesiaEnglishModel.getId()+"'"
165 , null);
166 }
167
168 public int deleteEnglish(int id) {
169 return database.delete(TABLE_NAME_ENGLISH, _ID+" = '"+id+"'", null);
170 }
171
172 public int deleteIndonesia(int id) {
173 return database.delete(TABLE_NAME_INDONESIA, _ID+" = '"+id+"'", null);
174 }
175
176}