通过POST请求得到数据,并添加到列表显示
2016-04-20 23:28
295 查看
部门的网络获取通讯录作业。感觉蛮有实用度的 。
POST请求用到的是OKHTTP的包。
用到的列表适配器的相关东西在上一个博客
POST请求用到的是OKHTTP的包。
用到的列表适配器的相关东西在上一个博客
package com.example.wang23333.listtext; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.ListView; import com.squareup.okhttp.FormEncodingBuilder; import com.squareup.okhttp.OkHttpClient; import com.squareup.okhttp.Request; import com.squareup.okhttp.RequestBody; import com.squareup.okhttp.Response; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import java.util.ArrayList; import java.util.List; import bean.Bean; public class MainActivity extends AppCompatActivity { private ListView mlist; private List<Bean> mBean; private New_Myadapter myadapter; String result; String realname; String mobile; static OkHttpClient client = new OkHttpClient(); String url = "这里是请求数据的地址"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); /** * 网络请求和UI放在两个线程里面 */ new Thread(new Runnable() { @Override public void run() { try { result = post(); runOnUiThread(new Runnable() { @Override public void run() { initDatas(); initViews(); } }); } catch (Exception e) { e.printStackTrace(); } } }).start(); } public String post() throws Exception { RequestBody body = new FormEncodingBuilder() .add("键", "值")//发送过去的键值对 .build(); final Request request = new Request.Builder() .url(url) .post(body) .build(); Response response = client.newCall(request).execute(); if(response.isSuccessful()){ return response.body().string();//得到传回的数据 } else { return "wrong"; } } /** * 配置列表适配 */ public void initViews(){ mlist = (ListView)findViewById(R.id.list); mlist.setAdapter(myadapter); } /** * json数据处理 * 数据放入列表 */ public void initDatas(){ mBean = new ArrayList<Bean>(); Bean bean; JSONArray arr = null; try { arr = new JSONArray(result); //根据数据条数循环添加数据 for (int i = 0; i < arr.length(); i++) { JSONObject temp = (JSONObject) arr.get(i); realname = temp.getString("realname"); mobile = temp.getString("mobile"); bean = new Bean(realname,mobile); mBean.add(bean); } } catch (JSONException e) { e.printStackTrace(); } myadapter = new New_Myadapter(this,mBean); } }
相关文章推荐
- php结合安卓客户端实现查询交互实例
- 安卓输入框被虚拟键盘挡住的问题(微信开发)
- Android安卓中循环录像并检测内存卡容量
- 在安卓系统中插入表情到光标位置的代码详解
- Almp 安卓系统上搭建本地php服务器环境的步骤
- 谷歌被屏蔽后如何搭建安卓环境
- 安卓APP测试之使用Burp Suite实现HTTPS抓包方法
- 安卓(Android)聊天机器人实现代码分享
- Android中Fragment的生命周期与返回栈的管理
- Android获取手机通讯录、sim卡联系人及调用拨号界面方法
- Android使用ContentResolver搜索手机通讯录的方法
- Android实现仿通讯录侧边栏滑动SiderBar效果代码
- Android实现通讯录效果――获取手机号码和姓名
- Python 实现简单的电话本功能
- Ionic实现仿通讯录点击滑动及$ionicscrolldelegate使用分析
- 分享一个安卓的内置多种工具类的Activity
- 安卓系统中实现摇一摇画面振动效果的方法
- java实现获取安卓设备里已安装的软件包
- Android通讯录开发之删除功能的实现方法