以論壇為例,只緩存最新的20條帖子 用到sqlite
創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),鐘樓企業(yè)網(wǎng)站建設(shè),鐘樓品牌網(wǎng)站建設(shè),網(wǎng)站定制,鐘樓網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,鐘樓網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
流程:1. 創(chuàng)建數(shù)據(jù)庫文件和表
db.execSQL("CREATE TABLE table"
"(_id INTEGER PRIMARY KEY AUTOINCREMENT,subject VARCHAR(200),author VARCHAR(20), dateline VARCHAR(20),replies VARCHAR(20),tid VARCHAR(20)";
2. 查詢、插入、刪除
//插入
public static void insert(SQLiteDatabase db, ContentValues values)
{
db.insert(”reclist“, null, values);
}
//刪除
public static void delete(SQLiteDatabase db)
{
db.delete(”reclist“, null, null);
}
//查詢前先建PostInfo封裝類,把得到的數(shù)據(jù)添加到ArrayList容器里
//查詢
public static ArrayList<PostInfo> query(SQLiteDatabase db)
{
Cursor cursor = db.query("reclist", null, null, null,
null, null, null);
ArrayList<PostInfo> data = new ArrayList<PostInfo>();
boolean hasNext = cursor.moveToFirst();
while (hasNext)
{
String author = cursor.getString(cursor
.getColumnIndex("author "));
String dateline = cursor.getString(cursor
.getColumnIndex("dateline"));
String replies = cursor.getString(cursor
.getColumnIndex("replies"));
String subject = cursor.getString(cursor
.getColumnIndex("subject"));
int tid = cursor.getInt(cursor
.getColumnIndex("tid"));
PostInfo info = new PostInfo(subject, author, dateline, replies,
tid);
data.add(info);
hasNext = cursor.moveToNext();
}
cursor.close();
return data;
}
3. 得到最新20條時,刪除數(shù)據(jù)庫表的內(nèi)容 ,再插入
4. 啟動時查詢數(shù)據(jù)庫
5. 如果有網(wǎng)絡(luò),從網(wǎng)絡(luò)獲取最新內(nèi)容后,清空ListView,使用最新內(nèi)容
//把查詢到的內(nèi)容添加到集合去
ArrayList<PostInfo> query = DataBaseUtils.query(mDB);
if (query.size() > 0)
{
mPostInfoList.addAll(query);
}
//在jsonArray解析的時候刪除前面的內(nèi)容
JSONArray array = new JSONArray(result);
if (array.length() > 0 && mPage == 1)
{
mPostInfoList.clear();
}
for (int i = 0; i < array.length(); i++)
{
JSONObject jsonObject = array.getJSONObject(i);
int tid = jsonObject.getInt("tid");
String hottopic_title = jsonObject.getString("subject");
String hottopic_name = jsonObject.getString("author");
String hottopic_shijian = jsonObject.getString("dateline");
String hottopic_huiying = jsonObject.getString("replies");
downloadData = new PostInfo(hottopic_title, hottopic_name,
hottopic_shijian, hottopic_huiying, tid);
mPostInfoList.add(downloadData);
}
if (mPage == 1)
{
// 刪除舊的數(shù)據(jù)
DataBaseUtils.delete(mDB);
// 將最新20條保存到數(shù)據(jù)庫中
for (int i = 0; i < mPostInfoList.size(); i++)
{
PostInfo info = mPostInfoList.get(i);
ContentValues values = new ContentValues();
values .put(TABLE_RECLIST.COLUMN_AUTHOR, info.getAuthor());
values.put(TABLE_RECLIST.COLUMN_DATELINE, info.getDateline());
values.put(TABLE_RECLIST.COLUMN_REPLIES, info.getReplies());
values.put(TABLE_RECLIST.COLUMN_SUBJECT, info.getSubject());
values.put(TABLE_RECLIST.COLUMN_TID, info.getTid());
DataBaseUtils.insert(mDB, values );
}
}
mAdapter.notifyDataSetChanged();
新聞標(biāo)題:Android開發(fā)實(shí)現(xiàn)實(shí)現(xiàn)緩存功能
地址分享:http://aaarwkj.com/article12/gjcodc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、App開發(fā)、網(wǎng)站維護(hù)、網(wǎng)站設(shè)計、小程序開發(fā)、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)