Android 使用数据库 SQlite
?
package?com.king.android.db;
import?android.content.ContentValues;
import?android.content.Context;
import?android.database.Cursor;
import?android.database.SQLException;
import?android.database.sqlite.SQLiteDatabase;
import?android.database.sqlite.SQLiteOpenHelper;
/**
?*?描述:數據庫。。。
?*?作者:Andy.Liu
?*?時間:?2012-8-2??下午10:37:27
?**/
public?class?MyDataBaseAdapter?{
????
????private?static?final?String?TAG?=?"MyDataBaseAdapter";
????
????private?Context?mContext?=?null;
????
????public?static?final?String?KEY_ID?=?"_id";
????
????public?static?final?String?KEY_NUM?=?"num";
????
????public?static?final?String?KEY_DATA?=?"data";
????
????private?static?final?String?DB_NAME?=?"king.db";
????
????private?static?final?String?TABLE_KING?=?"king";
????private?static?final?int?DB_VERSION?=?1;
????
????
????//創建表的語句
????private?static?final?String?CREATE_TAB_KING?=?null;
????
????//執行open()打開數據庫,保存返回的數據庫對象
????private?SQLiteDatabase?mSQlLiteDatabase?=?null;
????
????//由SQLiteOpenHelper繼承過來
????private?DatabaseHelper?mDatabaseHelper?=?null;
????
????????????//繼承SQLiteOpenHelper
????????????private?static?class?DatabaseHelper?extends?SQLiteOpenHelper{
????????
????????????????//構造函數創建數據庫
????????????public?DatabaseHelper(Context?context)?{
????????????????/**
?????????????????*?當調用getWriteableDatabase(),getReadableDatabase()方法時則創建一個數據庫
?????????????????*/
????????????????super(context,?DB_NAME,?null,?DB_VERSION);
????????????????
????????????}
????????
????????????@Override/*創建數據表*/
????????????public?void?onCreate(SQLiteDatabase?db)?{
????????????????db.execSQL(CREATE_TAB_KING);
????????????}
????????
????????????@Override//升級數據庫
????????????public?void?onUpgrade(SQLiteDatabase?db,?int?oldVersion,?int?newVersion)?{
????????????????db.execSQL("DROP?TABLE?IF?EXISTS?notes");
????????????????onCreate(db);
????????????}
????????}
????????????//構造函數取得Context
????????public?MyDataBaseAdapter(Context?context){
????????????this.mContext?=?context;
????????}
????????
????????//打開數據庫,返回數據庫對象
????????public?void?open()throws?SQLException{
????????????mDatabaseHelper?=?new?DatabaseHelper(mContext);
????????????mSQlLiteDatabase?=?mDatabaseHelper.getWritableDatabase();
????????}
????????
????????//關閉數據庫
????????public?void?close(){
????????????mDatabaseHelper.close();
????????}
????????
????????//插入一條數據
????????public?long?insertData(int?num,String?data){
????????????ContentValues?initValues?=?new?ContentValues();
????????????initValues.put(KEY_NUM,?num);
????????????initValues.put(KEY_DATA,?data);
????????????return?mSQlLiteDatabase.insert(TABLE_KING,?KEY_ID,?initValues);
????????}
????????
????????//刪除一條數據
????????public?boolean?deleteData(long?rowId){
????????????return?mSQlLiteDatabase.delete(TABLE_KING,?KEY_ID?+?"="+?rowId,?null)>0;
????????}
????????
????????//通過Cursor查詢所有數據
????????public?Cursor?fetchAllData(){
????????????return?mSQlLiteDatabase.query(TABLE_KING,?new?String[]{KEY_ID,KEY_NUM,KEY_DATA},?null,?null,?null,?null,?null);
????????}
????????
????????//查詢指定數據
????????public?Cursor?fetchData(long?rowId){
????????????Cursor?mCursor?=?mSQlLiteDatabase.query(true,?TABLE_KING,??new?String[]{KEY_ID,KEY_NUM,KEY_DATA},?KEY_ID+?"="+rowId,?null,?null,?null,null,null);
????????????if(null!=mCursor){
????????????????mCursor.moveToFirst();
????????????}
????????????return?mCursor;
????????}
????????
????????//更新一條數據
????????public?boolean?updateData(long?rowId,int?num,String?data){
????????????ContentValues?args?=?new?ContentValues();
????????????args.put(KEY_NUM,?num);
????????????args.put(KEY_DATA,?data);
????????????return?mSQlLiteDatabase.update(TABLE_KING,?args,?KEY_ID+?"="+rowId,?null)>0;
????????}
????????
}
轉載于:https://www.cnblogs.com/liuzenglong/archive/2012/08/03/2620922.html
總結
以上是生活随笔為你收集整理的Android 使用数据库 SQlite的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: hibernate reverse en
- 下一篇: 仅靠“小于运算“生存的map