网络请求展示到listview
来源:互联网 发布:娃娃音网络女歌手 编辑:程序博客网 时间:2024/05/21 09:57
package com.example.unit3_httppost_demo;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
import com.google.gson.Gson;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.TextView;
public class MainActivity extends Activity {
private List<Weixin> lists;
private Handler myHandler=new Handler(){
public void handleMessage(android.os.Message msg) {
//接收数据
lists=(List<Weixin>) msg.obj;
//更新listview
MyAdapter adapter=new MyAdapter();
lv.setAdapter(adapter);
};
};
private ListView lv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lv = (ListView) findViewById(R.id.lv);
}
class MyAdapter extends BaseAdapter{
@Override
public int getCount() {
// TODO Auto-generated method stub
return lists.size();
}
@Override
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public long getItemId(int arg0) {
// TODO Auto-generated method stub
return 0;
}
@Override
public View getView(int arg0, View arg1, ViewGroup arg2) {
arg1=View.inflate(MainActivity.this, R.layout.item, null);
TextView tvS=(TextView) arg1.findViewById(R.id.tv_source);
TextView tvT=(TextView) arg1.findViewById(R.id.tv_title);
tvS.setText(lists.get(arg0).getSource());
tvT.setText(lists.get(arg0).getTitle());
return arg1;
}
}
public void requestdata(View v){
//1.开启子线程
new Thread(){
public void run() {
//1.创建httpclient对象
HttpClient hc=new DefaultHttpClient();
//2.使用post请求,HttpPost get,HttpGet,需要添加请求的网址
HttpPost hp=new HttpPost("http://v.juhe.cn/weixin/query");
//将请求的参数放到此集合对象中
List<BasicNameValuePair> parameters=new ArrayList<BasicNameValuePair>();
//BasicNameValuePair:键值对
parameters.add(new BasicNameValuePair("key", "88f7bbc507e3ecacfaeab2b47dd8936f"));
parameters.add(new BasicNameValuePair("pno", "1"));
parameters.add(new BasicNameValuePair("ps", "10"));
parameters.add(new BasicNameValuePair("pno", "1"));
parameters.add(new BasicNameValuePair("dtype", "json"));
//3.设置参数数据 HttpEntity是接口
HttpEntity entity;
try {
entity = new UrlEncodedFormEntity(parameters, "utf-8");
hp.setEntity(entity);
//4.执行请求
HttpResponse response = hc.execute(hp);
//5.得到结果码,判断
int code=response.getStatusLine().getStatusCode();
if(code==200){
//6.获得结果
HttpEntity result = response.getEntity();
String content=EntityUtils.toString(result);
Log.d("zzz", content);
//进行解析
Gson gs=new Gson();
Result weixinResult=gs.fromJson(content, Result.class);
//发送消息,更新界面
Message msg=Message.obtain();
msg.obj=weixinResult.getResult().getList();
myHandler.sendMessage(msg);
}
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
};
}.start();
}
}
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
import com.google.gson.Gson;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.TextView;
public class MainActivity extends Activity {
private List<Weixin> lists;
private Handler myHandler=new Handler(){
public void handleMessage(android.os.Message msg) {
//接收数据
lists=(List<Weixin>) msg.obj;
//更新listview
MyAdapter adapter=new MyAdapter();
lv.setAdapter(adapter);
};
};
private ListView lv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lv = (ListView) findViewById(R.id.lv);
}
class MyAdapter extends BaseAdapter{
@Override
public int getCount() {
// TODO Auto-generated method stub
return lists.size();
}
@Override
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public long getItemId(int arg0) {
// TODO Auto-generated method stub
return 0;
}
@Override
public View getView(int arg0, View arg1, ViewGroup arg2) {
arg1=View.inflate(MainActivity.this, R.layout.item, null);
TextView tvS=(TextView) arg1.findViewById(R.id.tv_source);
TextView tvT=(TextView) arg1.findViewById(R.id.tv_title);
tvS.setText(lists.get(arg0).getSource());
tvT.setText(lists.get(arg0).getTitle());
return arg1;
}
}
public void requestdata(View v){
//1.开启子线程
new Thread(){
public void run() {
//1.创建httpclient对象
HttpClient hc=new DefaultHttpClient();
//2.使用post请求,HttpPost get,HttpGet,需要添加请求的网址
HttpPost hp=new HttpPost("http://v.juhe.cn/weixin/query");
//将请求的参数放到此集合对象中
List<BasicNameValuePair> parameters=new ArrayList<BasicNameValuePair>();
//BasicNameValuePair:键值对
parameters.add(new BasicNameValuePair("key", "88f7bbc507e3ecacfaeab2b47dd8936f"));
parameters.add(new BasicNameValuePair("pno", "1"));
parameters.add(new BasicNameValuePair("ps", "10"));
parameters.add(new BasicNameValuePair("pno", "1"));
parameters.add(new BasicNameValuePair("dtype", "json"));
//3.设置参数数据 HttpEntity是接口
HttpEntity entity;
try {
entity = new UrlEncodedFormEntity(parameters, "utf-8");
hp.setEntity(entity);
//4.执行请求
HttpResponse response = hc.execute(hp);
//5.得到结果码,判断
int code=response.getStatusLine().getStatusCode();
if(code==200){
//6.获得结果
HttpEntity result = response.getEntity();
String content=EntityUtils.toString(result);
Log.d("zzz", content);
//进行解析
Gson gs=new Gson();
Result weixinResult=gs.fromJson(content, Result.class);
//发送消息,更新界面
Message msg=Message.obtain();
msg.obj=weixinResult.getResult().getList();
myHandler.sendMessage(msg);
}
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
};
}.start();
}
}
阅读全文
0 0
- 网络请求展示到listview
- Android_请求网络数据展示到Listview
- 网络请求并展示到ListView上
- 网络请求+ListView展示数据+数据库
- OkHttp请求网络数据,并listview展示
- 文章标题 listview网络请求数据展示
- xListView主页面请求网络数据展示到listView的三个步骤
- 获取网络图片展示到ListView上
- ListView多条目展示 请求网络数据 和图片
- listview网络请求数据并实现多条目展示
- ListView展示 网络请求的数据, 并LoaderImage请求网络图片
- 解析网络json数据并展示到ListView上
- 二级列表展示网络请求到的数据
- HttpUrlconnectionPsot方法请求listview展示
- 网络请求图片和json解析,在listView中展示出来
- android MVP+Retrofit2.0与RxJava网络请求数据,listview展示
- Android studio请求网络数据ListView异步加载展示文字条目 ImageLoadler加载图片
- 网络数据请求XListView展示
- C++ 有用的资源
- 临界区、相关临界区
- IO Streams:数据流
- 304. Range Sum Query 2D
- InstallShield帮助文档(译一)
- 网络请求展示到listview
- Linux根目录下的文件夹含义以及常用命令
- 管道命令和xargs的区别(经典解释)
- 轻松玩转word表格拆分与合并
- 串口通信与编程01:串口基础知识
- 美政府宣布将重返月球,建立永久性基地;携程回应公众号诽谤丨价值早报
- 鹿晗公布恋情致微博宕机;微信发布国庆长假数据报告;三星宣布将销售翻新版Note 7 丨价值早报
- 信手拈来按建帮你来操作技巧大全
- 支付宝伪造交易截图软件