最新项目考纲

package com.bwie.sues.frment;

import android.util.Log;
import android.widget.ListView;
import android.widget.Toast;

import com.bwie.sues.R;
import com.bwie.sues.adapter.PullAdapter;
import com.bwie.sues.base.BaseFrament;
import com.bwie.sues.bean.Nbean;
import com.bwie.sues.db.DbshopBean;
import com.bwie.sues.db.ShopDao;
import com.bwie.sues.utils.HttpUtils;
import com.bwie.sues.utils.Net;
import com.google.gson.Gson;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshListView;

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

/**
 * Created by 第一缕阳光 on 2018/7/28.
 */

public class frament1 extends BaseFrament implements HttpUtils.NetCallback {
    private int type = 5010;
    private String url = "http://ttpc.dftoutiao.com/jsonpc/refresh?type=" + type;
    private PullToRefreshListView prfl;
    private ShopDao shopDao;
    private List<Nbean.DataBean> datas;
    private PullAdapter adapter;
    private Net net;


    @Override
    protected int getlayoutId() {
        return R.layout.fra1;
    }

    @Override
    protected void initView() {

        prfl = (PullToRefreshListView) rootView.findViewById(R.id.prfl);
    }

    @Override
    protected void initData() {
        net = new Net();
        shopDao = new ShopDao(getActivity());
        prfl.setMode(PullToRefreshBase.Mode.BOTH);
        prfl.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
            @Override
            public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {

                type =5010;
                logdata(net);

            }

            @Override
            public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
                type=type+1;
                logdata(net);
            }
        });

        datas= new ArrayList<>();
        adapter = new PullAdapter(getActivity(), datas);
        prfl.setAdapter(adapter);
        logdata(net);

    }

    private void logdata(Net net) {
        boolean mobileConnected = net.isMobileConnected(getActivity());
        DbshopBean query = shopDao.query(url);
        if (query != null) {
            jsondata(query.json);

        } else {
            if (mobileConnected) {
                HttpUtils.getInstance().getDataFromServer(url, this);

            } else {
                Toast.makeText(getActivity(), "没有网络", Toast.LENGTH_SHORT).show();


                Log.i("a","sdfsd");

            }
        }
    }

    @Override
    public void onSuccess(String result) {

        String json = result.replace("null(", "").replace(")", "");
        shopDao.insert(new DbshopBean(url, json));
        jsondata(json);

    }

    private void jsondata(String json) {
        Gson gson = new Gson();
        Nbean nbean = gson.fromJson(json, Nbean.class);
        if (type == 5010) {
            datas.clear();
        }
        datas.addAll(nbean.getData());

        HashSet hashSet = new HashSet(datas);
        datas.clear();
        datas.addAll(hashSet);
        adapter.notifyDataSetChanged();

        prfl.postDelayed(new Runnable() {
            @Override
            public void run() {
                prfl.onRefreshComplete();
            }
        }, 1000);




    }


    @Override
    public void onError(String result) {

    }
}

猜你喜欢

转载自blog.csdn.net/qq_41628942/article/details/81275641