JSON数据保存与加载
来源:互联网 发布:名字创意设计软件 编辑:程序博客网 时间:2024/06/08 05:44
首先我们盘点一下参与者
Crime 罪犯类,
CrimeLab 罪犯列表类
CriminalIntentJSONSerializer 罪犯json化 并且保存
没有视图也没有控制的事 三个模型类玩游戏
保存和加载自然归CriminalIntentJSONSerializer管理
public class CriminalIntentJSONSerializer { private Context context; private String Filename; public CriminalIntentJSONSerializer(Context c, String f) { context = c; Filename = f; } public void saveCrimes(ArrayList<Crime> crimes) throws JSONException,IOException {....} public ArrayList<Crime> loadCrimes() throws IOException,JSONException {....}
将crime自己变成JSON 和将JSON 变成crime自然是Crime自己的事情喽
public class Crime extends android.text.format.DateFormat{//罪犯类 以及罪犯所携带的数据 public JSONObject toJSON()throws JSONException { JSONObject jsonObject = new JSONObject(); jsonObject.put(JSON_ID,mId.toString()); jsonObject.put(JSON_TITLE,mTitle); jsonObject.put(JSON_SOLVED,mSolved); jsonObject.put(JSON_DATE,mDate.getTime()); if(photo!=null) jsonObject.put(JSON_PHOTO,photo.toJSON()); return jsonObject; } public Crime(JSONObject jsonObject) throws JSONException { mId = UUID.fromString(jsonObject.getString(JSON_ID)); if(jsonObject.has(JSON_TITLE)) { mTitle=jsonObject.getString(JSON_TITLE); } mSolved=jsonObject.getBoolean(JSON_SOLVED); mDate = new Date(jsonObject.getLong(JSON_DATE)); if(jsonObject.has(JSON_PHOTO)) photo = new Photo(jsonObject.getJSONObject(JSON_PHOTO));}
那剩下那个干嘛呢?
public class CrimeLab{ private CriminalIntentJSONSerializer criminalIntentJSONSerializer; // private Context Appcontext; public boolean saveCrimes() { try { criminalIntentJSONSerializer.saveCrimes(crimes); Log.d(TAG,"crimes saved to file"); return true; } catch (Exception e) { Log.e(TAG,"Error saving criems;",e); return false; } }}
CrimeLab 负责将crime批量传输到CriminalIntentJSONSerializer,然后每一个crime调用自己的toJSON方法,最后保存起来;
加载的时候,每一个crime都直接调用自己的初始化方法。从JSON拿到数据;
是不是很清楚的;
0 0
- JSON数据保存与加载
- KnockoutJS Documentation-加载和保存json数据
- Hive数据加载与保存
- R语言-加载与保存数据
- 文件加载与保存
- JQuery加载json数据
- Grid-Json数据加载
- easyui 加载json数据
- Knockout应用开发指南 第六章:加载或保存JSON数据
- Knockout应用开发指南 第六章:加载或保存JSON数据
- Knockout应用开发指南 第六章:加载或保存JSON数据
- Knockout应用开发指南 第六章:加载或保存JSON数据
- Android 通过JSON保存数据
- Python读写保存JSON数据
- Swift - 本地数据的保存与加载(使用NSCoder将对象保存到.plist文件)
- Swift - 本地数据的保存与加载(使用NSCoder将对象保存到.plist文件)
- Spark加载和保存数据
- Android与PHP交互,Android传递JSON数据,PHP接受并保存数据
- python标准模块学习3_______ConfigParser
- compileSdkVersion, minSdkVersion 和 targetSdkVersion
- Failed resolution of:Ljava/util/stream/IntStream
- 朴素_贝叶斯分类算法(网络)
- sqlite 打开扩展名为.DB 文件
- JSON数据保存与加载
- Android开发书籍推荐:从入门到精通系列学习路线书籍介绍
- 外网访问 Ubuntu下的 tomcat
- ProxyFacotroy源码解析
- 字符与字符串
- EasyPusher Android实时推送当前屏幕画面
- 不再以讹传讹,GET和POST的真正区别
- 折腾树莓派(四)使用gitosis创建git托管服务器
- 装饰器(Decorator)