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个方法。

