· 8 years ago · Apr 17, 2018, 12:44 PM
1package com.example.s0262474.inventorylogs;
2
3import android.content.ContentValues;
4import android.content.Context;
5import android.database.Cursor;
6import android.database.SQLException;
7import android.database.sqlite.SQLiteDatabase;
8import android.database.sqlite.SQLiteOpenHelper;
9import android.util.Log;
10
11public class DBAdapter {
12 static final String KEY_ROWID = "_id";
13 static final String KEY_NAME = "userName";
14 static final String KEY_TIME = "time";
15 static final String KEY_REFNUM = "refNumber";
16 static final String KEY_QUAL = "quality";
17 static final String TAG = "DBAdapter";
18 static final String DATABASE_NAME = "logsDB";
19 static final String DATABASE_TABLE = "data";
20 static final int DATABASE_VERSION = 3;
21 static final String DATABASE_CREATE = "CREATE TABLE data (_id integer primary key autoincriment, " + "user text not null, time text not null, refNumber text not null, quality text not null);";
22 final Context context;
23 DatabaseHelper DBHelper;
24 SQLiteDatabase db;
25
26 public DBAdapter(Context ctx){
27 this.context = ctx;
28 DBHelper = new DatabaseHelper(context);
29 }
30 private static class DatabaseHelper extends SQLiteOpenHelper{
31 DatabaseHelper(Context context){
32 super(context, DATABASE_NAME, null, DATABASE_VERSION);
33 }
34 @Override
35 public void onCreate(SQLiteDatabase db){
36 try {
37 db.execSQL(DATABASE_CREATE);
38 }
39 catch(SQLException e){
40 e.printStackTrace();
41 }
42
43 }
44 @Override
45 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion){
46 Log.w(TAG, "Upgrading database from version " + oldVersion + " to " + newVersion + ", which will destroy all old data");
47 db.execSQL("DROP TABLE IF EXISTS data");
48 onCreate(db);
49 }
50 }
51 public DBAdapter open() throws SQLException{
52 db = DBHelper.getWritableDatabase();
53 return this;
54 }
55 public void close(){
56 DBHelper.close();
57 }
58 public long insertEntry(String userName, String time, String refNumber, String quality){
59 ContentValues initialValues = new ContentValues();
60 initialValues.put(KEY_NAME, userName);
61 initialValues.put(KEY_TIME, time);
62 initialValues.put(KEY_REFNUM, refNumber);
63 initialValues.put(KEY_QUAL, quality);
64 return db.insert(DATABASE_TABLE, null, initialValues);
65 }
66 public boolean deleteData(long rowId){
67 return db.delete(DATABASE_TABLE, KEY_ROWID + "=" + rowId, null) > 0;
68 }
69 public Cursor getAllEntries(){
70 return db.query(DATABASE_TABLE, new String[] {KEY_ROWID, KEY_NAME, KEY_TIME, KEY_REFNUM, KEY_QUAL}, null, null, null, null, null);
71 }
72 public Cursor getSpecEntry(long rowId) throws SQLException{
73 Cursor mCursor = db.query(true, DATABASE_TABLE, new String[] {KEY_ROWID, KEY_NAME, KEY_TIME, KEY_REFNUM, KEY_QUAL},
74 KEY_ROWID + "=" + rowId, null, null, null, null, null);
75 if(mCursor != null){
76 mCursor.moveToFirst();
77 }
78 return mCursor;
79 }
80 public boolean updateEntry(long rowId, String userName, String time, String refNumber, String quality){
81 ContentValues args = new ContentValues();
82 args.put(KEY_NAME, userName);
83 args.put(KEY_TIME, time);
84 args.put(KEY_REFNUM, refNumber);
85 args.put(KEY_QUAL, quality);
86 return db.update(DATABASE_TABLE, args, KEY_ROWID + "=" + rowId, null) > 0;
87 }
88}