try {
URL url=new URL("http://172.17.8.100/movieApi/movie/v1/findHotMovieList?page=1&count=10");
HttpURLConnection connection= (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setConnectTimeout(3000);
if (connection.getResponseCode()==200){
InputStreamReader inputStreamReader=new InputStreamReader(connection.getInputStream());
BufferedReader reader=new BufferedReader(inputStreamReader);
String str="";
String str1="";
while ((str=reader.readLine())!=null){
str1+=str;
}
Message message=Message.obtain();
message.obj=str1;
handler.sendMessage(message);
}
} catch (Exception e) {
e.printStackTrace();
}
解析
Handler handler=new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
String srr= (String) msg.obj;
Gson gson=new Gson();
User user = gson.fromJson(srr, User.class);
list.addAll(user.getResult());
MyAdapter myAdapter=new MyAdapter(list,MainActivity.this);
listView.setAdapter(myAdapter);
}
};
设置适配器和ViewHolder优化
private ArrayList<User.resultbase> list;
private Context context;
public MyAdapter(ArrayList<User.resultbase> list, Context context) {
this.list = list;
this.context = context;
}
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(int position) {
return list.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder=null;
if (convertView==null){
convertView=View.inflate(context,R.layout.item_list,null);
holder=new ViewHolder();
holder.image=convertView.findViewById(R.id.image);
holder.text1=convertView.findViewById(R.id.text1);
holder.text2=convertView.findViewById(R.id.text2);
convertView.setTag(holder);
}else {
holder= (ViewHolder) convertView.getTag();
}
holder.text1.setText(list.get(position).getName());
holder.text2.setText(list.get(position).getSummary());
Picasso.with(context).load(list.get(position).getImageUrl()).into(holder.image);
return convertView;
}
class ViewHolder{
ImageView image;
TextView text1,text2;
}