2017-07-25 117 views
-3

嗨,我是新来的Android网络concepts.I想发送用户名,密码,imei号码和位置的PHP服务器从android应用程序。我做我的发送部分。现在我的问题是如何收到response.i想获得状态(1或0),根据我想移动到下一页。任何人都会知道如何做到这一点,欢迎您。android get json响应

 private static final String REGISTER_URL="http://vPC70.com/App/login.php"; 
    username = editTextUserName.getText().toString().toLowerCase(); 
    userpassword=editTextPassword.getText().toString().toLowerCase(); 
    loc="11.295756,77.001890"; 
     imeino = "12312312456"; 
    register(username, userpassword, imeino, loc); 

    private void register(final String username, final String userpassword, 
     String imeino, String loc) { 
     String urlSuffix = "? 
     username="+username+"&userpassword="+userpassword+"&imeino="+imeino 
    +"&location="+loc; 
     class RegisterUser extends AsyncTask<String,String , String>{ 

     ProgressDialog loading; 


     @Override 
     protected void onPreExecute() { 
      super.onPreExecute(); 
      loading = ProgressDialog.show(LoginActivity.this, "Please 
     Wait",null, true, true); 
     } 

     @Override 
     protected void onPostExecute(String s) { 
      super.onPostExecute(s); 
      loading.dismiss(); 

      } 

     @Override 
     protected String doInBackground(String... params) { 
      String s = params[0]; 
      BufferedReader bufferedReader = null; 
      try { 
       URL url = new URL(REGISTER_URL+s); 
       HttpURLConnection con = (HttpURLConnection) 
      url.openConnection(); 
       bufferedReader = new BufferedReader(new 
      InputStreamReader(con.getInputStream())); 

       String result; 

       result = bufferedReader.readLine(); 
       return result; 

      }catch(Exception e){ 
       return null; 
      } 

     } 
     } 
     RegisterUser ru = new RegisterUser(); 
     ru.execute(urlSuffix); 

这是响应

 {"Login":[{"status":"1","message":"Login Successfully !!!"}]} 
     {"Login":[{"status":"0","message":"Invalid Password !!!"}]} 

如果响应是1个烤面包的消息的登录成功地 如果响应是0烤面包在交消息无效密码执行

+0

你要解析的消息解析器JSON? – KeLiuyue

+0

雅...........你有没有任何想法 –

+0

你可以检查我的答案@karthikeyan –

回答

0

正从服务器的响应后,基于状态的吐司显示

try { 
        JSONObject jobj = new JSONObject(response); 


        String status = jobj.getString("status"); 

        String msg = jobj.getString("message"); 

        if (status.equals("1")) { 
         //move to next page 
         Toast.makeText(LoginActivity.this, msg,Toast.LENGTH_SHORT).show(); 

        } else { 
         Toast.makeText(LoginActivity.this, msg,Toast.LENGTH_SHORT).show(); 

       } catch (Exception e) { 
        e.printStackTrace(); 
       } 
+0

希望它能解决你的问题 –

+0

耶好友...... –

+0

如果有帮助。不介意标记它有正确的答案 –

0

onPostExecute( String s)你可以将结果转换成json并检查状态值如

@Override 
    protected void onPostExecute(String s) { 
     super.onPostExecute(s); 
     loading.dismiss(); 
     JsonObject object = new JsonObject(s); 
     if(object.optString("status").equals("1")) 
      { 
      // Your Logic here 
     } 

    } 
+0

嘿阿尼尔谢谢.........它的工作 –

0

创建POJO/Model类来转换您的响应。

像这样

public class LoginResponse{ 

@SerializedName("Login") 
@Expose 
private List<Login> login = null; 

public List<Login> getLogin() { 
return login; 
} 

public void setLogin(List<Login> login) { 
this.login = login; 
} 

} 

public class Login { 

@SerializedName("status") 
@Expose 
private String status; 
@SerializedName("message") 
@Expose 
private String message; 

public String getStatus() { 
return status; 
} 

public void setStatus(String status) { 
this.status = status; 
} 

public String getMessage() { 
return message; 
} 

public void setMessage(String message) { 
this.message = message; 
} 

} 
在PostExcecute

转换成POJO对象是这样的反应,通过使用GSON

Gson gson = new Gson(); 
LoginResponse response = gson.toJson(result, LoginResponse.class); 

在这里,您可以检查条件:;

if(response !=null && response.getLogin() !=null) 
{ 
    if(response.getLogin().getStatus().equalIgnoreCase("1")) 
    { 
       // show toast Login Successfully !!! and move to next screen 

    } 
else if(response.getLogin().getStatus().equalIgnoreCase("0")) 
    { 
    // Invalid Password !!! your logic here 
    } 
} 
0

这是根据您的响应字符串

private void parseResponseJson(String response) throws JSONException { 
    JSONObject jsonObject = new JSONObject(response).getJSONArray("Login").getJSONObject(0); 
    String status = jsonObject.getString("status"); 
    String message = jsonObject.getString("message"); 
}