package com.integreight.onesheeld.utils.database; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase.CursorFactory; import android.database.sqlite.SQLiteOpenHelper; import com.integreight.onesheeld.model.PlaylistItem; import com.integreight.onesheeld.utils.Log; import java.util.ArrayList; public class MusicPlaylist { public static final String MYDATABASE_NAME = "onesheeld"; public static final String MYDATABASE_TABLE = "playlist"; public static final int MYDATABASE_VERSION = 1; public static final String KEY_ID = "_id", PATH = "path", NAME = "name"; private static final String SCRIPT_CREATE_DATABASE = "create table " + MYDATABASE_TABLE + "(" + KEY_ID + " integer primary key, " + PATH + " text, " + NAME + " text);"; private SQLiteHelper sqLiteHelper; private SQLiteDatabase sqLiteDatabase; private Context context; public MusicPlaylist(Context c) { context = c; } public MusicPlaylist openToRead() throws android.database.SQLException { sqLiteHelper = new SQLiteHelper(context, MYDATABASE_NAME, null, MYDATABASE_VERSION); sqLiteDatabase = sqLiteHelper.getReadableDatabase(); return this; } public MusicPlaylist openToWrite() throws android.database.SQLException { sqLiteHelper = new SQLiteHelper(context, MYDATABASE_NAME, null, MYDATABASE_VERSION); if (sqLiteHelper != null) sqLiteDatabase = sqLiteHelper.getWritableDatabase(); return this; } public void close() { sqLiteHelper.close(); } public long insert(PlaylistItem content) { ContentValues contentValues = new ContentValues(); contentValues.put(PATH, content.path); contentValues.put(NAME, content.name); return sqLiteDatabase.insert(MYDATABASE_TABLE, null, contentValues); } public int deleteAll() { return sqLiteDatabase.delete(MYDATABASE_TABLE, null, null); } public int delete(int id) { return sqLiteDatabase.delete(MYDATABASE_TABLE, KEY_ID + "='" + id + "'", null); } public ArrayList<PlaylistItem> getPlaylist() { ArrayList<PlaylistItem> topics = new ArrayList<PlaylistItem>(); String[] columns = new String[]{KEY_ID, PATH, NAME}; Cursor cursor = sqLiteDatabase.query(MYDATABASE_TABLE, columns, null, null, null, null, null); try { cursor.moveToFirst(); while (!cursor.isAfterLast()) { PlaylistItem topic = new PlaylistItem(); topic.id = cursor.getInt(0); topic.path = cursor.getString(1); topic.name = cursor.getString(2); topics.add(topic); cursor.moveToNext(); } } catch (Exception e) { Log.e("TAG", "Exception", e); } finally { cursor.close(); } return topics; } public class SQLiteHelper extends SQLiteOpenHelper { public SQLiteHelper(Context context, String name, CursorFactory factory, int version) { super(context, name, factory, version); } @Override public void onCreate(SQLiteDatabase db) { // TODO Auto-generated method stub db.execSQL(SCRIPT_CREATE_DATABASE); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // TODO Auto-generated method stub } } }