Home | History | Annotate | Download | only in fmrxapp
      1 /*
      2  *
      3  * Copyright 2001-2011 Texas Instruments, Inc. - http://www.ti.com/
      4  *
      5  * Licensed under the Apache License, Version 2.0 (the "License");
      6  * you may not use this file except in compliance with the License.
      7  * You may obtain a copy of the License at
      8  *
      9  *    http://www.apache.org/licenses/LICENSE-2.0
     10  *
     11  * Unless required by applicable law or agreed to in writing, software
     12  * distributed under the License is distributed on an "AS IS" BASIS,
     13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     14  * See the License for the specific language governing permissions and
     15  * limitations under the License.
     16  */
     17 
     18 package com.ti.fmrxapp;
     19 
     20 
     21 import java.util.HashMap;
     22 
     23 import android.content.ContentValues;
     24 import android.content.Context;
     25 import android.database.Cursor;
     26 import android.database.SQLException;
     27 import android.database.sqlite.SQLiteDatabase;
     28 import android.database.sqlite.SQLiteOpenHelper;
     29 import android.util.Log;
     30 
     31 public class DBAdapter
     32 {
     33     public static final String KEY_ROWID = "_id";
     34     public static final String ITEM_KEY = "id";
     35     public static final String ITEM_VALUE = "channel";
     36     public static final String ITEM_NAME = "name";
     37     private static final String TAG = "DBAdapter";
     38     private static final String DATABASE_NAME = "presets.db";
     39     private static final String DATABASE_TABLE = "presets";
     40     private static final int DATABASE_VERSION = 1;
     41 
     42     private static final String DATABASE_CREATE =
     43        "create table presets (_id integer primary key autoincrement, "
     44        + "id text not null, channel text not null, "
     45        + "name text not null);";
     46 
     47     private final Context context;
     48 
     49     private DatabaseHelper DBHelper;
     50     private SQLiteDatabase db;
     51 
     52     public DBAdapter(Context ctx)
     53     {
     54        this.context = ctx;
     55        DBHelper = new DatabaseHelper(context);
     56         Log.d(TAG," DBAdapter const");
     57     }
     58 
     59     private static class DatabaseHelper extends SQLiteOpenHelper
     60     {
     61        DatabaseHelper(Context context)
     62        {
     63 
     64           super(context, DATABASE_NAME, null, DATABASE_VERSION);
     65            Log.d(TAG," DatabaseHelper con");
     66        }
     67 
     68        @Override
     69        public void onCreate(SQLiteDatabase db)
     70        {
     71            Log.d(TAG," DatabaseHelper onCreate");
     72           db.execSQL(DATABASE_CREATE);
     73        }
     74 
     75        @Override
     76        public void onUpgrade(SQLiteDatabase db, int oldVersion,
     77        int newVersion)
     78        {
     79           Log.w(TAG, "Upgrading database from version " + oldVersion
     80                 + " to "
     81                 + newVersion + ", which will destroy all old data");
     82           db.execSQL("DROP TABLE IF EXISTS presets");
     83           onCreate(db);
     84        }
     85     }
     86 
     87     //---opens the database---
     88     public DBAdapter open() throws SQLException
     89     {
     90        db = DBHelper.getWritableDatabase();
     91         Log.d(TAG," DatabaseHelper open");
     92        return this;
     93     }
     94 
     95     //---closes the database---
     96     public void close()
     97     {
     98        DBHelper.close();
     99         Log.d(TAG," DatabaseHelper close");
    100     }
    101 
    102     //---insert a station into the database---
    103     public long insertStation(String itemkey, String itemValue, String itemName)
    104     {
    105 
    106         Log.d(TAG," DatabaseHelper insertStation");
    107        ContentValues initialValues = new ContentValues();
    108        initialValues.put(ITEM_KEY, itemkey);
    109        initialValues.put(ITEM_VALUE, itemValue);
    110        initialValues.put(ITEM_NAME, itemName);
    111        return db.insert(DATABASE_TABLE, null, initialValues);
    112     }
    113 
    114     //---deletes a particular station---
    115     public boolean deleteStation(long rowId)
    116     {
    117         Log.d(TAG," DatabaseHelper deleteStation");
    118        return db.delete(DATABASE_TABLE, KEY_ROWID +
    119                "=" + rowId, null) > 0;
    120     }
    121 
    122     //---retrieves all the Stations---
    123     public Cursor getAllStations()
    124     {
    125         Log.d(TAG," DatabaseHelper getAllStations");
    126        return db.query(DATABASE_TABLE, new String[] {
    127                KEY_ROWID,
    128                ITEM_KEY,
    129                ITEM_VALUE,
    130                ITEM_NAME},
    131              null,
    132              null,
    133              null,
    134              null,
    135              null);
    136     }
    137 
    138     //---retrieves a particular station---
    139     public Cursor getStation(long rowId) throws SQLException
    140     {
    141 
    142         Log.d(TAG," DatabaseHelper getStation");
    143        Cursor mCursor =
    144              db.query(true, DATABASE_TABLE, new String[] {
    145                      KEY_ROWID,
    146                      ITEM_KEY,
    147                      ITEM_VALUE,
    148                      ITEM_NAME},
    149                      KEY_ROWID + "=" + rowId,
    150                      null,
    151                      null,
    152                      null,
    153                      null,
    154                      null);
    155        if (mCursor != null) {
    156           mCursor.moveToFirst();
    157        }
    158        return mCursor;
    159     }
    160 
    161     //---updates a station---
    162     public boolean updateStation(int index, String itemKey,
    163     String itemValue, String itemName)
    164     {
    165         Log.d(TAG," DatabaseHelper updateStation");
    166        ContentValues args = new ContentValues();
    167        args.put(ITEM_KEY, itemKey);
    168        args.put(ITEM_VALUE, itemValue);
    169        args.put(ITEM_NAME, itemName);
    170        return db.update(DATABASE_TABLE, args,
    171                KEY_ROWID + "=" + index, null) > 0;
    172     }
    173 
    174 
    175 }
    176