基于LRU Cache的简单缓存
package com.test.testCache; import java.util.Map; import org.json.JSONArray; import org.json.JSONException; import android.content.Context; import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; import android.text.TextUtils; import android.util.LruCache; public class TestStore { private final static int CACHE_SIZE = 1000; private LruCache<String, String> mContent; public TestStore(Context context) { this(context, CACHE_SIZE); } public TestStore(Context context, int size) { super(); mContent = new LruCache<String, String>(size); JSONArray arry = getTopicReadData(context); if (arry == null) { return; } for (int i = 0; i < arry.length(); i++) { String content = null; try { content = arry.getString(i); } catch (JSONException e) { } if (TextUtils.isEmpty(content)) { continue; } putReadData(content); } } public boolean isExsit(String key) { String value = mContent.get(key); return !TextUtils.isEmpty(value); } public void putReadData(String key) { mContent.put(key, key); } public void saveDataToFile(Context context) { JSONArray json = new JSONArray(); Map<String, String> map = mContent.snapshot(); for (String id : map.values()) { json.put(id); } saveTopicReadData(context, json); } public JSONArray getTopicReadData(Context context) { SharedPreferences preferences = getSharedPreferences(context); String content = preferences.getString(STORE_KEY_TOPIC_READDATA, null); JSONArray array = null; try { array = new JSONArray(content); } catch (Exception e) { } return array; } private void saveTopicReadData(Context context, JSONArray array) { Editor edit = getSharedPreferencesEditor(context); edit.putString(STORE_KEY_TOPIC_READDATA, array.toString()); edit.commit(); } // ======================================= private final static String STORE_NAME = "1111"; private final static String STORE_KEY_TOPIC_READDATA = "22222"; private SharedPreferences getSharedPreferences(Context context) { return context.getSharedPreferences(STORE_NAME, 0); } private Editor getSharedPreferencesEditor(Context context) { return getSharedPreferences(context).edit(); } }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。