package com.bawie.songzixin0414;

import android.app.Application;
import android.database.sqlite.SQLiteDatabase;

import com.bawie.songzixin0414.dao.DaoMaster;
import com.bawie.songzixin0414.dao.DaoSession;
import com.facebook.drawee.backends.pipeline.Fresco;

/**

  • @Author:asus

  • @E-mail: 945574298@163.com

  • @Date:2019/4/14 19:51

  • @Description:描述信息
    */
    public class App extends Application {

    private static DaoSession daoSession;

    @Override
    public void onCreate() {
    super.onCreate();
    Fresco.initialize(this);
    DaoMaster.DevOpenHelper songz = new DaoMaster.DevOpenHelper(this, “songz”, null);
    SQLiteDatabase writableDatabase = songz.getWritableDatabase();
    DaoMaster daoMaster = new DaoMaster(writableDatabase);
    daoSession = daoMaster.newSession();
    }

    public static DaoSession getDaoSession() {
    return daoSession;
    }
    }

package com.bawie.songzixin0414;

import android.net.Network;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.widget.Toast;

import com.bawie.songzixin0414.adapter.MyAdapter;
import com.bawie.songzixin0414.bean.JsonBean;
import com.bawie.songzixin0414.bean.ShopBean;
import com.bawie.songzixin0414.dao.ShopBeanDao;
import com.bawie.songzixin0414.http.NetUtils;
import com.bawie.songzixin0414.mvp.presenter.Presenter;
import com.bawie.songzixin0414.mvp.view.IView;

import java.util.ArrayList;
import java.util.List;

import butterknife.BindView;
import butterknife.ButterKnife;

public class MainActivity extends AppCompatActivity implements IView {

@BindView(R.id.recyleview)
RecyclerView recyleview;
private ShopBeanDao userDao;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    ButterKnife.bind(this);
    recyleview.setLayoutManager(new LinearLayoutManager(this));
    Presenter presenter = new Presenter();

    presenter.AttachView(this);
    presenter.getpre();

    userDao = App.getDaoSession().getShopBeanDao();
    boolean network = NetUtils.isNetwork(this);
    if(network){
        presenter.getpre();
    }
    else{
        Toast.makeText(MainActivity.this,"没有网",Toast.LENGTH_SHORT).show();
        List<ShopBean> shopBeans = userDao.loadAll();
        if(shopBeans.size()==0){
            Toast.makeText(MainActivity.this,"没有缓存",Toast.LENGTH_SHORT).show();
        }
        else{
            ArrayList<ShopBean> list = new ArrayList<>();
             for(int i=0;i<shopBeans.size();i++){
                 String commodityName = shopBeans.get(i).getCommodityName();
                 String masterPic = shopBeans.get(i).getMasterPic();
                 String price = shopBeans.get(i).getPrice();
                 ShopBean shopBean = new ShopBean(commodityName, masterPic, price);
                 list.add(shopBean);
             }
             recyleview.setLayoutManager(new LinearLayoutManager(this));
             MyAdapter myAdapter=new MyAdapter(MainActivity.this,list);
             recyleview.setAdapter(myAdapter);

        }
    }


}

@Override
public void getView(Object obj) {
  JsonBean jsonBean= (JsonBean) obj;
    ArrayList<ShopBean> commodityList1 = jsonBean.getResult().getMlss().getCommodityList();

// ArrayList commodityList2 = jsonBean.getResult().getPzsh().getCommodityList();
// ArrayList commodityList3 = jsonBean.getResult().getRxxp().getCommodityList();
userDao.deleteAll();
for (int i=0;i<commodityList1.size();i++){
String commodityName = commodityList1.get(i).getCommodityName();
String masterPic = commodityList1.get(i).getMasterPic();
String price = commodityList1.get(i).getPrice();
// String commodityName1 = commodityList2.get(i).getCommodityName();
// String masterPic2 = commodityList2.get(i).getMasterPic();
// String price2 = commodityList1.get(i).getPrice();
ShopBean shopBean=new ShopBean();
// ShopBean shopBean1 = new ShopBean();
shopBean.setCommodityName(commodityName);
shopBean.setMasterPic(masterPic);
shopBean.setPrice(price);
// shopBean1.setCommodityName(commodityName1);
// shopBean1.setPrice(price2);
// shopBean1.setMasterPic(masterPic2);
userDao.insert(shopBean);
// userDao.insert(shopBean1);
}

    MyAdapter myAdapter=new MyAdapter(MainActivity.this,commodityList1);
    recyleview.setAdapter(myAdapter);

}

}

package com.bawie.songzixin0414.http;

import android.os.Handler;

import com.google.gson.Gson;

import java.io.IOException;
import java.util.concurrent.TimeUnit;

import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.FormBody;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;

/**

  • @Author:asus

  • @E-mail: 945574298@163.com

  • @Date:2019/4/14 19:31

  • @Description:描述信息
    */
    public class OKHttp {
    private OkHttpClient client;
    private static volatile OKHttp instance;
    private Handler handler=new Handler();
    //单列模式
    public static OKHttp getInstance(){
    if(instancenull){
    synchronized (OKHttp.class){
    if(null
    instance){
    instance=new OKHttp();
    }
    }
    }
    return instance;
    }
    public OKHttp(){
    client=new OkHttpClient.Builder()
    .connectTimeout(3000, TimeUnit.SECONDS)
    .readTimeout(3000,TimeUnit.SECONDS)
    .writeTimeout(3000,TimeUnit.SECONDS)
    .addInterceptor(new HeadInterceptor())
    .build();
    }
    //doget
    public void doGet(String url,final Class clazz,final NetCallBack netCallBack){
    final Request request=new Request.Builder()
    .url(url)
    .get()
    .build();
    Call call=client.newCall(request);
    call.enqueue(new Callback() {
    @Override
    public void onFailure(Call call, IOException e) {

         }
    
         @Override
         public void onResponse(Call call, final Response response) throws IOException {
             String string = response.body().string();
             Gson gson=new Gson();
             final Object o = gson.fromJson(string, clazz);
             handler.post(new Runnable() {
                 @Override
                 public void run() {
                     netCallBack.LoadOnSuccess(o);
                 }
             });
         }
     });
    

    }
    public void doPost(String url,String name,String pwd,final Class clazz,final NetCallBack netCallBack){
    client = new OkHttpClient();
    FormBody build=new FormBody.Builder()
    .add(“phone”,name)
    .add(“pwd”,pwd)
    .build();
    Request request=new Request.Builder()
    .url(url)
    .post(build)
    .build();
    Call call=client.newCall(request);
    call.enqueue(new Callback() {
    @Override
    public void onFailure(Call call, IOException e) {

         }
    
         @Override
         public void onResponse(Call call, Response response) throws IOException {
             String string = response.body().string();
             Gson gson=new Gson();
             final Object o = gson.fromJson(string, clazz);
             handler.post(new Runnable() {
                 @Override
                 public void run() {
                     netCallBack.LoadOnSuccess(o);
                 }
             });
         }
     });
    

    }
    public interface NetCallBack{
    void LoadOnSuccess(Object data);
    void LoadOnFail();
    }
    }

package com.bawie.songzixin0414.http;

import java.io.IOException;

import okhttp3.Interceptor;
import okhttp3.Request;
import okhttp3.Response;

/**

  • @Author:asus

  • @E-mail: 945574298@163.com

  • @Date:2019/4/14 19:29

  • @Description:描述信息
    */
    public class HeadInterceptor implements Interceptor {

    @Override
    public Response intercept(Chain chain) throws IOException {
    Request request=chain.request();
    Request.Builder builder = request.newBuilder();
    builder.addHeader(“userId”,"");
    builder.addHeader(“sessionId”,"");
    Response proceed = chain.proceed(request);
    return proceed;
    }
    }

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值