android网络判断配合NetWork

NetWork
依赖
//解析依赖
implementation ‘com.google.code.gson:gson:2.8.5’
implementation ‘com.android.support:design:28.0.0’
//图片轮播依赖
implementation ‘com.youth.banner:banner:1.4.9’
implementation ‘com.github.bumptech.glide:glide:3.7.0’
//图片框架
implementation ‘com.nostra13.universalimageloader:universal-image-loader:1.9.5’
//pulllist展示
implementation ‘com.github.userswlwork:pull-to-refresh:1.0.0’

//网络请求
 public static String getJson(String urlString){
        try {
            //创建链接
            URL url = new URL(urlString);
            //得到HttpURLConnection
         HttpURLConnection httpURLConnection=(HttpURLConnection) url.openConnection();
           //获取返回码
            int responseCode = httpURLConnection.getResponseCode();
            //判断
            if (responseCode==200){
                InputStream inputStream = httpURLConnection.getInputStream();
                String temp;
                BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
                while ((temp=bufferedReader.readLine())!=null){
                    StringBuffer stringBuffer = new StringBuffer();
                    stringBuffer.append(temp);
                    return stringBuffer.toString();
                }

            }

        } catch (Exception e) {
            e.printStackTrace();
        }
        return "";

    }
    //网络判断
    public static  boolean isconn(Context context){
        ConnectivityManager service = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo info = service.getActiveNetworkInfo();
        if (info!=null && info.isConnected()){
            return true;
        }else{
            return false;
        }
    }

在mainAcyivity里进行判断

private void iniData(int pag) {
        String s = urlString + pag;
        if (NetWorkwhy.isconn(getActivity())){
            new MAsycTask().execute(s);
        }else{
            Toast.makeText(getActivity(),"没网",Toast.LENGTH_LONG).show();
            //查询
            ArrayList<Json.ResultBean> list = userDao.query();
            //获取适配器
            adapter = new MyAdapter(list, getActivity());
            //设置适配器
            pull.setAdapter(adapter);
        }


    }

AsyncTask与数据库是这样写的

 private  class MAsycTask extends AsyncTask<String,Void,String> {

        @Override
        protected String doInBackground(String... strings) {
            //return NetWordUtils.et(strings[0]);
            String netjson = NetWorkwhy.getJson(strings[0]);
            return netjson;

        }

        @Override
        protected void onPostExecute(String s) {
            super.onPostExecute(s);
            Gson gson = new Gson();
            Json json = gson.fromJson(s, Json.class);
            List<Json.ResultBean> result = json.getResult();
            list.addAll(result);
           //获取数据库长度
            for (int i=0;i<list.size();i++){
                String summary = list.get(i).getSummary();
                //添加到数据库
                userDao.add(summary);
            }

            adapter.notifyDataSetChanged();
            pull.onRefreshComplete();

        }


    }

猜你喜欢

转载自blog.csdn.net/qq_42609613/article/details/86518278