package com.example.rikao2;
import android.annotation.SuppressLint;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.TextView;
import com.example.bean.bean;
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.net.URLConnection;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
private Button btn;
private TextView tv;
private String murl="https://suggest.taobao.com/sug?code=utf-8&q=%E6%89%8B%E6%9C%BA";
private List<List<String>> result = new ArrayList<>();
@SuppressLint("HandlerLeak")
private Handler handler=new Handler(){
@Override
public void handleMessage(Message msg) {
if(msg.what==21)
{
String s = msg.obj.toString();
tv.setText(s);
Log.d( "handleMessage: zzz",s);
Gson gson=new Gson();
bean bean = gson.fromJson(s, bean.class);
result = bean.getResult();
Log.d("handleMessage: zzz", result +"");
}
}
};
private ListView lv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = findViewById(R.id.btn);
tv = findViewById(R.id.tv);
lv = findViewById(R.id.lv);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new Thread(new Runnable() {
@Override
public void run() {
indata();
}
}).start();
}
});
lv.setAdapter(new MyAdapter());
}
private void indata() {
try {
URL url=new URL(murl);
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setRequestMethod("GET");
String fileContent= fileContent(urlConnection.getInputStream());
Message me=new Message();
me.what=21;
me.obj=fileContent;
handler.sendMessage(me);
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
private String fileContent(InputStream inputStream) throws IOException {
BufferedReader read=new BufferedReader(new InputStreamReader(inputStream));
StringBuilder builder=new StringBuilder();
String con;
while((con=read.readLine())!=null)
{
builder.append(con);
}
return builder.toString();
}
class MyAdapter extends BaseAdapter{
@Override
public int getCount() {
return result.size();
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if(convertView==null)
{
convertView=View.inflate(MainActivity.this,R.layout.item,null);
holder=new ViewHolder();
holder.name=convertView.findViewById(R.id.name);
convertView.setTag(holder);
}
else
{
holder= (ViewHolder) convertView.getTag();
}
holder.name.setText(result.get(position).toString());
return convertView;
}
}
class ViewHolder{
TextView name;
}
}