2017-01-23 8 views
-3

AndroidでHTTPリクエストを作成し、データベースからデータを取得しようとしています。 リクエストは正常に動作し、正しいJsonDataが得られると思いますが、JSONDataを使用しようとするとエラーが発生します。Android HttpRequest JSON

私はアンドロイドの初心者ですので、それは何かシンプルな私はちょうど見ていない申し訳ありません。私はそのチュートリアルで働いていた: 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内)の値がないことを意味し、2番目はJSONArrayにcheckedPutメソッドがないことを意味します。 – Selvin

+0

org.json.JSONException:在庫 –

+0

AndroidHiveについて...もしあなたが 'チュートリアル 'で' if(method == "POST") 'を見たら、できるだけ早くそれをゴミ箱に...最悪のチュートリアルの一つ – Selvin

答えて

0

JSONArrayにはメソッドcheckedPutがありません。標準putを使用してください。

最初のエラーでは、「在庫」の値を取得しようとしていることがわかります。値が提示されるかどうかわからない場合はgetの代わりにoptを使用してください。値が存在しない場合は、完全にそのgetを取り除いてください。

関連する問題