使用OkHttp获取本地服务器目录下的json数据并解析为Bean对象
程序员文章站
2022-05-09 09:54:25
如题所示,只是一个单机版的的简单示例。android程序获取apache服务器内的json 数据。文章目录一、 准备工作。二、创建androidStudio工程三,获取json数据四.在界面中显示数据一、 准备工作。在apache服务器的C:\Tomcat 9.0\webapps\ROOT下准备一个简单的json文件,如图所示。并开启服务。二、创建androidStudio工程1.修改布局。布局很简单,只有一个按钮和一个textview,点击按钮时获取服务器的json数据,用textview显示...
如题所示,只是一个单机版的的简单示例。android程序获取apache服务器内的json 数据。
一、 准备工作。
在apache服务器的C:\Tomcat 9.0\webapps\ROOT下准备一个简单的json文件,如图所示。并开启服务。
二、创建androidStudio工程
1.修改布局。布局很简单,只有一个按钮和一个textview,点击按钮时获取服务器的json数据,用textview显示json数据。如图所示。
2.添加OkHttp依赖文件。
三,获取json数据
通过点击按钮获取服务器中的数据,用到了okhttp框架。其中,path为json的地址,如果本机的地址为:192.168.1.9,则path=“http://192.168.1.9:8080/fast.json”
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn_get:
OkHttpClient okHttp=new OkHttpClient();
Request request=new Request.Builder().url(path).build();
Call call=okHttp.newCall(request);
call.enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) { }
@Override
public void onResponse(Call call, Response response) throws IOException {
String str=response.body().string();
Message msg=new Message();
msg.what=0;
msg.obj=str;
mhandler.sendMessage(msg);
}
});
break;
}
}
四.在界面中显示数据
在主线程中,handler处理message并显示在textview或者用Gson解析成Bean对象。
mhandler=new Handler(){
@Override
public void dispatchMessage(@NonNull Message msg) {
super.dispatchMessage(msg);
switch (msg.what){
case 0:
if (msg.obj!=null){
textView.setText((String)msg.obj);//直接显示json数据
parseJsonDate((String)msg.obj);//解析成Bean对象
}
break;
}
}
};
五、使用Gson解析json
添加Gson依赖,
private void parseJsonDate(String obj) {
Gson gson=new Gson();
InfoBean infoBean=gson.fromJson(obj,InfoBean.class);
textView.setText(infoBean.toString());
}
本文地址:https://blog.csdn.net/m0_47761892/article/details/107583466
上一篇: 日本旅游攻略 去日本旅游买什么好