SQLite继承SQLiteOpenHelper类单例模式的实现:
public class DBHelper extends SQLiteOpenHelper {
private final static String DB_NAME="my_info";
private final static int VERSION =1;
private static DBHelper instance=null;
public static DBHelper getInstance(Context context){
if(instance==null){
instance=new DBHelper(context);
}
return instance;
}
private DBHelper(Context context){
super(context, DB_NAME, null, VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
//建表语句直接使用db.execSQL(String sql)方法执行SQL建表语句
String createTable="create table user(id integer primary key,name text,age integer);";
db.execSQL(createTable);
}
}
//增删改查的实现
public static void insertInfo(Context context,Info info) {
SQLiteDatabase db=DBHelper.getInstance(context).getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name", info.getName());
values.put("age", info.getAge());
db.insert("user", null, values);
db.close();
}
//删除信息
public static void deleteInfo(Context context,int id) {
SQLiteDatabase db=DBHelper.getInstance(context).getWritableDatabase();
db.delete("user", "id=" + id, null);
db.close();
}
//更新信息
public static void updateInfo(Context context,int id,Info info) {
SQLiteDatabase db=DBHelper.getInstance(context).getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name", info.getName());
values.put("age", info.getAge());
db.update("user", values, "id="+id, null);
db.close();
}
// 查找所有用户信息
public List<Info> queryAllInfo(Context context) {
SQLiteDatabase db=DBHelper.getInstance(context).getWritableDatabase();
List list = new ArrayList<Info>();
Cursor cursor = db.query("user", null, null, null, null, null, null);
if (cursor.moveToFirst()) {
do {
int age = cursor.getInt(cursor.getColumnIndex("age"));
String name = cursor.getString(cursor.getColumnIndex("name"));
Info info=new Info();
info.setName(name);
info.setAge(age);
list.add(info);
} while (cursor.moveToNext());
}
db.close();
return list;
}
}
//点击按钮 增加一条记录
按钮的事件处理如下:
private OnClickListener listener=new OnClickListener(){
@Override
public void onClick(View v) {
Info info=new Info("Jun",21);
DBHelper.getInstance(ShowActivity.this).insertInfo(ShowActivity.this, info);
Toast.makeText(ShowActivity.this, "insert data success!", Toast.LENGTH_SHORT).show();
}};