Android Okhttp请求查询购物车的实例代码
查询购物车的model层
publicclassSelectCarModel{
privateStringurl="http://120.27.23.105/product/getCarts";
privateHashMapmap=newHashMap<>();
publicvoidverifySelectCarInfo(intuid,finalISelectCarPresenteriSelectCarPresenter){
map.put("uid",uid+"");
OkHttpUtils.getInstance().doPost(url,map,newCallBack(){
@Override
publicvoidonFailed(Stringmsg){
iSelectCarPresenter.onFailed("请求失败");
}
@Override
publicvoidonSuccess(Stringrequest){
SelectCarBeanselectCarBean=GsonUtils.getInstance().fromJson(request,SelectCarBean.class);
Stringcode=selectCarBean.getCode();
if("0".equals(code)){
Listdata=selectCarBean.getData();
iSelectCarPresenter.onSuccess(data);
}else{
iSelectCarPresenter.onFailed("请求失败");
}
}
});
}
}
查询购物车的接口
m层的
publicinterfaceISelectCarPresenter{
voidonFailed(Stringmsg);
voidonSuccess(Listdata);
}
p层的
publicinterfaceISelectCarView{
voidonFailed(Stringmsg);
voidonSuccess(Listdata);
}
查询购物车的presenter层
publicclassSelectCarPresenterimplementsISelectCarPresenter{
privateISelectCarViewiSelectCarView;
privateSelectCarModelselectCarModel;
publicSelectCarPresenter(ISelectCarViewiSelectCarView){
this.iSelectCarView=iSelectCarView;
selectCarModel=newSelectCarModel();
}
//执行集合信息
publicvoidexcuteSelectCarData(intuid){
//传到model
selectCarModel.verifySelectCarInfo(uid,this);
}
@Override
publicvoidonFailed(Stringmsg){
iSelectCarView.onFailed(msg);
}
@Override
publicvoidonSuccess(Listdata){
iSelectCarView.onSuccess(data);
}
}
查询购物车的view层
publicclassShoppingCartActivityextendsAppCompatActivityimplementsISelectCarView,View.OnClickListener{
privatebooleanisLogin;
privateSelectCarPresenterselectCarPresenter;
privateExpandableListViewcar_elv;
privateListglist=newArrayList<>();
privateList>clist=newArrayList<>();
privateCarExpandAdaptercarExpandAdapter;
privateTextViewedit_tv;
privateCheckBoxchooseAll;
privateTextViewtotalPrice;
privateTextViewbtnAmount;
privatebooleanisAll;
privatedoublep;
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_shoppingcar);
//初始化数据
init();
chooseAll.setOnClickListener(this);
btnAmount.setOnClickListener(newView.OnClickListener(){
@Override
publicvoidonClick(Viewview){
Intentintent=newIntent(ShoppingCartActivity.this,IndentActivity.class);
intent.putExtra("price",p+"");
startActivity(intent);
}
});
}
/**
*查询购物车
*/
privatevoidselectShoppingCar(){
selectCarPresenter=newSelectCarPresenter(this);
selectCarPresenter.excuteSelectCarData(3381);
carExpandAdapter=newCarExpandAdapter(this,glist,clist,this);
car_elv.setAdapter(carExpandAdapter);
}
/**
*初始化属性
*/
privatevoidinit(){
car_elv=(ExpandableListView)findViewById(R.id.car_elv);
edit_tv=(TextView)findViewById(R.id.edit_tv);
chooseAll=(CheckBox)findViewById(R.id.chooseAll);
totalPrice=(TextView)findViewById(R.id.totalPrice);
btnAmount=(TextView)findViewById(R.id.btnAmount);
//登录购物车
selectShoppingCar();
}
@Override
publicvoidonFailed(Stringmsg){
}
@Override
publicvoidonSuccess(Listdata){
glist.clear();
clist.clear();
for(inti=0;ilist=data.get(i).getList();
Listcl=newArrayList<>();
for(intj=0;j
view层布局
二级购物车列表的适配器
publicclassCarExpandAdapterextendsBaseExpandableListAdapter{
privateContextcontext;
privateListgroupList;
privateList>childList;
privateShoppingCartActivitys;
publicstaticbooleanflog;
publicCarExpandAdapter(Contextcontext,ListgroupList,List>childList,ShoppingCartActivitys){
this.context=context;
this.groupList=groupList;
this.childList=childList;
this.s=s;
}
@Override
publicintgetGroupCount(){
returngroupList.size();
}
@Override
publicintgetChildrenCount(inti){
returnchildList.get(i).size();
}
@Override
publicObjectgetGroup(inti){
returngroupList.get(i);
}
@Override
publicObjectgetChild(inti,inti1){
returnchildList.get(i).get(i1);
}
@Override
publiclonggetGroupId(inti){
returni;
}
@Override
publiclonggetChildId(inti,inti1){
returni1;
}
@Override
publicbooleanhasStableIds(){
returnfalse;
}
//第一级列表viewhodel
classGroupViewHolder{
CheckBoxgroup_box;
TextViewgroup_tv;
}
//第二级列表的viewhodel
classChildViewHodel{
CheckBoxchild_box;
ImageViewchild_iv;
TextViewchild_tv_name;
TextViewchild_tv_attr;
TextViewchild_tv_price;
TextViewchild_tv_num;
TextViewchild_tv_minus;
TextViewchild_tv_show_num;
TextViewchild_tv_add;
Buttondelete;
}
@Override
publicViewgetGroupView(finalinti,booleanb,Viewview,ViewGroupviewGroup){
finalGroupViewHolderholder;
if(view==null){
holder=newGroupViewHolder();
view=View.inflate(context,R.layout.group_layout,null);
holder.group_box=view.findViewById(R.id.group_box);
holder.group_tv=view.findViewById(R.id.group_tv);
view.setTag(holder);
}else{
holder=(GroupViewHolder)view.getTag();
}
holder.group_tv.setText(groupList.get(i).getName());
holder.group_box.setChecked(groupList.get(i).isFlag());
holder.group_box.setOnClickListener(newView.OnClickListener(){
@Override
publicvoidonClick(Viewview){
//group布尔值变成选中状态
groupList.get(i).setFlag(holder.group_box.isChecked());
//遍历Group的集合
for(inti=0;i
适配器的一级布局
适配器二级布局
bean类Child
publicclassChild{
/*
false,
list.get(j).getTitle(),
(float)list.get(j).getPrice(),
list.get(j).getImages(),
list.get(j).getNum()
*/
privatebooleanflag;
privateStringtitle;
privatedoubleprice;
privateStringimage;
privateintnum;
privateStringcolor;
privateintpid;
publicChild(booleanflag,Stringtitle,doubleprice,Stringimage,intnum,Stringcolor,intpid){
this.flag=flag;
this.title=title;
this.price=price;
this.image=image;
this.num=num;
this.color=color;
this.pid=pid;
}
publicbooleanisFlag(){
returnflag;
}
publicvoidsetFlag(booleanflag){
this.flag=flag;
}
publicStringgetTitle(){
returntitle;
}
publicvoidsetTitle(Stringtitle){
this.title=title;
}
publicdoublegetPrice(){
returnprice;
}
publicvoidsetPrice(doubleprice){
this.price=price;
}
publicStringgetImage(){
returnimage;
}
publicvoidsetImage(Stringimage){
this.image=image;
}
publicintgetNum(){
returnnum;
}
publicvoidsetNum(intnum){
this.num=num;
}
publicStringgetColor(){
returncolor;
}
publicvoidsetColor(Stringcolor){
this.color=color;
}
publicintgetPid(){
returnpid;
}
publicvoidsetPid(intpid){
this.pid=pid;
}
}
group类
publicclassGroup{
privatebooleanflag;
privateStringname;
publicGroup(booleanflag,Stringname){
this.flag=flag;
this.name=name;
}
publicbooleanisFlag(){
returnflag;
}
publicvoidsetFlag(booleanflag){
this.flag=flag;
}
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
}
以上这篇AndroidOkhttp请求查询购物车的实例代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。