void saveSearchHistoryString(int position) { try { // {"data":[{"marketcode":"19800","marketname":"19800"},{"marketcode":"51szzc","marketname":"51数字资产"},{"marketcode":"btc100","marketname":"BTC100"}]} String history = SPUtils.getSharedStringData(getApplicationContext(), Constants.HISTROY_SEARCH_STRING); // if (!TextUtils.isEmpty(history)){ JSONObject object = new JSONObject(); if (!history.equals("")) { object = new JSONObject(history); org.json.JSONArray data = object.getJSONArray("data"); // JSONArray data =(JSONArray) object.get("data"); if (data != null) { JSONObject addItem = new JSONObject(); addItem.put("Symbol", mAdapter.getItem(position).getSymbol()); addItem.put("Coincode", mAdapter.getItem(position).getCoincode()); data.put(addItem); JSONObject newObject = new JSONObject(); newObject.put("data", data); SPUtils.setSharedStringData(getApplicationContext(), Constants.HISTROY_SEARCH_STRING, newObject.toString()); } } else { JSONArray dataArrayInit = new JSONArray(); JSONObject firstObject = new JSONObject(); firstObject.put("Symbol", mAdapter.getItem(position).getSymbol()); firstObject.put("Coincode", mAdapter.getItem(position).getCoincode()); dataArrayInit.put(firstObject); object.put("data", dataArrayInit); SPUtils.setSharedStringData(getApplicationContext(), Constants.HISTROY_SEARCH_STRING, object.toString()); } // SearchList item = mAdapter.getItem(position); // jsonObject.put(mAdapter.getItem(position).getSymbol(),mAdapter.getItem(position).getCoincode()); // String s = jsonObject.toString(); } catch (JSONException e) { e.printStackTrace(); } } JSONArray getHistoryList() { JSONArray data = null; try { String history = SPUtils.getSharedStringData(getApplicationContext(), Constants.HISTROY_SEARCH_STRING); JSONObject object = new JSONObject(history); data = object.getJSONArray("data"); } catch (JSONException e) { e.printStackTrace(); } return data; }
一开始我时这样写的 ,后来发现还得给数据去重复,这样写去重还是有点麻烦,受不了了,所以还是GreenDao新建了一张表存放各种数据,CURD会简单的多..