因為前面提到xml存儲更改文件很麻煩的緣故( 見http://www.linuxidc.com/Linux/2012-01/50684.htm ),最終還是選擇了使用數據庫存儲
一試才覺十分的方便,速度也快
上源碼:
- public class DBHelper extends SQLiteOpenHelper{
-
- private final static String DATABASE_NAME="fanliao_db";
- private final static int DATABASE_VERSION=1;
- private final static String TABLE_NAME="fanliao_chat";
- public final static String CHAT_ID="_id";
- public final static String CHAT_Name="chatname";
- public final static String CHAT_Info="chatinfo";
- public final static String CHAT_Time="chattime";
-
-
- public DBHelper(Context context)
- {
- super(context, DATABASE_NAME,null, DATABASE_VERSION);
- }
-
-
-
- @Override
- public void onCreate(SQLiteDatabase db) {
- //CREATE TABLE fanliao_chat( _id INTEGER PRIMARY KEY AUTOINCREMENT,
- // chatname TEXT, chattime TEXT, chatinfo TEXT);
- String sql="CREATE TABLE "+TABLE_NAME+"("+CHAT_ID+" INTEGER PRIMARY KEY AUTOINCREMENT,"
- +CHAT_Name+" TEXT, "+CHAT_Time+" TEXT, "+CHAT_Info+" TEXT);";
- db.execSQL(sql);
- System.out.println(sql);
-
- }
-
- @Override
- public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
- String sql=" DROP TABLE IF EXISTS "+TABLE_NAME;
- db.execSQL(sql);
- onCreate(db);
- System.out.println(sql);
- }
-
- public Cursor select()
- {
- SQLiteDatabase db=this.getReadableDatabase();
- Cursor cursor=db.query(TABLE_NAME, null, null, null, null, null, " _id asc");
- return cursor;
- }
-
- public long insert(String chatname, String chattime, String chatinfo)
- {
- SQLiteDatabase db=this.getWritableDatabase();
- ContentValues cv=new ContentValues();
- cv.put(CHAT_Name, chatname);
- cv.put(CHAT_Time, chattime);
- cv.put(CHAT_Info, chatinfo);
- long row=db.insert(TABLE_NAME, null, cv);
- return row;
- }
-
- public void delete(int id)
- {
- SQLiteDatabase db=this.getWritableDatabase();
- String where=CHAT_ID+"=?";
- String[] whereValue={Integer.toString(id)};
- db.delete(TABLE_NAME, where, whereValue);
- }
-
- public void update(int id,String chatname,String chattime, String chatinfo)
- {
- SQLiteDatabase db=this.getWritableDatabase();
- String where=CHAT_ID+"=?";
- String[] whereValue={Integer.toString(id)};
- ContentValues cv=new ContentValues();
- cv.put(CHAT_Name, chatname);
- cv.put(CHAT_Time, chattime);
- cv.put(CHAT_Info, chatinfo);
- db.update(TABLE_NAME, cv, where, whereValue);
- }
-
- public void delall(){
- SQLiteDatabase db=this.getReadableDatabase();
- String sql=" DROP TABLE IF EXISTS "+TABLE_NAME;
- db.execSQL(sql);
- onCreate(db);
- }
-
-
- }
用後才覺得經常修改的數據本就應用數據庫的,
形如“聊天記錄”這種雖沒有十分復雜的存儲結構,也是適宜存在表中,
而xml大概多是用以傳輸數據或存儲少量不常用改動的數據把~