package com.example.jsonjiexi;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ListView;
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.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.List;
public class MainActivity extends AppCompatActivity {
private ListView listView;
private Button button;
private ContentAdapter adapter;
private final int UPDATE_UI = 1;
private Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
switch (msg.what){
case UPDATE_UI:
adapter.setResult((List<List<String>>)msg.obj);
break;
}
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView = findViewById(R.id.list_item);
button = findViewById(R.id.button);
adapter = new ContentAdapter(this);
listView.setAdapter(adapter);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(!NetWork.HasNetUitlWork(MainActivity.this)){
Toast.makeText(MainActivity.this,"当前网络不可用",Toast.LENGTH_LONG).show();
return;
}
new Thread(
new Runnable() {
@Override
public void run() {
SelectPhone();
}
}
).start();
}
});
}
private String StrUrl = "https://suggest.taobao.com/sug?code=utf-8&q=%E6%89%8B%E6%9C%BA";
private void SelectPhone(){
//定义地址
try {
URL url = new URL(StrUrl);
//打开连接
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
//设置超时
//请求方法
int responseCode = urlConnection.getResponseCode();
if(responseCode == 200){
String result = streamTostring(urlConnection.getInputStream());
//过的Gson
Bean bean = new Gson().fromJson(result, Bean.class);
handler.sendMessage(handler.obtainMessage(UPDATE_UI,bean.getResult()));
}
} catch (Exception e) {
e.printStackTrace();
}
}
private String streamTostring(InputStream is) throws IOException {
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
StringBuilder stringBuilder = new StringBuilder();
for(String mmp = br.readLine();mmp!=null;mmp = br.readLine()){
stringBuilder.append(mmp);
}
return stringBuilder.toString();
}
}