网络请求框架

HttpUtlis`

public class HttpUtils {

     private  String baseurl = "http://172.17.8.100";

      //  传递头参
      Map<String ,String> hendmap = new HashMap<>();
     public  HttpUtils setHead(Map<String ,String> hendmap){

         this.hendmap = hendmap;

         return  this;
     }


     public  HttpUtils  get(String url, Map<String,String> map){


         if(map == null){
             map = new HashMap<>();
         }

          //  添加连接器

         File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath());
         long size = 1024*10;
         OkHttpClient client = new OkHttpClient.Builder().addInterceptor(new Interceptor() {
             @Override
             public Response intercept(Chain chain) throws IOException {
                 Request request = chain.request();
                 return chain.proceed(request);
             }
         }).cache(new Cache(file,size)).build();



         //  正常操作
         Retrofit retrofit = new Retrofit.Builder()
                 .baseUrl(baseurl)
                 .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
                 .client(client)
                 .build();


         HttpSrevice Srevice = retrofit.create(HttpSrevice.class);
         Srevice.get(url,hendmap,map)
                 .subscribeOn(Schedulers.io())
                 .observeOn(AndroidSchedulers.mainThread())
                 .subscribe(new Observer<ResponseBody>() {
                     @Override
                     public void onSubscribe(Disposable d) {

                     }

                     @Override
                     public void onNext(ResponseBody responseBody) {

                         try {
                             String data = responseBody.string();// 服务端反回的数据
                             httpListEner.success(data);
                             
                         } catch (IOException e) {
                             e.printStackTrace();

                             String message = e.getMessage();//  服务端返回的错误信息

                              httpListEner.fail(message);
                         }
                     }

                     @Override
                     public void onError(Throwable e) {

                     }

                     @Override
                     public void onComplete() {

                     }
                 });


         return  this;
        }

    HttpListEner httpListEner;
        public  void  roster(HttpListEner httpListEner){

             this.httpListEner = httpListEner;
        }

}

HttpService

 @GET
      Observable<ResponseBody> get(@Url String url, @HeaderMap Map<String,String> hendmap, @QueryMap Map<String,String> map);

MainMadapter

public class SyFragment extends Fragment implements IndexView {

    @BindView(R.id.xrecycle)
    XRecyclerView mxRecyclerView;
    private IndexpresenterIml indexpresenterIml;
    private MyAdapter adapter;
    private List<ResultBean> result;
    private Map<String, String> map;
    private ShowBean showBean;
    private ResultBeanDao resultBeanDao;

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = View.inflate(getActivity(),R.layout.activity_sy,null);
        ButterKnife.bind(this,view);
        return view;
    }

    @Override
    public void onActivityCreated(@Nullable Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);

        // 请求数据

        indexpresenterIml = new IndexpresenterIml(new IndexModelIml(),this);


        adapter = new MyAdapter(getActivity());
        GridLayoutManager gridLayoutManager = new  GridLayoutManager(getActivity(),2);
        gridLayoutManager.setOrientation(GridLayoutManager.VERTICAL);
        mxRecyclerView.setLayoutManager(gridLayoutManager);
        mxRecyclerView.setAdapter(adapter);


        map = new HashMap<>();
        map.put("keyword","手机");
        map.put("page",1+"");
        map.put("count",10+"");
        indexpresenterIml.get(0,"http://172.17.8.100/small/commodity/v1/findCommodityByKeyword", map);


        // 保存到数据库
        DaoSession daoSession = DaoMaster.newDevSession(getActivity(), ResultBeanDao.TABLENAME);
        resultBeanDao = daoSession.getResultBeanDao();

        //创建网络判断工具类

        NetStuste netStuste = new NetStuste();
        boolean connected = netStuste.isNetworkConnected(getActivity());

        //  从数据库取出来


         List<ResultBean> resultBeans = resultBeanDao.loadAll();
         if(!connected){
            if(resultBeans != null){

                result = showBean.getResult();
                adapter.setList(result);
            }
         }




        mxRecyclerView.setLoadingListener(new XRecyclerView.LoadingListener() {
           @Override
           public void onRefresh() {
               result.clear();
               indexpresenterIml.get(0,"http://172.17.8.100/small/commodity/v1/findCommodityByKeyword", map);
           }

           @Override
           public void onLoadMore() {

           }
       });


    }

    @Override
    public void success(int yype, String data) {


        showBean = new Gson().fromJson(data, ShowBean.class);

//        for (int i = 0; i < showBean.getResult().size() ; i++) {
//
//            resultBeanDao.insert(new ResultBean(null,showBean.getResult().get(i).getCommodityId()+"",showBean.getResult().get(i).getMasterPic(),showBean.getResult().get(i).getPrice()+"",showBean.getResult().get(i).getSaleNum(),showBean.getResult().get(i).getCommodityName()));
//
//
//        }

        result = showBean.getResult();
        adapter.setList(result);

    }

    @Override
    public void fail(int type, String error) {

    }


加粗样式

在这里插入代码片
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值