在API调用Retrofit成功提供用户对象和失败时不提供用户对象然后如何在Retrofit Success Block中检查它?

时间:2016-04-25 04:29:40

标签: android retrofit

用户成功登录响应

    {
      "user": [
        {
          "name": " xyz",
          "email": "zy@gmail.com",
          "address": " Ahmedabad, Gujarat, India",
          "profilepic": "../media/profilepic/xyz_N6GSITKNOM_11Apr16_11421442.png",
          "qrcode": "1",
          "devicetype": "1",
          "devicetoken": "(null)",
          "deviceId": "",
          "paymentflag": "0",
          "photographerflag": "0",
          "phone": "123456",
          "weburl": "",
          "type": "photographer",
          "validate": "online",
          "professional": "1",
          "events": "1.Events(wedding,birthday,parties,etc)",
          "photoshoot": "2.Portrait Photoshoot(outdoor,indoor)",
          "realestate": "3.Real Estate",
          "baby": "0",
          "invite_code": "",
          "aphotpassid": [
            ""
          ]`enter code here`
        }
      ]
    }

用户失败响应

    {"message":"fail"}

然后如何在改造中调用消息对象

改进android java文件

 @Override
        public void success(Object o, Response response) {
            messageUtil.hideProgressDialog();

            User object = (User) o;
            if (object.equals("fail")) {
                messageUtil.showMessageDialog("Server Error !!");
            } else {
                startActivity(new Intent(LoginActivity.this, HomeActivity.class));
            }
        }

        @Override
        public void failure(RetrofitError error) {
            messageUtil.hideProgressDialog();
            messageUtil.showMessageDialog("Server Error !!");
        }

如何在android中调用消息对象? 我可以在没有android的对象失败响应时成功响应吗? 我可以做一些小改动,然后我的问题解决了>

由于

1 个答案:

答案 0 :(得分:0)

在你的onSuccess()代码中试试这个:

@Override
        public void success(Object o, Response response) {
            messageUtil.hideProgressDialog();
            try{
              JSONObject jsonObject = new JSONObject(response.toString())
              if(jsonObject.has("user")){
                 startActivity(new Intent(LoginActivity.this, HomeActivity.class));
              }
              else{
                 messageUtil.showMessageDialog("Server Error !!");
              }
            }
           catch(Exception e){
           }
        }