因为前面提到xml存储更改文件很麻烦的缘故,最终还是选择了使用数据库存储
一试才觉十分的方便,速度也快
上源码:
[java]
view plain
copy
- publicclassDBHelperextendsSQLiteOpenHelper{
-
- privatefinalstaticStringDATABASE_NAME="fanliao_db";
- staticintDATABASE_VERSION=1;
- staticStringTABLE_NAME="fanliao_chat";
- staticStringCHAT_ID="_id";
- staticStringCHAT_Name="chatname";
- staticStringCHAT_Info="chatinfo";
- staticStringCHAT_Time="chattime";
-
- publicDBHelper(Contextcontext)
- {
- super(context,DATABASE_NAME,null,DATABASE_VERSION);
- }
- @Override
- voidonCreate(SQLiteDatabasedb){
-
-
- Stringsql="CREATETABLE"+TABLE_NAME+"("+CHAT_ID+"INTEGERPRIMARYKEYAUTOINCREMENT,"
- +CHAT_Name+"TEXT,"+CHAT_Time+"TEXT,"+CHAT_Info+"TEXT);";
- db.execSQL(sql);
- System.out.println(sql);
- }
- @Override
- voidonUpgrade(SQLiteDatabasedb,153); font-weight:bold; background-color:inherit">intoldVersion,153); font-weight:bold; background-color:inherit">intnewVersion){
- Stringsql="DROPTABLEIFEXISTS"+TABLE_NAME;
- onCreate(db);
- System.out.println(sql);
- publicCursorselect()
- SQLiteDatabasedb=this.getReadableDatabase();
- Cursorcursor=db.query(TABLE_NAME,"_idasc");
- returncursor;
- longinsert(Stringchatname,Stringchattime,Stringchatinfo)
- {
- SQLiteDatabasedb=this.getWritableDatabase();
- ContentValuescv=newContentValues();
- cv.put(CHAT_Name,chatname);
- cv.put(CHAT_Time,chattime);
- cv.put(CHAT_Info,chatinfo);
- longrow=db.insert(TABLE_NAME,cv);
- returnrow;
- voiddelete(intid)
- this.getWritableDatabase();
- Stringwhere=CHAT_ID+"=?";
- String[]whereValue={Integer.toString(id)};
- db.delete(TABLE_NAME,where,whereValue);
- voidupdate(intid,Stringchatname,Stringchatinfo)
- ContentValuescv=newContentValues();
- cv.put(CHAT_Name,chatname);
- cv.put(CHAT_Time,chattime);
- cv.put(CHAT_Info,chatinfo);
- db.update(TABLE_NAME,cv,153); font-weight:bold; background-color:inherit">voiddelall(){
- this.getReadableDatabase();
- }
用后才觉得经常修改的数据本就应用数据库的,
形如“聊天记录”这种虽没有十分复杂的存储结构,也是适宜存在表中,
而xml大概多是用以传输数据或存储少量不常用改动的数据把~ (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|