c47bd439f07c2bafdb9e56a7d1a023a6358bd7df
[pub/Android/ownCloud.git] / src / eu / alefzero / owncloud / DbHandler.java
1 package eu.alefzero.owncloud;
2
3 import java.util.Vector;
4
5 import android.content.ContentValues;
6 import android.content.Context;
7 import android.database.Cursor;
8 import android.database.sqlite.SQLiteDatabase;
9 import android.database.sqlite.SQLiteOpenHelper;
10 import android.util.Log;
11
12 public class DbHandler {
13 private SQLiteDatabase mDB;
14 private OpenerHepler mHelper;
15 private final String mDatabaseName = "ownCloud";
16 private final String TABLE_SESSIONS = "sessions";
17 private final int mDatabaseVersion = 1;
18
19 public DbHandler(Context context) {
20 mHelper = new OpenerHepler(context);
21 mDB = mHelper.getWritableDatabase();
22 }
23
24 public Vector<OwnCloudSession> getSessionList() {
25 Cursor c = mDB.query(TABLE_SESSIONS, null, null, null, null, null, null);
26 Vector<OwnCloudSession> v = new Vector<OwnCloudSession>();
27 if (!c.moveToFirst()) {
28 return v;
29 }
30 while (!c.isAfterLast()) {
31 v.add(new OwnCloudSession(c.getString(c.getColumnIndex("sessionName")),
32 c.getString(c.getColumnIndex("sessionUrl")),
33 c.getInt(c.getColumnIndex("_id"))));
34 c.moveToNext();
35 }
36 c.close();
37 return v;
38 }
39
40 public void addSession(String sessionName, String uri) {
41 ContentValues cv = new ContentValues();
42 cv.put("sessionName", sessionName);
43 cv.put("sessionUrl", uri);
44 mDB.insert(TABLE_SESSIONS, null, cv);
45 }
46
47 public void removeSessionWithId(int sessionId) {
48 mDB.delete(TABLE_SESSIONS, "_id = ?", new String[] {String.valueOf(sessionId)});
49 }
50
51 public void changeSessionFields(int id, String hostname, String uri) {
52 ContentValues cv = new ContentValues();
53 cv.put("sessionName", hostname);
54 cv.put("sessionUrl", uri);
55 mDB.update(TABLE_SESSIONS, cv, "_id = ?", new String[] {String.valueOf(id)});
56 }
57
58 public void close() {
59 mDB.close();
60 }
61
62 private class OpenerHepler extends SQLiteOpenHelper {
63 public OpenerHepler(Context context) {
64 super(context, mDatabaseName, null, mDatabaseVersion);
65 }
66
67 @Override
68 public void onCreate(SQLiteDatabase db) {
69 db.execSQL("CREATE TABLE " + TABLE_SESSIONS + " (" +
70 " _id INTEGER PRIMARY KEY, " +
71 " sessionName TEXT, " +
72 " sessionUrl TEXT);");
73 }
74
75 @Override
76 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
77 }
78 }
79 }