静态Helper类,用于建立、更新和打开数据库 private static class DBOpenHelper extends SQLiteOpenHelper {
public DBOpenHelper(Context context,String name,CursorFactory factory,int version) { super(context,name,factory,version); }
private static final String DB_CREATE = "create table " + DB_TABLE + " (" + KEY_ID + " integer primary key autoincrement," + KEY_NAME+ " text not null," + KEY_AGE+ " integer," + KEY_HEIGHT + " float);";
@Override public void onCreate(SQLiteDatabase _db) { _db.execSQL(DB_CREATE); }
@Override public void onUpgrade(SQLiteDatabase _db,int _oldVersion,int _newVersion) { _db.execSQL("DROP TABLE IF EXISTS " + DB_TABLE); onCreate(_db); } }
调用DBOpenHelper打开数据库
public void open() throws SQLiteException { dbOpenHelper = new DBOpenHelper(context,DB_NAME,null,DB_VERSION); try { db = dbOpenHelper.getWritableDatabase(); } catch (SQLiteException ex) { db = dbOpenHelper.getReadableDatabase(); } }
增
public long insert(People people) { ContentValues newValues = new ContentValues(); newValues.put(KEY_NAME,people.Name); newValues.put(KEY_AGE,people.Age); newValues.put(KEY_HEIGHT,people.Height); return db.insert(DB_TABLE,newValues); }
删
public long deleteAllData() { return db.delete(DB_TABLE,null); }
public long deleteOneData(long id) { return db.delete(DB_TABLE,KEY_ID + "=" + id,null); }
改
public long updateOneData(long id,People people){ ContentValues updateValues = new ContentValues(); updateValues.put(KEY_NAME,people.Name); updateValues.put(KEY_AGE,people.Age); updateValues.put(KEY_HEIGHT,people.Height); return db.update(DB_TABLE,updateValues,null); }
查
public People[] queryAllData() { Cursor results = db.query(DB_TABLE,new String[] { KEY_ID,KEY_NAME,KEY_AGE,KEY_HEIGHT}, null,null); return ConvertToPeople(results); } public People[] queryOneData(long id) { Cursor results = db.query(DB_TABLE, KEY_ID + "=" + id,null); return ConvertToPeople(results); }
把查询结果转化为数据对象
private People[] ConvertToPeople(Cursor cursor){ int resultCounts = cursor.getCount(); if (resultCounts == 0 || !cursor.moveToFirst()){ return null; } People[] peoples = new People[resultCounts]; for (int i = 0 ; i<resultCounts; i++){ peoples[i] = new People(); peoples[i].ID = cursor.getInt(0); peoples[i].Name = cursor.getString(cursor.getColumnIndex(KEY_NAME)); peoples[i].Age = cursor.getInt(cursor.getColumnIndex(KEY_AGE)); peoples[i].Height = cursor.getFloat(cursor.getColumnIndex(KEY_HEIGHT)); cursor.moveToNext(); } return peoples; }
然后写个activity调用这些方法即可! (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|