package com.example.ipcplayer.activity; import com.example.ipcplayer.cache.CacheEntity; import com.example.ipcplayer.cache.CacheExpiredException; import com.example.ipcplayer.cache.CacheUncachedException; import com.example.ipcplayer.cache.DataCache; import com.example.ipcplayer.model.Artist; import com.example.ipcplayer.utils.LogUtil; import android.R; import android.app.Activity; import android.os.Bundle; public class DataCacheActivity extends Activity{ private static final String TAG = DataCacheActivity.class.getSimpleName(); private Artist mArtist = new Artist(); private CacheEntity mEntity = new CacheEntity(); private long validTime = 1000000; String key ; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); for(int i = 0 ; i < 100; i ++){ mArtist.setName("jielun *** " + i); mArtist.setDetail("a;d adkjfal s *** " + i); key = "key+1"; mEntity.setKey(key); mEntity.setCacheable(mArtist); //获取数据 try { mArtist = (Artist) DataCache.getInstance(this).get(key,mEntity); if(mArtist != null){ LogUtil.d(TAG + " mArst = " + mArtist.toString()); }else{ LogUtil.d(TAG + " mArtist is null "); } } catch (CacheExpiredException e) { e.printStackTrace(); DataCache.getInstance(this).put(key, mArtist, validTime); } catch (CacheUncachedException e) { e.printStackTrace(); //在此解析json 并存在内存中 ,这样下次在内存中就是解析后的数据了 DataCache.getInstance(this).put(key, mArtist, validTime); System.out.println("put int cache "); } } } }