2017-07-01 14 views
2

中的Mysql數據庫中獲取個人資料圖片網址,我有個人資料圖片網址。我想要獲取個人資料圖片URL以及用戶詳細信息並顯示在我的應用中。以下是我的JSON響應無法從我的數據庫中的Android

{"error":false,"userid":"102372118524277056034","uname":"Asesha G","ulocation":"Location Not Set" 
,"ugend":"Not Set","uemail":"[email protected]","oarth":"Google","propic":"https:\/\/lh3.googleusercontent 
.com\/-JHsviYEvBU4\/AAAAAAAAAAI\/AAAAAAAAAAA\/SiDYHY21SSA\/s64-c\/102372118524277056034.jpg"} 
在我的迴應

URL

propic":"https:\/\/lh3.googleusercontent 
    .com\/-JHsviYEvBU4\/AAAAAAAAAAI\/AAAAAAAAAAA\/SiDYHY21SSA\/s64-c\/102372118524277056034.jpg 
在我的活動

,我得到不同的URL的所有用戶的詳細信息。以下是我獲取個人資料圖片網址的數據類型。

private void SetsessionValues(final String userid) { 

String tag_string_req = "fetch_login_data"; 

StringRequest strReq = new StringRequest(Request.Method.POST, 
     AppURLs.fetch_data_URL, new Response.Listener<String>() { 

    @Override 
    public void onResponse(String response) { 

     try { 
      JSONObject jObj = new JSONObject(response); 
      boolean error = jObj.getBoolean("error"); 

      if (!error) { 
       String userId = jObj.getString("userid"); 
       String uname = jObj.getString("uname"); 
       String ulocation = jObj.getString("ulocation"); 
       String ugend = jObj.getString("ugend"); 
       String uemail = jObj.getString("uemail"); 
       String oarth = jObj.getString("oarth"); 
       String profilepic = jObj.getString("propic"); 

       Log.e(TAG,"Profile Pic : "+profilepic); 

       session.setLogin(true); 
       session.setMember(userId, uname, ulocation, ugend, uemail, oarth, profilepic); 
      } else { 
       String errorMsg = jObj.getString("error_msg"); 
       Toast.makeText(getApplicationContext(), 
         errorMsg, Toast.LENGTH_LONG).show(); 
      } 
     } catch (JSONException e) { 
      e.printStackTrace(); 
     } 

    } 
}, new Response.ErrorListener() { 

    @Override 
    public void onErrorResponse(VolleyError error) { 
     Toast.makeText(getApplicationContext(), 
       error.getMessage(), Toast.LENGTH_LONG).show(); 
    } 
}) { 

    @Override 
    protected Map<String, String> getParams() { 
     // Post params to login url 
     Map<String, String> params = new HashMap<String, String>(); 
     params.put("tag", "login_data"); 
     params.put("username", userid); 
     return params; 
    } 

}; 

// Adding request to queue 
AppController.getInstance().addToRequestQueue(strReq, tag_string_req); 


} 

profilepic越來越空

logcat的

java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference 
                     at libcore.net.UriCodec.encode(UriCodec.java:132) 
                     at java.net.URLEncoder.encode(URLEncoder.java:57) 
                     at com.android.volley.Request.encodeParameters(Request.java:484) 
                     at com.android.volley.Request.getBody(Request.java:470) 
                     at com.android.volley.toolbox.HurlStack.addBodyIfExists(HurlStack.java:253) 
                     at com.android.volley.toolbox.HurlStack.setConnectionParametersForRequest(HurlStack.java:227) 
                     at com.android.volley.toolbox.HurlStack.performRequest(HurlStack.java:107) 
                     at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:97) 
                     at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:114) 

我的PHP代碼JSON

if($tag == 'login_data'){ 

      $userid=$_POST['username']; 

      //$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
      $sql=$dbh->prepare("SELECT * FROM member WHERE oauth_uid=?"); 
      $sql->bindValue(1,$userid); 
      $sql->execute(); 

      if ($sql->rowCount() > 0) { 
       // user stored successfully 
       $userrow = $sql->fetch(PDO::FETCH_ASSOC); 
       $response["error"] = FALSE; 
       $response["userid"]= $userrow['oauth_uid']; 
       $response["uname"]= ucwords(strtolower($userrow['mname'])); 
       $response["ulocation"]= $userrow['location']; 
       $response["ugend"]= $userrow['gender']; 
       $response["uemail"]= $userrow['email']; 
       $response["oarth"]= $userrow['oauth_provider']; 
       $response["propic"]= $userrow['propic']; 

       header('Content-Type:Application/json'); 
       //$array[] = $response; 
       echo json_encode($response); 
      } else { 
       // user failed to store 
       $response["error"] = TRUE; 
       $response["error_msg"] = "Error occured in Getting Personal Data"; 
       echo json_encode($response); 
      } 
     } 
} 
+0

顯示完整代碼.. – jagapathi

+0

請查看完整的代碼獲取配置文件的詳細信息。 –

+0

嘗試調試代碼(確保它爲空) – jagapathi

回答

0

要刪除反斜槓只需添加下面一行String profilepic = jObj.getString("propic");後:

profilepic = profilepic.replace("\\",""); 
+2

不需要這個 – jagapathi

相關問題