2017-07-25 82 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"); 
}