Android中判断网络是否连接

//封装一个判断网络类
public class HttpNet {
   public static boolean isNetConnected(Context context) {
   	 boolean isNetConnected;
    // 获得网络连接服务
   	 ConnectivityManager connManager = (ConnectivityManager) context
            .getSystemService(Context.CONNECTIVITY_SERVICE);
 	  NetworkInfo info = connManager.getActiveNetworkInfo();
    if (info != null && info.isAvailable()) {
        isNetConnected = true;
    } else {
        isNetConnected = false;
    }
    return isNetConnected;
    }
}

//有网络时,网上加载数据,没网时,加载本地的数据
public class Frag21 extends Fragment {

private PullToRefreshListView pulllistview;
private int num = 1;
private String Url = "http://www.xieast.com/api/news/news.php?page=";
private HttpUtils httpUtils;
private ArrayList<User.DataBean> list = new ArrayList<>();
//private DbUtils dbUtils;
private MyAdapter myAdapter;
private DbUtils dbUtils;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment_frag21, container, false);
    //初始化控件
    pulllistview = view.findViewById(R.id.pulllistview);

    dbUtils = new DbUtils(getActivity());
    //设置模型
    pulllistview.setMode(PullToRefreshBase.Mode.BOTH);


    //设置适配器
    myAdapter = new MyAdapter(getActivity(), list);
    pulllistview.setAdapter(myAdapter);

    //设置监听
    pulllistview.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
        @Override
        public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
            Toast.makeText(getActivity(), "fd", Toast.LENGTH_SHORT).show();
            list.clear();
            getmData(1);
        }

        @Override
        public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
            Toast.makeText(getActivity(), "上拉", Toast.LENGTH_SHORT).show();
            num++;
            getmData(num);
        }
    });
    getmData(1);
    return view;
}


//获取数据
public void getmData(int num) {

    boolean flag = new HttpNet().isNetConnected(getActivity());
    // Toast.makeText(getActivity(),""+b,Toast.LENGTH_SHORT).show();
    if (flag) {
        //实例化对象
        httpUtils = new HttpUtils();
        httpUtils.getpath(Url + num);
        httpUtils.gethttpUtils(new HttpUtils.SetDate() {

            @Override
            public void getData(String str) {
                Gson gson = new Gson();
                User user = gson.fromJson(str, User.class);
                //把数据缓存到本地数据库
                dbUtils.insert(str);
                list.addAll(user.getData());
                myAdapter.getList(list);
                pulllistview.onRefreshComplete();
            }
        });
    } else {
        Toast.makeText(getActivity(), "亲,没网啦", Toast.LENGTH_SHORT).show();
        String query = dbUtils.query();
        Toast.makeText(getActivity(), query.toString(), Toast.LENGTH_SHORT).show();
        User userdata = new Gson().fromJson(query, User.class);
        List<User.DataBean> dataBeanList = userdata.getData();
        list.addAll(dataBeanList);
        myAdapter.getList(list);
    }
}

}

猜你喜欢

转载自blog.csdn.net/wzj_8899174/article/details/83379073
今日推荐