Android---利用android-async-http开源项目返回json数据
来源:互联网 发布:java十大低级错误 编辑:程序博客网 时间:2024/05/21 07:50
1. javaEE中导包进行环境搭建
2. web环境中利用Servlet进行json数据解析
1) 获取数据库中的数据进行封装
2) 将List集合转换成一个json数据格式
3) 利用浏览器工具获取Content-Type
4)响应类型Json的数据
相关的代码:
//来自于数据库
UserDaodaoImpl = newUserDaoImpl();
List<User>entities = daoImpl.findAll();
//把List集合转换成一个json的数据格式
JSONArrayjsonArray = JSONArray.fromObject(entities);
//响应类型json的数据
response.setContentType("application/json");
response.getWriter().write(jsonArray.toString());
response.getWriter().close();
3. android中进行json数据的获取
1) Android界面的实现,即activity_json.xml
利用<ListView></ListView>进行搭建
2) 导包,导入所要使用的Android-async-http的最新版本的jar包
android-async-http-1.4.4.jar
当然还可以使用文件包,但是Android-async-http的最新版本的jar包更为方便
3) 利用android-async-http开源项目中的JsonHttpResponseHandler进行json数据的获取
4) 注意添加:<uses-permissionandroid:name="android.permission.INTERNET"/>
5) 调试bug:
原因是:因为线程,主线程和子线程两个线程进行,主线程不能在子线程之前完成,因此出现线程bug。
修改后的相关代码:
packagewww.csdn.net.lesson05_04_json;
importjava.util.ArrayList;
importjava.util.List;
importorg.apache.http.Header;
importorg.json.JSONArray;
importorg.json.JSONException;
importorg.json.JSONObject;
importandroid.app.Activity;
importandroid.os.Bundle;
importandroid.widget.ArrayAdapter;
importandroid.widget.ListView;
importandroid.widget.Toast;
importcom.loopj.android.http.AsyncHttpClient;
importcom.loopj.android.http.JsonHttpResponseHandler;
publicclass JsonActivity extends Activity {
private ListView lv_users;
@Override
protected void onCreate(BundlesavedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_json);
// http://localhost:8080/video/JsonServlet
lv_users=(ListView)findViewById(R.id.lv_users);
//M层 //initData本身在一个子线程中处理
initData();
}
private void initData() {
// 访问服务器端获取json数据
//访问服务器端的json数据
AsyncHttpClient client=newAsyncHttpClient();
Stringurl="http://172.16.237.105:8080/video/JsonServlet";
Toast.makeText(this, "发送请求道服务器",Toast.LENGTH_LONG).show();
client.get(url,newJsonHttpResponseHandler(){
@Override
public void onSuccess(intstatusCode, Header[] headers,
JSONArrayresponse) {
// TODOAuto-generated method stub
super.onSuccess(statusCode,headers, response);
if(statusCode==200){
//存储数据变量
List<String>objects=new ArrayList<>();
for(inti=0;i<response.length();i++){
try{
JSONObjectobj=response.getJSONObject(i);
//System.out.println("序号:"+obj.getInt("id")+"-姓名:"+obj.getString("name")+"-密码:"+obj.getString("pass")+"-"+obj.get("regDate"));
objects.add(obj.getString("name"));
}catch (JSONException e) {
//TODO Auto-generated catch block
e.printStackTrace();
}
}
//C控制层主要就是对数据处理
ArrayAdapter<String>adapter=new ArrayAdapter<>(JsonActivity.this,android.R.layout.simple_expandable_list_item_1,objects);
//设置显示的内容
lv_users.setAdapter(adapter);//C空置
}
}
});
}
}
- Android---利用android-async-http开源项目返回json数据
- Android---利用android-async-http开源项目返回json数据
- android-async-http开源项目对服务器端返回JSON数据的处理
- android-async-http开源项目对服务器端返回JSON数据的处理
- android-async-http开源项目对服务器端返回JSON数据的处理
- 关于开源项目android-async-http
- 开源项目之Android async-http
- android---利用android-async-http开源项目实现网络图片查看器
- 利用android-async-http开源项目实现网络代码查看器
- android-async-http开源项目介绍及使用方法
- android-async-http开源项目介绍及使用方法
- android-async-http开源项目介绍及使用方法
- android-async-http开源项目介绍及使用方法
- android-async-http开源项目介绍及使用方法
- 开源项目之android-async-http开源库
- 使用开源框架android-async-http提交数据
- android开发步步为营之67:使用android开源项目android-async-http异步下载文件
- 开源框架android-async-http使用
- Scripts:查看数据库里面建的directories dba_directories.sql
- 利用Xtrabackup备份集合恢复一台从库的过程
- JAVA学习笔记-对象与类
- codeblocks按c99标准编译c文件的设置
- git的基本操作
- Android---利用android-async-http开源项目返回json数据
- 算法设计分析中的: 骑士问题
- Windows 通信基础(Windows Communication Foundation)
- 用VMware搭建域环境时DHCP问题
- iTween研究院之学习笔记Move移动篇(一)
- SDK更新慢的解决办法
- Decode Ways:from LeetCode
- jquery 选择器
- 陈天桥投入50万回报150亿的创业故事