版型有点难看,但都是我亲测好用过了才发表的 大家耐心看哈
加入服务器给我们返回这样的数据,我们怎样处理呢?
下面开始~~
[{"bigImg":"20170810205804.png","touXiang":"20170810205804.png","userCount":11,"wangMing":"wangrun","biaoTi":"直播标题","leShiId":955959,"zhiBoUrl":"直播URl"},{"bigImg":"20170810211640.png","touXiang":"20170810211640.png","userCount":11,"wangMing":"wangrun","biaoTi":"","leShiId":915959,"zhiBoUrl":"rtmp://21469.mpull.live.lecloud.com/live/865982024518063?tm=20170810211641&sign=3b9e38089272ad00f6f5e7d66af5f22d"}]
首先安卓需要接收服务器传过来的数据,那我们就从服务器开始讲
1.首先我是用struts2来做的控制器 安卓发送请求 zhuBo_FaXianQuery() 方法接收请求并处理
2. jar 包的话 可以去我资源里下载,也可以百度下载,毕竟不用花积分
3.我的资源找:将list类型数据转换成json格式需要的包
public void zhuBo_FaXianQuery() {
System.out.println("進來啦");
//list 这个是存放数据的list集合
//dao.zhuBo_FaXianQuery(); 这是dao层的查询全部的方法
List
//我们遍历一下 看看是否拿到了数据
for (Zhibo_zhuBoPlay zhuBo : list) {
System.out.println(zhuBo.getZhiBoUrl()+":播放地址");
}
//通过JSONArray.fromObject(list).toString(); 我们就可以得到了 底部我会附上jar包
String jsonString = JSONArray.fromObject(list).toString();
try {
System.out.println("数据:"+jsonString);
//将数据返回
response.getWriter().write(jsonString);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("執行完成");
// return SUCCESS;
}
到此为止 我们服务器就写完了 接下来是安卓请求端的代码
使用OkHttp写的 流程大家都懂,主要就是讲解一下返回的JsonArray的数据时候的处理
boFang =gson.fromJson(data,new TypeToken>() {}.getType()); //这句话我们就能得到一个List集合数据了
ListboFang = new ArrayList<>();
//请求数据 赋值 显示 OkHttpClient client=new OkHttpClient(); Request request=new Request.Builder().get().url("http://192.168.3.105:8080/MyBatisAndStrutsAndSpring/zhuBo_FaXianQuery").build(); client.newCall(request).enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { } @Override public void onResponse(Call call, Response response) throws IOException { String data=response.body().string(); Log.e("wr_FaXian",data); Gson gson=new Gson(); boFang =gson.fromJson(data,new TypeToken>() {}.getType()); if(boFang.size()<=0){ Log.e("wr_list","空的!!!");return; } for (BoFangEntity in:boFang){ Log.e("wr_list",""+in.getWangMing()); } } });