package com.test.sqlitetest; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; /** * Created by Alan on 2016/05/13 0013. */ public class DBbridge { private Context mContext; private SQLiteDatabase db; private DBHelper dbHelper; public static final String DB_NAME = "db_account.db"; public static final int DB_VERSION = 1; public DBbridge(Context ctx){ mContext = ctx; dbHelper = new DBHelper(mContext,DB_NAME,null,DB_VERSION); db = dbHelper.getReadableDatabase(); } /** * 插入数据 * @param table 表名 * @param values 要插入的数据对象 * @return 返回-1则失败 */ public long insert(String table , ContentValues values){ return db.insert(table,null,values); } /** * 修改数据 * @param table 表名 * @param values 要更新的数据对象 * @param where 条件,如: id=? 或者 id=? and name like ? * @param whereArgs 条件对应数组值 new String[] {"1"} 或者 new String[] {"1","admin"} * @return */ public int update(String table ,ContentValues values ,String where , String[] whereArgs){ return db.update(table, values, where, whereArgs); } /** *删除数据 * @param table 表名 * @param where 条件,如: id=? 或者 id=? and name like ? * @param whereArgs 条件对应数组值 new String[] {"1"} 或者 new String[] {"1","admin"} * @return */ public int delete(String table , String where , String[] whereArgs){ return db.delete(table, where, whereArgs); } /** * 查询数据 * @param table 表名 * @param cls 列字段名 * @param select 条件,如: id=? 或者 id=? and name like ? * @param selectionArgs 条件对应数组值 new String[] {"1"} 或者 new String[] {"1","admin"} * @param groupBy 分组 * @param orderBy 排序 * @return */ public Cursor query(String table, String[] cls, String select, String[] selectionArgs, String groupBy, String orderBy, String limit){ if(orderBy == null || orderBy.isEmpty()){ orderBy = "id desc"; } if(limit == null || limit.isEmpty()){ limit = "0,30"; } return db.query(table, cls, select, selectionArgs, groupBy, null, orderBy, limit); } public void execSQL(String sql){ db.execSQL(sql); } public int getVersion(){ return db.getVersion(); } public class DBHelper extends SQLiteOpenHelper { private static final String CREATE_DB_SQL = "CREATE TABLE account (id INTEGER PRIMARY KEY autoincrement,name TEXT NOT NULL,money NUMERIC,remark TEXT,add_time long);"; private static final String UPDATE_DB_SQL = ""; public DBHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) { super(context, name, factory, version); } @Override public void onCreate(SQLiteDatabase db) { db.execSQL(CREATE_DB_SQL); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { db.execSQL(UPDATE_DB_SQL); } } }
以上的代码是SQLite操作类的源代码,实现的方法很简单:
1.新增DBHelper类,继承SQLiteOpenHelper,并且实现onCreate跟onUpgrade方法。
2.新增DBbridge类,用来实现数据库的增、删、改、查等4个方法。