diff options
Diffstat (limited to 'src/ryuslash/org/dvdroid/DVDDataSource.java')
-rw-r--r-- | src/ryuslash/org/dvdroid/DVDDataSource.java | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/src/ryuslash/org/dvdroid/DVDDataSource.java b/src/ryuslash/org/dvdroid/DVDDataSource.java new file mode 100644 index 0000000..428ecc4 --- /dev/null +++ b/src/ryuslash/org/dvdroid/DVDDataSource.java @@ -0,0 +1,97 @@ +package ryuslash.org.dvdroid; + +import java.util.ArrayList; +import java.util.List; + +import android.content.ContentValues; +import android.content.Context; +import android.database.Cursor; +import android.database.SQLException; +import android.database.sqlite.SQLiteDatabase; + +public class DVDDataSource +{ + private SQLiteDatabase database; + private SQLiteHelper dbHelper; + private String[] allColumns = { SQLiteHelper.COLUMN_ID, + SQLiteHelper.COLUMN_TITLE, + SQLiteHelper.COLUMN_WATCHED, + SQLiteHelper.COLUMN_WISHLIST }; + + public DVDDataSource(Context context) + { + dbHelper = new SQLiteHelper(context); + } + + public void open() throws SQLException + { + database = dbHelper.getWritableDatabase(); + } + + public void close() + { + dbHelper.close(); + } + + public DVD createDVD(String title) + { + ContentValues values = new ContentValues(); + + values.put(SQLiteHelper.COLUMN_TITLE, title); + values.put(SQLiteHelper.COLUMN_WATCHED, 0); + values.put(SQLiteHelper.COLUMN_WISHLIST, 1); + + long insertId = database.insert(SQLiteHelper.TABLE_DVD, null, + values); + Cursor cursor = database.query(SQLiteHelper.TABLE_DVD, + allColumns, + SQLiteHelper.COLUMN_ID + " = " + + insertId, null, null, null, + null); + cursor.moveToFirst(); + + DVD newDVD = cursorToDVD(cursor); + + cursor.close(); + + return newDVD; + } + + public void deleteDVD(DVD dvd) + { + long id = dvd.getId(); + System.out.println("DVD deleted with id: " + id); + database.delete(SQLiteHelper.TABLE_DVD, + SQLiteHelper.COLUMN_ID + " = " + id, null); + } + + public List<DVD> getWishlist() + { + List<DVD> dvds = new ArrayList<DVD>(); + Cursor cursor = database.query(SQLiteHelper.TABLE_DVD, + allColumns, "wishlist = 1", null, + null, null, "title"); + + cursor.moveToFirst(); + while(!cursor.isAfterLast()) { + DVD dvd = cursorToDVD(cursor); + dvds.add(dvd); + cursor.moveToNext(); + } + + cursor.close(); + return dvds; + } + + private DVD cursorToDVD(Cursor cursor) + { + DVD dvd = new DVD(); + + dvd.setId(cursor.getLong(0)); + dvd.setTitle(cursor.getString(1)); + dvd.setWatched(cursor.getInt(2)); + dvd.setWishlist(cursor.getInt(3)); + + return dvd; + } +} |