2017-01-23 64 views
-3

我嘗試在Android中發出HTTP請求並從數據庫獲取數據。 該請求工作正常,我想我得到正確的JsonData,但我總是遇到錯誤,當我嘗試使用JSONData。Android HttpRequest JSON

我是一個android初學者,所以對不起,如果它是簡單的東西,我只是看不到。 How to connect ...

這是錯誤我得到:

E/EGL_emulation: tid 3825: eglSurfaceAttrib(1165): error 0x3009 (EGL_BAD_MATCH) 
W/OpenGLRenderer: Failed to set EGL_SWAP_BEHAVIOR on surface 0xaa48cba0, error=EGL_BAD_MATCH 
D/All Items:: {"items":[{"iid":"3","name":"Monitor 1","description":"alle moönitore","model":"Ganz besonders","company":"Asus","amount":"10"}],"success":1} 
W/System.err: org.json.JSONException: No value for inventory 
W/System.err:  at org.json.JSONObject.get(JSONObject.java:389) 
W/System.err:  at org.json.JSONObject.getJSONArray(JSONObject.java:584) 
W/System.err:  at de.change.time.daniel.phpmysql.AllInventoryActivity$LoadAllInventory.doInBac>kground(AllInventoryActivity.java:149) 
W/System.err:  at de.change.time.daniel.phpmysql.AllInventoryActivity$LoadAllInventory.doInBac>kground(AllInventoryActivity.java:114) 
W/System.err:  at android.os.AsyncTask$2.call(AsyncTask.java:295) 
W/System.err:  at java.util.concurrent.FutureTask.run(FutureTask.java:237) 
W/System.err:  at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234) 
W/System.err:  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) 
W/System.err:  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) 
W/System.err:  at java.lang.Thread.run(Thread.java:818) 

我也得到一個錯誤在我JSONObject.java在這個方法:

public JSONObject accumulate(String name, Object value) throws JSONException { 
    Object current = nameValuePairs.get(checkName(name)); 
    if (current == null) { 
     return put(name, value); 
    } 

    if (current instanceof JSONArray) { 
     JSONArray array = (JSONArray) current; 
     array.checkedPut(value); 
    } else { 
     JSONArray array = new JSONArray(); 
     array.checkedPut(current); 
     array.checkedPut(value); 
     nameValuePairs.put(name, array); 
    } 
    return this; 
} 

的錯誤是我與合作教程:

cannot resolve method 'checkedPut(java.lang.object)' 

Thx

+0

這兩個錯誤都是不言自明的......請閱讀em:第一個意思是沒有「inventory」(在你的json中)值,第二個意思是JSONArray沒有checkedPut方法 – Selvin

+0

org.json.JSONException:沒有值庫存 –

+0

而關於androidhive ...如果你在「教程」中看到if(method ==「POST」)',那麼儘快將其廢棄......有史以來最糟糕的教程之一 – Selvin

回答

0

JSONArray中根本沒有方法checkedPut。經常使用put

第一個錯誤告訴你,你試圖獲得一些不存在的「庫存」值。嘗試使用opt而不是get如果您不確定是否顯示值。或者完全擺脫那個價值不會存在的get