使用okhttp 解析json資料
阿新 • • 發佈:2019-01-06
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客戶端和服務端的對接了。