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数据了3.1 下载GsonFormat插件 快速生成JavaBeanprivate 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("用户名或密码错误"); } } }); }
File->Settings..->Plugins-->Browse repositores..搜索GsonFormat 然后安装插件,重启android studio
3.2 GsonFormat的使用 Code ->Generate -> GsonFormat /右击 ->Generate ->GsonFormat
复制你要解析的json数据,点击ok
这样就基本完成了Android客户端和服务端的对接了。