使用okhttp 解析json数据

 okhttp还是挺好使用的,而且6.0版本里面已经不提倡使用了HttpClient,下面我们来说说okhttp的使用

1.我们在Android studio中添加对okhttp的依赖(本文是在建立在Android studio的使用情况)


dependencies {
    compile 'com.zhy:okhttputils:2.3.9'}

2.我们可以封装一个关于okhttp的工具类,下面是一个简单的登录功能的实现
public class HttpUtils {
    public static String url = "http://mimi.xh-soft.com/MimiVideo/";  //不可少,是你的请求地址
    public static MiMiLoginListener miLoginListener;                    //登录

    public abstract interface MiMiLoginListener{
        public abstract void onLoginResult(int ret,Object msg);
    }

    public void onLoginResult(int ret,Object msg){
        if(miLoginListener != null ){
            miLoginListener.onLoginResult(ret,msg);
        }
        miLoginListener = null;
    }
    public static void postLogin(String phone_num,String passWord,final MiMiLoginListener listener){
        miLoginListener = listener;
        OkHttpUtils
                .post()
                .url(url+"login")
                .addParams("username", phone_num)
                .addParams("password",passWord)
                .build()
                .execute(new StringCallback() {
                    @Override
                    public void onError(Call call, Exception e) {
                        ToastUtil.show("连接错误,请查看网络连接");
                    }

                    @Override
                    public void onResponse(String _response) {
                        listener.onLoginResult(1,_response);
                    }
                });
    }
}


3.接着就是接收json数据了
 private void login() {
        account = edit_user.getText().toString().toLowerCase().trim();//用户名
        token = edit_pwd.getText().toString().trim();                 //密码
        HttpUtil.postLogin(account, token, new HttpUtil.MiMiLoginListener() {
            @Override
            public void onLoginResult(int ret, Object msg) {
                Gson gson = new Gson();
                String jsonString = msg.toString();
                userBasicInfo = gson.fromJson(jsonString, Login.class);
                _loginresult = userBasicInfo.getResult();
                saveLoginType(String.valueOf(userBasicInfo.getUserType()));
                if (_loginresult.equals("true")) {
                    doLogin();
                } else {
                    showToast("用户名或密码错误");
                }
            }
        });
    }
3.1 下载GsonFormat插件 快速生成JavaBean

 File->Settings..->Plugins-->Browse repositores..搜索GsonFormat
然后安装插件,重启android studio

3.2 GsonFormat的使用 Code ->Generate -> GsonFormat /右击 ->Generate ->GsonFormat


复制你要解析的json数据,点击ok






这样就基本完成了Android客户端和服务端的对接了。




你可能感兴趣的:(使用okhttp 解析json数据)