· 8 years ago · Jul 13, 2018, 10:56 AM
1package de.mi;
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.SQLiteException;
9import android.database.sqlite.SQLiteOpenHelper;
10
11public class DBAdapter {
12
13 public static final String DATABASE_NAME = "mytododb.db";
14 public static final String DATABASE_TABLE ="todoitems";
15 public static final int DATABASE_VERSION=1;
16
17 private SQLiteDatabase db;
18 private Context context;
19
20 public static final String KEY_ID = "_id";
21 public static final String KEY_TASK = "task";
22 public static final int COLUMN_TASK = 1;
23 public static final int COLUMN_KEY = 0;
24
25 private ToDoDBOpenHelper dbHelper;
26
27 public DBAdapter(Context _context) {
28 context = _context;
29 dbHelper = new ToDoDBOpenHelper(context, DATABASE_NAME, null, DATABASE_VERSION);
30 }
31
32 public void close(){
33 db.close();
34 }
35
36 public void open() {
37
38 try {
39 db = dbHelper.getWritableDatabase();
40 } catch (SQLiteException ex) {
41 db = dbHelper.getReadableDatabase();
42 }
43 }
44
45 public long insertToDoItem(String _item ){
46 ContentValues cv = new ContentValues();
47 cv.put(KEY_TASK, _item);
48 return db.insert(DATABASE_TABLE, KEY_TASK, cv);
49 }
50
51
52
53
54 public Cursor getAllToDoItemsCursor() {
55 return db.query(DATABASE_TABLE, new String[]{KEY_ID, KEY_TASK}, null, null, null, null, null);
56 }
57
58 private static class ToDoDBOpenHelper extends SQLiteOpenHelper {
59
60 private static final String DATABASE_CREATE = "create table " +
61 DATABASE_TABLE + " (" + KEY_ID +
62 " integer primary key autoincrement, " +
63 KEY_TASK + " text not null);";
64
65 public ToDoDBOpenHelper(Context _context, String _name, CursorFactory _factory, int _version) {
66 super(_context, _name, _factory, _version);
67 }
68
69 public void onCreate(SQLiteDatabase _db){
70 _db.execSQL(DATABASE_CREATE);
71 }
72
73 public void onUpgrade(SQLiteDatabase _db, int _oldVersion, int _newVersion) {
74 _db.execSQL("DROP TABLE IF EXISTS "+ DATABASE_NAME);
75 onCreate(_db);
76 }
77
78 }
79
80}