XUtils访问服务器获取json数据,并用Gson解析json
2018-03-22 10:05
1071 查看
Mainactivity.java
package com.example.xutils;
import java.util.ArrayList;
import com.google.gson.Gson;
import com.lidroid.xutils.HttpUtils;
import com.lidroid.xutils.exception.HttpException;
import com.lidroid.xutils.http.ResponseInfo;
import com.lidroid.xutils.http.callback.RequestCallBack;
import com.lidroid.xutils.http.client.HttpRequest.HttpMethod;
import android.app.Activity;
import android.app.Fragment;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.content.Context;
import android.os.Bundle;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.View;
import android.view.ViewGroup;
import android.widget.RadioButton;
import android.widget.Toast;
public class MainActivity extends Activity {
ViewPager viewPager;
RadioButton first,news,services,home,setting;
ArrayList<View> views;
private String result;
private HttpUtilsMethord httpUtils;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
HttpUtils utils = new HttpUtils();
utils.send(HttpMethod.GET, "http://testp.longtugame.com/apimob/unionConfig", new RequestCallBack<String>() {
@Override
public void onSuccess(ResponseInfo<String> responseInfo) {
result = responseInfo.result;
System.out.println(result);
}
@Override
public void onFailure(HttpException error, String msg) {
// 请求失败
error.printStackTrace();
Toast.makeText(MainActivity.this, msg, Toast.LENGTH_SHORT).show();
}
});
Gson gson = new Gson();
JavaBean data = gson.fromJson(result, JavaBean.class);
System.out.println(data);
}
}
JavaBean.javapackage com.example.xutils;
/**
* 使用Gson解析时,对象书写技巧
* 逢{}创建对象,逢[]创建集合ArrayList
* 所有字段名称要和json返回字段保持一致
*{
"code":0,
"info":{
"haslog":{
"flag":"1"
},
"weibo":{
"key":"925324338",
"secret":"0a4f9208207e4627e45d6c4bdfa6b5c6",
"callbackurl":"http://longtugame.com",
"is_forbidden":"0"
}
}
*/
public class JavaBean {
public int code;
public class info{
}
public class haslog{
public int flag;
@Override
public String toString() {
return "haslog [flag=" + flag + "]";
}
}
public class weibo{
public String key;
public String secret;
public String callbackurl;
public int is_forbidden;
@Override
public String toString() {
return "weibo [key=" + key + ", secret=" + secret
+ ", callbackurl=" + callbackurl + ", is_forbidden="
+ is_forbidden + "]";
}
}
}
package com.example.xutils;
import java.util.ArrayList;
import com.google.gson.Gson;
import com.lidroid.xutils.HttpUtils;
import com.lidroid.xutils.exception.HttpException;
import com.lidroid.xutils.http.ResponseInfo;
import com.lidroid.xutils.http.callback.RequestCallBack;
import com.lidroid.xutils.http.client.HttpRequest.HttpMethod;
import android.app.Activity;
import android.app.Fragment;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.content.Context;
import android.os.Bundle;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.View;
import android.view.ViewGroup;
import android.widget.RadioButton;
import android.widget.Toast;
public class MainActivity extends Activity {
ViewPager viewPager;
RadioButton first,news,services,home,setting;
ArrayList<View> views;
private String result;
private HttpUtilsMethord httpUtils;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
HttpUtils utils = new HttpUtils();
utils.send(HttpMethod.GET, "http://testp.longtugame.com/apimob/unionConfig", new RequestCallBack<String>() {
@Override
public void onSuccess(ResponseInfo<String> responseInfo) {
result = responseInfo.result;
System.out.println(result);
}
@Override
public void onFailure(HttpException error, String msg) {
// 请求失败
error.printStackTrace();
Toast.makeText(MainActivity.this, msg, Toast.LENGTH_SHORT).show();
}
});
Gson gson = new Gson();
JavaBean data = gson.fromJson(result, JavaBean.class);
System.out.println(data);
}
}
JavaBean.javapackage com.example.xutils;
/**
* 使用Gson解析时,对象书写技巧
* 逢{}创建对象,逢[]创建集合ArrayList
* 所有字段名称要和json返回字段保持一致
*{
"code":0,
"info":{
"haslog":{
"flag":"1"
},
"weibo":{
"key":"925324338",
"secret":"0a4f9208207e4627e45d6c4bdfa6b5c6",
"callbackurl":"http://longtugame.com",
"is_forbidden":"0"
}
}
*/
public class JavaBean {
public int code;
public class info{
}
public class haslog{
public int flag;
@Override
public String toString() {
return "haslog [flag=" + flag + "]";
}
}
public class weibo{
public String key;
public String secret;
public String callbackurl;
public int is_forbidden;
@Override
public String toString() {
return "weibo [key=" + key + ", secret=" + secret
+ ", callbackurl=" + callbackurl + ", is_forbidden="
+ is_forbidden + "]";
}
}
}
相关文章推荐
- 从服务器用xutils获取json,并用gson解析,包括用xutils下载文件
- 网络通信框架Volley之二——访问服务器获取Json.xml数据和详细的解析数据
- volley 访问网络时候获取json数据发生乱码问题解决方法,以及gson解析json数据。
- 使用所见即所得文本编辑器编辑文本存入数据库后通过ajax获取服务器json_encode的数据到前台,文本内容上边的html标签不解析
- 通过HttpClient获取服务器接口json数据已及解析
- 通过HttpClient获取服务器接口json数据已及解析
- android解析xml和json数据(获取本地服务器数据)
- Flex获取服务器JSON数据并解析JSON
- 获取服务器数据通过Gson解析显示Listview上
- [置顶] 获取服务器json数据并解析显示listview上
- Android使用GSON和FASTJSON解析服务器返回的JSON数据
- android 客户端访问自己建立的服务器并返回JSON数据进行解析学习
- GSON解析json含有不确定的泛型实体类,根据键值获取json数据
- 客户端与服务器通过gson解析json数据
- 零基础学小程序006(后台数据的获取与解析)----请求服务器json数据展现到小程序上
- Json解析较为复杂的数据(Map中含有List)从服务器获取城市数据实现三级联动
- c# 通过访问URL,获取并解析远程服务端返回的复杂Json数据
- 通过GSON 解析Json数据,但是不创建JAVA Bean的方式,获取对应的值
- android访问服务器并解析返回的XML和JSON数据
- xutils和Gson解析Json数据