
因为前面提到xml存储更改文件很麻烦的缘故,最终还是选择了使用数据库存储
一试才觉十分的方便,速度也快
上源码:
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," _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,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 chatinfo) { sqliteDatabase db=this.getWritableDatabase(); String where=CHAT_ID+"=?"; String[] whereValue={Integer.toString(ID)}; ContentValues cv=new ContentValues(); cv.put(CHAT_name,chatinfo); db.update(table_name,cv,whereValue); } public voID delall(){ sqliteDatabase db=this.getReadableDatabase(); String sql=" DROP table IF EXISTS "+table_name; db.execsql(sql); onCreate(db); } } 用后才觉得经常修改的数据本就应用数据库的,
形如“聊天记录”这种虽没有十分复杂的存储结构,也是适宜存在表中,
而xml大概多是用以传输数据或存储少量不常用改动的数据把~
总结以上是内存溢出为你收集整理的【Android学习笔记】SQLite数据库存储全部内容,希望文章能够帮你解决【Android学习笔记】SQLite数据库存储所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)