使用HttpClient请求数据显示在ListView上
来源:互联网 发布:入骨相思知不知微盘 编辑:程序博客网 时间:2024/06/08 07:34
android标签中的权限
android {useLibrary 'org.apache.http.legacy'
}package fmh.bwie.com.lianxi;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.support.v7.app.AppCompatActivity;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.google.gson.Gson;import org.apache.http.HttpEntity;import org.apache.http.HttpResponse;import org.apache.http.client.HttpClient;import org.apache.http.client.methods.HttpGet;import org.apache.http.impl.client.DefaultHttpClient;import org.apache.http.util.EntityUtils;import java.io.IOException;import java.util.List;public class MainActivity extends AppCompatActivity { String url = "http://www.toutiao.com/api/pc/focus/"; private Button button; Handler handler = new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); if (msg.what==1){ String s = (String) msg.obj; Gson gson = new Gson(); Http http = gson.fromJson(s, Http.class); list = http.getData().getPc_feed_focus(); lv.setAdapter(new MyAdapter()); new MyAdapter().notifyDataSetChanged(); } } }; private ListView lv; private List<Http.DataBean.PcFeedFocusBean> list; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //获取控件 button = (Button)findViewById(R.id.button); lv = (ListView)findViewById(R.id.lv); //设置点击事件 button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { new Thread(){ @Override public void run() { super.run(); HttpClient defaultHttpClient = new DefaultHttpClient(); HttpGet httpGet = new HttpGet(url); try { HttpResponse response = defaultHttpClient.execute(httpGet); if (response.getStatusLine().getStatusCode()==200){ HttpEntity entity = response.getEntity(); String string = EntityUtils.toString(entity); Message message = handler.obtainMessage(); message.obj=string; message.what =1; handler.sendMessage(message); } } catch (IOException e) { e.printStackTrace(); } } }.start(); } }); } private class MyAdapter extends BaseAdapter { @Override public int getCount() { return list.size(); } @Override public Object getItem(int i) { return list.get(i); } @Override public long getItemId(int i) { return i; } @Override public View getView(int i, View view, ViewGroup viewGroup) { View view1 = View.inflate(MainActivity.this, R.layout.lv_item, null); TextView title = (TextView) view1.findViewById(R.id.title); title.setText(list.get(i).getTitle()); return view1; } }}
阅读全文
0 0
- 使用HttpClient请求数据显示在ListView上
- 今日头条实现3秒切换文字信息(HttpConnection请求),再用HttpClient请求数据展示在ListView上
- 请求网络数据,解析JSON,显示在listview上(采用thread,handler)
- Android使用HttpClient请求网络上的数据
- 使用httpClient联网请求数据
- okhttp请求远程数据并在ListView显示
- json数据解析并显示在listView上
- 使用ListView 显示数据
- Android使用ListView将数据显示到手机屏幕上
- 使用单个httpclient实例请求数据。
- 使用httpclient utf8方式请求数据
- 使用httpClient请求的网络数据
- 网络请求Json解析显示在listview
- Android 通过GET请求利用pull解析器获取XML格式数据在ListView控件显示
- 请求访问数据 展示在listview上 多条目根据奇偶数
- ListView使用SimpleAdapter显示数据
- httpclient网络请求数据
- HttpClient请求数据
- Java多态性理解
- 23种设计模式介绍
- 关于集合的杂项知识点
- unity 3D C# 变量继承时如何重写?
- 知乎网站胡说八道,误人子弟!
- 使用HttpClient请求数据显示在ListView上
- Educational Codeforces Round 23 F. MEX Queries(线段树区间设值)
- 分布式系统基础-分布式事务
- java面试题(4)
- 【面向HTML--图像和链接】
- linux环境下安装 pycrypto
- CSS动画
- 浅谈自动以控件
- 干电池,湿电池, 原电池