-
Notifications
You must be signed in to change notification settings - Fork 75
/
LocalDB.java
74 lines (68 loc) · 3.03 KB
/
LocalDB.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
package com.weaverprojects.localstorageapp.Controller;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.DatabaseUtils;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import java.util.ArrayList;
/**
* Created by Keith on 2015-09-25.
*/
public class LocalDB extends SQLiteOpenHelper {
public LocalDB(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
super(context, name, factory, version);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE " + C.myTable.TABLE_NAME +
"(" +
C.myTable.columns.KEY + " integer primary key, " +
C.myTable.columns.FIRST_NAME + " text, " +
C.myTable.columns.LAST_NAME + " text, " +
C.myTable.columns.POSITION + " text)");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS " + C.myTable.TABLE_NAME);
onCreate(db);
}
public void insertRow(String firstName, String lastName, String position){
SQLiteDatabase db = this.getWritableDatabase();
ContentValues tableRow =new ContentValues();
tableRow.put(C.myTable.columns.FIRST_NAME, firstName);
tableRow.put(C.myTable.columns.LAST_NAME, lastName);
tableRow.put(C.myTable.columns.POSITION, position);
db.insert(C.myTable.TABLE_NAME, null, tableRow);
}
public int numberOfRows(){
SQLiteDatabase db = this.getReadableDatabase();
int numberOfRows = (int) DatabaseUtils.queryNumEntries(db, C.myTable.TABLE_NAME);
return numberOfRows;
}
public ArrayList<String> getAllFullNames(){
ArrayList<String> listOfNames = new ArrayList<>();
SQLiteDatabase db = this.getReadableDatabase();
Cursor res = db.rawQuery("SELECT * FROM " + C.myTable.TABLE_NAME, null);
res.moveToFirst();
while(res.isAfterLast() == false){
listOfNames.add(
res.getString(res.getColumnIndex(C.myTable.columns.FIRST_NAME)) + " " +
res.getString(res.getColumnIndex(C.myTable.columns.LAST_NAME)));
res.moveToNext();
}
return listOfNames;
}
public void updateRow(Integer id, String firstName, String lastName, String position){
SQLiteDatabase db = this.getWritableDatabase();
ContentValues updateRow = new ContentValues();
updateRow.put(C.myTable.columns.FIRST_NAME, firstName);
updateRow.put(C.myTable.columns.LAST_NAME, lastName);
updateRow.put(C.myTable.columns.POSITION, position);
db.update(C.myTable.TABLE_NAME, updateRow,"id = ?", new String[]{Integer.toString(id)});
}
public void deleteRow(Integer id){
SQLiteDatabase db = this.getWritableDatabase();
db.delete(C.myTable.TABLE_NAME, "id = ?", new String[]{Integer.toString(id)});
}
}