将Bean类保存在本地,已JSON的形式提交,便于其他页面读取。常用于购物车
来源:互联网 发布:java与c 的区别 编辑:程序博客网 时间:2024/06/07 01:06
package com.vily.cartshop.utils;import android.content.Context;import android.util.SparseArray;import com.alibaba.fastjson.JSON;import com.vily.cartshop.bean.ListInfo;import com.vily.cartshop.bean.ShoppingCart;import java.util.ArrayList;import java.util.List;public class CartProvider { public static final String CART_JSON="cart_json"; private SparseArray<ShoppingCart> datas =null; private Context mContext; /** * 构造方法,将List数据保存到 集合 SparseArray中 * @param context */ public CartProvider(Context context){ mContext = context; datas = new SparseArray<>(10); listToSparse(); } /** * * @param cart 存放 Bean类的 ShoppingCart数据 */ public void put(ShoppingCart cart){ ShoppingCart temp = datas.get(cart.id); if(temp !=null){ temp.count=temp.count+1; } else{ temp = cart; temp.count=1; } datas.put(cart.id,temp); commit(); } /** * * @param listInfo 存放Bean类的 ListInfo 数据 */ public void put(ListInfo listInfo){ ShoppingCart cart = convertData(listInfo); put(cart); } /** * * @param cart 更新数据 */ public void update(ShoppingCart cart){ datas.put(cart.id,cart); commit(); } /** * * @param cart 删除某一条目的数据 */ public void delete(ShoppingCart cart){ datas.delete(cart.id); commit(); } /** * * @return 获取 本地中所有数据 并且已List 返回数据 */ public List<ShoppingCart> getAll(){ return getDataFromLocal(); } /** * 提交数据 将List 数据 转换成 JSON 保存在本地 */ public void commit(){ List<ShoppingCart> carts = sparseToList(); PreferencesUtils.putString(mContext,CART_JSON,JSON.toJSONString(carts)); } /** * * @return 将SparseArray集合 转换成 List */ private List<ShoppingCart> sparseToList(){ int size = datas.size(); List<ShoppingCart> list = new ArrayList<>(size); for (int i=0;i<size;i++){ list.add(datas.valueAt(i)); } return list; } /** * 初始化的时候 先把本地的文件放进去 */ private void listToSparse(){ List<ShoppingCart> carts = getDataFromLocal(); if(carts!=null && carts.size()>0){ for (ShoppingCart cart:carts) { datas.put(cart.id,cart); } } } /** * * @return 从本地获取文件 */ public List<ShoppingCart> getDataFromLocal(){ String json = PreferencesUtils.getString(mContext,CART_JSON); List<ShoppingCart> carts =null; if(json !=null ){ carts = JSON.parseArray(json, ShoppingCart.class); } return carts; } /** * * @param listInfo * @return 将 Bean 类ListInfo 中的数据 转换成 ShoppingCart的 Bean类 */ public ShoppingCart convertData(ListInfo listInfo){ ShoppingCart cart = new ShoppingCart(); cart.id=listInfo.id; cart.imgUrl=listInfo.imgUrl; cart.name=listInfo.name; cart.price=listInfo.price; return cart; }}
阅读全文
0 0
- 将Bean类保存在本地,已JSON的形式提交,便于其他页面读取。常用于购物车
- 购物车二级列表的实现,在一级列表基础上,bean类里再添加两个字段(请求本地json数据)
- 购物车二级列表的实现,在一级列表基础上,bean类里再添加两个字段(请求本地json数据)
- plist文件的形式保存在本地程序沙盒中
- 将其他远程仓库的代码合并到本地,并将本地仓库的代码提交到其他远程仓库
- 将json格式的数据保存到本地
- 自己写个继承于View(textview或其他的)的类,便于自己特定 要求
- 自己写个继承于View(textview或其他的)的类,便于自己特定 要求
- Struts2+Hibernate3将图片保存于mysql数据库并将其显示在JSP页面
- Struts2+Hibernate3将图片保存于mysql数据库并将其显示在JSP页面
- 用URL类读取网络页面源文件保存到本地
- java 保存和读取本地json文件
- 购物车bean类
- smartupload实现 jsp页面上传文件 将文件以二进制形式保存在数据库
- C#读取远程页面保存到本地
- JSP 页面保存或者提交数据时,弹出浮层防止用户在保存过程中进行其他操作
- JQuery 将选择器进行缓存 便于大量操作表格或其他页面元素
- JSON数组形式字符串转换为Map数组(转为其他的Bean的话,请参考自行变形)
- 获得poi图片的一种方法(百度地图api)
- 织梦在线更新后出现DedeCMS Error:Tag disabled:"php" more..
- 抽象类和接口的区别
- 字符串匹配
- 【uva11994】Happy Painting!
- 将Bean类保存在本地,已JSON的形式提交,便于其他页面读取。常用于购物车
- String,StringBuffer与StringBuilder的区别
- 模板模式
- MySQL 数据的基本操作
- Finance系列(5)之E-Banking Systems
- vue底部加载更多
- mysql_权限
- hdu 1233 还是畅通工程
- c++Socket简单通信服务器端