JSon

public class MainActivity extends AppCompatActivity {

private ListView mLVContents;
private DemoAdapter mAdapter;
private final int  UPDATE_UI = 1;

private Handler mHandler = new Handler(){
    @Override public void handleMessage(Message msg) {
        switch (msg.what) {
            case UPDATE_UI:
                mAdapter.setmDatas((List<List<String>>) msg.obj);
                break;
        }
    }
};
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    mLVContents = findViewById(R.id.lv_contents);
    mAdapter = new DemoAdapter(this);
    mLVContents.setAdapter(mAdapter);

    findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            //网络判断
            if(!NetUtil.hasNetwork(MainActivity.this)) {
                showNotNetworkDialog();
                return;
            }
            //查询数据
            new Thread(new Runnable() {
                @Override
                public void run() {
                    initDate();
                }
            }).start();
        }
    });

    mLVContents.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView <?> adapterView, View view, int i, long l) {
            List <String> data = mAdapter.getItem(i);
            Toast.makeText(MainActivity.this,data.get(0)+":"+data.get(1),Toast.LENGTH_LONG).show();
        }
    });

}


private void showNotNetworkDialog() {
       new AlertDialog.Builder(this)
               .setTitle("没有可用网络")
               .setMessage("当前网络不可用,是否去设置")
               .setPositiveButton("确认", new DialogInterface.OnClickListener() {
                   @Override
                   public void onClick(DialogInterface dialogInterface, int i) {
                       dialogInterface.dismiss();
                       Toast.makeText(MainActivity.this, "去设置", Toast.LENGTH_LONG).show();
                   }
               })
               .setNegativeButton("取消", new DialogInterface.OnClickListener() {
                   @Override
                   public void onClick(DialogInterface dialogInterface, int i) {
                       dialogInterface.dismiss();
                   }
               }).show();


}

String urlStr = "https://suggest.taobao.com/sug?code=utf-8&q=%E6%89%8B%E6%9C%BA";
private void initDate() {
    try {
        URL url = new URL(urlStr);
        HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
        // 请求方法  超时
        int responseCode = urlConnection.getResponseCode();
        if(responseCode == 200) {
            String result = stream2String(urlConnection.getInputStream());
            Bean bean = new Gson().fromJson(result, Bean.class);
            mHandler.sendMessage(mHandler.obtainMessage(UPDATE_UI, bean.getResult()));
        }
    } catch (MalformedURLException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
}



private String stream2String(InputStream inputStream) throws IOException {
    StringBuilder sb = new StringBuilder();

    BufferedReader br = new BufferedReader(new InputStreamReader(inputStream));
    for (String tmp = br.readLine(); tmp != null; tmp = br.readLine()){
        sb.append(tmp);
    }

    return sb.toString();
}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值