HttpUrlconnectionPsot方法请求listview展示
来源:互联网 发布:freemind软件 编辑:程序博客网 时间:2024/06/02 02:45
package homework02.httpurlconnectionpost2;import android.os.Handler;import android.os.Message;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ListView;import android.widget.TextView;import android.widget.Toast;import com.google.gson.Gson;import java.io.InputStream;import java.io.OutputStream;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;import java.net.URLConnection;import java.net.URLEncoder;import java.util.List;import homework02.httpurlconnectionpost2.bean.MenuInfo;import homework02.httpurlconnectionpost2.utils.StreamTools;public class MainActivity extends AppCompatActivity { private ListView lv; private List<MenuInfo.ResultBean.DataBean> list; private Handler handler = new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); switch (msg.what) { case 1: MenuInfo menuInfo = (MenuInfo) msg.obj; list = menuInfo.getResult().getData(); MyAdapter adapter = new MyAdapter(); lv.setAdapter(adapter); break; case 2: Toast.makeText(MainActivity.this, "请求错误", Toast.LENGTH_SHORT).show(); break; } } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //初始化控件 initview(); //从网上获取数据 readFile(); } //listview适配器 class MyAdapter extends BaseAdapter { @Override public int getCount() { return list != null ? list.size() : 0; } @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 = convertView.inflate(MainActivity.this, R.layout.item, null); holder = new ViewHolder(); holder.textView = (TextView) convertView.findViewById(R.id.txt); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } holder.textView.setText(list.get(position).getSteps().get(0).getStep()); return convertView; } class ViewHolder { TextView textView; } } private void readFile() { //创建一个子线程 new Thread() { @Override //重写run方法 public void run() { super.run(); try { //接口地址 URL url = new URL("http://apis.juhe.cn/cook/query.php"); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); //请求方式post connection.setRequestMethod("POST"); connection.setReadTimeout(5000); connection.setConnectTimeout(5000); OutputStream os = connection.getOutputStream(); os.write(("key=0348a7bbfb2b2175e7bfd45ef47a5324&menu=锅包肉").getBytes()); os.flush(); int code = connection.getResponseCode(); if (code == 200) { InputStream is = connection.getInputStream(); String json = StreamTools.readfiles(is); //解析 Gson gson = new Gson(); MenuInfo menuInfo = gson.fromJson(json, MenuInfo.class); Message msg = handler.obtainMessage(); msg.what = 1; msg.obj = menuInfo; handler.sendMessage(msg); } else { handler.sendEmptyMessage(2); } } catch (Exception e) { e.printStackTrace(); } } }.start(); } private void initview() { lv = (ListView) findViewById(R.id.listview); }}
阅读全文
0 0
- HttpUrlconnectionPsot方法请求listview展示
- 网络请求展示到listview
- Android_请求网络数据展示到Listview
- 网络请求+ListView展示数据+数据库
- OkHttp请求网络数据,并listview展示
- 网络请求并展示到ListView上
- 文章标题 listview网络请求数据展示
- mvp,retrofit请求;listview,fresco展示图片
- ListView展示不同类型条目的实现方法
- Fiddler:自定义添加一列展示请求方法
- ListView多条目展示 请求网络数据 和图片
- listview网络请求数据并实现多条目展示
- ListView展示 网络请求的数据, 并LoaderImage请求网络图片
- php做接口+android 请求API接口并展示到ListView例子
- 网络请求图片和json解析,在listView中展示出来
- xListView主页面请求网络数据展示到listView的三个步骤
- android MVP+Retrofit2.0与RxJava网络请求数据,listview展示
- 请求访问数据 展示在listview上 多条目根据奇偶数
- 88. Merge Sorted Array
- C#---ADO.net
- Codeforces 822 C. Hacker, pack your bags! 思维
- (OK) MIMP
- Ubuntu16.04 +cuda8.0+cudnn+opencv+caffe+theano+tensorflow配置明细
- HttpUrlconnectionPsot方法请求listview展示
- 关于Jquery版本的Ajax和SpringMVC拦截器(Interceptor)
- 数据库 第一、第二、第三范式说明
- SQL的having和where的区别
- 【GDOI2018模拟7.9】期末考试
- Python编码问题
- 通过摄像机视频设备或者流媒体服务器SDK获取到数据转换成RTMP流实现网页/手机微信播放
- The VirtualBox Linux kernel driver (vboxdrv) is either not loaded
- 踏入写博客的行列