Json數據處理

1.JsonBean層
public class JsonBean {

private String msg;
private String code;
private List<DataBean> data;

public String getMsg() {
    return msg;
}

public void setMsg(String msg) {
    this.msg = msg;
}

public String getCode() {
    return code;
}

public void setCode(String code) {
    this.code = code;
}

public List<DataBean> getData() {
    return data;
}

public void setData(List<DataBean> data) {
    this.data = data;
}

public static class DataBean {
    /**
     * list : []
     * sellerName :
     * sellerid : 0
     */

    private String sellerName;
    private String sellerid;
    private List<Bean> list;

    public String getSellerName() {
        return sellerName;
    }

    public void setSellerName(String sellerName) {
        this.sellerName = sellerName;
    }

    public String getSellerid() {
        return sellerid;
    }

    public void setSellerid(String sellerid) {
        this.sellerid = sellerid;
    }

    public List<Bean> getList() {
        return list;
    }

    public void setList(List<Bean> list) {
        this.list = list;
    }

    @Override
    public String toString() {
        return "DataBean{" +
                "sellerName='" + sellerName + '\'' +
                ", sellerid='" + sellerid + '\'' +
                ", list=" + list +
                '}';
    }
}

@Override
public String toString() {
    return "JsonBean{" +
            "msg='" + msg + '\'' +
            ", code='" + code + '\'' +
            ", data=" + data +
            '}';
}

2.Bean層
public class Bean {
private String images;
private String createtime;

public Bean(String images, String createtime) {
    this.images = images;
    this.createtime = createtime;
}

public String getImages() {
    return images;
}

public void setImages(String images) {
    this.images = images;
}

public String getCreatetime() {
    return createtime;
}

public void setCreatetime(String createtime) {
    this.createtime = createtime;
}

@Override
public String toString() {
    return "Bean{" +
            "images='" + images + '\'' +
            ", createtime='" + createtime + '\'' +
            '}';
}

}

3.CallBack接口
public interface CallBack1 {
void Onsuccess( List list);
void OnFailer(String error);
}

4.View層
public interface OverView {
void Onsuccess( List list);
void OnFailer(String error);
}

5.Model層
public class GainModel {
private String path=“http://www.zhaoapi.cn/product/getCarts?uid=71”;
Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
}
};

public void show(final CallBack1 callBack1){
    OkHttp.createget(path, new Callback() {
        @Override
        public void onFailure(Call call, IOException e) {

        }

        @Override
        public void onResponse(Call call, Response response) throws IOException {
            final String string = response.body().string();
            handler.post(new Runnable() {
                @Override
                public void run() {
                    Gson gson = new Gson();
                    JsonBean jsonBean = gson.fromJson(string, JsonBean.class);
                    List<JsonBean.DataBean> data = jsonBean.getData();
                    List<Bean> list = new ArrayList<>();
                    for (JsonBean.DataBean haha:data) {
                        List<Bean> list1 = haha.getList();
                        list.addAll(list1);
                    }
                    if (list!=null){
                        callBack1.Onsuccess(list);
                    }else {
                        callBack1.OnFailer("失敗");
                    }
                }
            });
        }
    });
}

}

6.Presenter層
public class ShowPresenter {
private OverView overView;
private GainModel gainModel;

public ShowPresenter(OverView overView) {
    this.overView = overView;
    gainModel = new GainModel();
}
public void show2(){
    gainModel.show(new CallBack1() {
        @Override
        public void Onsuccess(  List<Bean> list) {
            overView.Onsuccess(list);
        }

        @Override
        public void OnFailer(String error) {
            overView.OnFailer(error);
        }
    });
}

}

7.adapter
public class Myadapter extends RecyclerView.Adapter {
private Context context;
private List list;
//private List list1;
List listimage = new ArrayList<>();
public Myadapter(Context context, List list) {
this.context = context;
this.list = list;
}
@NonNull
@Override
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View view = null;
MyHolder viewHolder = null;
view=View.inflate(context, R.layout.list,null);
viewHolder = new MyHolder(view);
return viewHolder;
}

@Override
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder viewHolder, int i) {

    String images = list.get(i).getImages();
    String[] split = images.split("\\|");
    for(int j = 0; j<split.length-1;j++){
        listimage.add(split[j]);
    }

        if (list.size() > 0 && list != null) {
            ((MyHolder) viewHolder).textView.setText(list.get(i).getCreatetime());
            Glide.with(context).load(listimage.get(i)).into(((MyHolder) viewHolder).imageView);
        }
}

@Override
public int getItemCount() {
    return list.size();
}
private class MyHolder extends RecyclerView.ViewHolder {

    public final ImageView imageView;
    public final TextView textView;

    public MyHolder(@NonNull View itemView) {
        super(itemView);
        imageView = itemView.findViewById(R.id.image11);
        textView = itemView.findViewById(R.id.text1);
        ViewGroup.LayoutParams params = textView.getLayoutParams();
        params.width=(1000)/3;
        params.height=(int)(Math.random()*100);
        textView.setLayoutParams(params);
    }
}

}

8.Activity
public class Main2Activity extends AppCompatActivity implements OverView {
private ShowPresenter showPresenter;
private RecyclerView recyclerView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main2);
    showPresenter = new ShowPresenter(this);
    showPresenter.show2();
    initview();
    initListener();
    initData();
}

private void initData() {

}

private void initListener() {

}

private void initview() {
    recyclerView = findViewById(R.id.recyclerview);
}

@Override
public void Onsuccess(   List<Bean> list) {
    StaggeredGridLayoutManager staggeredGridLayoutManager = new StaggeredGridLayoutManager(2,StaggeredGridLayoutManager.VERTICAL);
    recyclerView.setLayoutManager(staggeredGridLayoutManager);
    Myadapter myadapter = new Myadapter(Main2Activity.this,list);
    recyclerView.setAdapter(myadapter);
}

@Override
public void OnFailer(String error) {

}

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章