自写的SQLite保存本地缓存
发布时间:2020-12-12 19:44:42 所属栏目:百科 来源:网络整理
导读:(一)、个人习惯写BD工具类 public class DBTools {private class DataOpenHelper extends SQLiteOpenHelper {public DataOpenHelper(Context context) {super(context,"SYData.db",null,1);}@Overridepublic void onCreate(SQLiteDatabase db) {db.execSQL
(一)、个人习惯写BD工具类
public class DBTools { private class DataOpenHelper extends SQLiteOpenHelper { public DataOpenHelper(Context context) { super(context,"SYData.db",null,1); } @Override public void onCreate(SQLiteDatabase db) { db.execSQL("create table data(id integer primary key,json text)"); db.execSQL("insert into data values(?,?)",new String[] { "" + 1,"" }); db.execSQL("insert into data values(?,new String[] { "" + 2,"" }); } @Override public void onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion) { } } /** * 保存缓存 */ public void saveJson(Context context,int id,String json) { DataOpenHelper helper = new DataOpenHelper(context); SQLiteDatabase db = helper.getWritableDatabase(); db.execSQL("update data set json=? where id=?",new String[] { json,"" + id }); db.close(); } /** * 读取缓存 */ public String readJson(Context context,int id) { DataOpenHelper helper = new DataOpenHelper(context); SQLiteDatabase db = helper.getWritableDatabase(); Cursor cursor = db.rawQuery("select json from data where id = ?",new String[] { "" + id }); boolean b = cursor.moveToFirst(); if (b) { String json = cursor.getString(cursor.getColumnIndex("json")); return json; } db.close(); return ""; } }(二)、封装一些方法 /** * 缓存机制(即,从本地读取数据或网上下载数据) */ private void getDataOrUpdata() { // 读取本地缓存 String result_hand = dbTools.readJson(getActivity(),1); String result_hot = dbTools.readJson(getActivity(),2); if (!result_hand.equals("") && !result_hot.equals("")) { dealJsonHeadData(result_hand); dealJsonHotData(result_hot); return; } // 网上下载数据 if (isNetworkAble()) { getDataFromServer(); } } // 判断网络是否连接是否可用 private boolean isNetworkAble() { ConnectivityManager manager = (ConnectivityManager) getActivity() .getSystemService(Context.CONNECTIVITY_SERVICE); if (manager != null) { NetworkInfo info = manager.getActiveNetworkInfo(); if (info != null && info.isAvailable()) { return true; } } return false; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |