网络连接是否正常,不正常跳转去设置网络连接再显示数据

package com.example.lxb20170914;

import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.Build;
import android.provider.Settings;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

import com.google.gson.Gson;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity {

    List<List<String>> list=new ArrayList<List<String>>();
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        boolean b = isNetworkConnected(MainActivity.this);
        if(b){
            Toast.makeText(MainActivity.this,"网络连接正常",Toast.LENGTH_SHORT).show();
            new Thread(){

                private StringBuilder builder;
                private URL url;

                @Override
                public void run() {
                    super.run();
                    try {
                        url = new URL("https://suggest.taobao.com/sug?code=utf-8&q=%E6%98%BE%E7%A4%BA%E5%99%A8");
                        URLConnection connection = url.openConnection();
                        InputStream stream = connection.getInputStream();
                        BufferedReader reader = new BufferedReader(new InputStreamReader(stream));
                        builder = new StringBuilder();
                        String tem="";
                        while((tem=reader.readLine())!=null){
                            builder.append(tem);
                        }

                    } catch (MalformedURLException e) {
                        e.printStackTrace();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                    runOnUiThread(new Runnable() {

                        private ListView lv;

                        @Override
                        public void run() {

                            //解析
                            Gson gson = new Gson();
                            Bean bean = gson.fromJson(builder.toString(), Bean.class);
                            list = bean.getResult();
                            lv =(ListView)findViewById(R.id.lv);
                            lv.setAdapter(new mydata());
                        }
                    });
                }
            }.start();//读取数据,解析数据,展示数据
        }else{
            Toast.makeText(MainActivity.this,"网络连接异常",Toast.LENGTH_SHORT).show();
            AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
                                builder.setTitle("网络连接")
                                        .setMessage("网络已断开...")
                                        .setIcon(R.mipmap.ic_launcher)
                                        .setPositiveButton("去设置", new DialogInterface.OnClickListener() {
                                            @Override
                                            public void onClick(DialogInterface dialogInterface, int i) {
                                                Intent intent=null;
                                                if(Build.VERSION.SDK_INT>10){
                                                     intent = new Intent(Settings.ACTION_WIRELESS_SETTINGS);
                                                }else{
                                                    intent=new Intent();
                                                    intent.setClassName("com.android.settings","com.android.settings.WirelessSettings");
                                                }
                                                startActivity(intent);
                                            }
                                        });
            builder.setNegativeButton("退出",null);
            builder.create().show();
        }

    }

    class mydata extends BaseAdapter{

        @Override
        public int getCount() {
            return list.size();
        }

        @Override
        public Object getItem(int i) {
            return list.get(i);
        }

        @Override
        public long getItemId(int i) {
            return i;
        }

        @Override
        public View getView(int i, View view, ViewGroup viewGroup) {
            ViewHolder vh;
            if (view==null){
                vh=new ViewHolder();
                view=View.inflate(MainActivity.this,R.layout.textview,null);
                vh.name=(TextView)view.findViewById(R.id.name);
                vh.hao=(TextView)view.findViewById(R.id.hao);
                view.setTag(vh);
            }else{
                vh=(ViewHolder)view.getTag();
            }
            vh.name.setText(list.get(i).get(0));
            vh.hao.setText(list.get(i).get(1));
            return view;
        }
        class ViewHolder{
            TextView name,hao;
        }
    }
    public boolean isNetworkConnected(Context context) {//判断网络是否通畅
        if (context != null) {
            ConnectivityManager service = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
            NetworkInfo info = service.getActiveNetworkInfo();
            if (info != null) {
                return info.isAvailable();
            }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值