2016-04-23 97 views
0

所以我在這裏過來了這個教程,在這裏https://www.youtube.com/watch?v=mdAXqQoADt8(最後部分),當我引用我的本地服務器時,一切工作都絕對正常。沒有得到來自在線服務器的json響應

現在我將它切換到在線服務器/數據庫以測試它是否以相同的方式工作。在這裏,一切工作正常,除了在onPostExecute方法 JSON響應。我沒有收到任何來自注冊或登錄的消息。我真的無法弄清楚如何解決這個問題,我不明白爲什麼當我將它切換到在線服務器/數據庫時,它不能以相同的方式工作。

希望這裏的任何人都可以幫助我。我會在下面發佈一些代碼,也許有人可以在沒有完成整個教程的情況下找到它。

感謝您的幫助!

@Override 
    protected void onPostExecute(String json) { 

     try { 
      Log.d("JSON-String",json+""); 
      progressDialog.dismiss(); 
      JSONObject jsonObject = new JSONObject(json); 
      JSONArray jsonArray = jsonObject.getJSONArray("server_response"); 
      JSONObject JO = jsonArray.getJSONObject(0); 
      String code = JO.getString("code"); 
      String message = JO.getString("message"); 
      if (code.equals("reg_true")) 
      { 
       showDialog("Registrierung erfolgt.", message, code); 
      } 
      else if (code.equals("reg_false")) 
      { 
       showDialog("Registrierung fehlgeschlagen", message, code); 
      } 

      else if(code.equals("login_true")) 
      { 
       Intent intent = new Intent(activity, Talkscreen.class);          //SPÄTER WIEDER RAUSNEHMEN 
       activity.startActivity(intent); 
       activity.finish(); 
      } 
      else if (code.equals("login_false")) 
      { 
       showDialog("Login fehlgeschlagen", message,code); 
      } 
     } catch (JSONException e) { 
      e.printStackTrace(); 
     } 


    } 
+0

'onPostExecute'它發生異常嗎?或者你在輸出中得到什麼?你有沒有嘗試在上面的函數中記錄json字符串? –

+0

@Alok,所以我相對新的android編程。我只能告訴你,它不會出現異常,並且我沒有得到任何輸出。我更新了我的代碼,所以你可以自己看一下,因爲我不能肯定地提出你的問題如果我在上面的函數中記錄了json字符串。 – Ron

+0

你能看到你正在使用的每個IDE的調試日誌嗎?如果您不確定如何查看日誌?請參閱:http://developer.android.com/tools/debugging/debugging-studio.html#systemLogView –

回答

1

看來你是從服務器錯誤的JSON字符串。

2905-2905/com.appmac.ron.testapp W/System.err: org.json.JSONException: Value <h3>DB< of type java.lang.String cannot be converted to JSONObject 
04-23 12:35:53.172 2905-2905/com.appmac.ron.testapp W/System.err:  at org.json.JSON.typeMismatch(JSON.java:111) 
04-23 12:35:53.172 2905-2905/com.appmac.ron.testapp W/System.err:  at org.json.JSONObject.<init>(JSONObject.java:160) 
04-23 12:35:53.172 2905-2905/com.appmac.ron.testapp W/System.err:  at org.json.JSONObject.<init>(JSONObject.java:173) 
04-23 12:35:53.172 2905-2905/com.appmac.ron.testapp W/System.err:  at com.appmac.ron.testapp.ServerKlassen.BackgroundTask.onPostExecute(BackgroundTask.java:172) 
04-23 12:35:53.172 2905-2905/com.appmac.ron.testapp W/System.err:  at com.appmac.ron.testapp.ServerKlassen.BackgroundTask.onPostExecute(BackgroundTask.java:39) 
04-23 12:35:53.172 2905-2905/com.appmac.ron.testapp W/System.err:  at android.os.AsyncTask.finish(AsyncTask.java:651) 
04-23 12:35:53.172 2905-2905/com.appmac.ron.testapp W/System.err:  at android.os.AsyncTask.-wrap1(AsyncTask.java) 
04-23 12:35:53.172 2905-2905/com.appmac.ron.testapp W/System.err:  at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:668) 
04-23 12:35:53.172 2905-2905/com.appmac.ron.testapp W/System.err:  at android.os.Handler.dispatchMessage(Handler.java:102) 
04-23 12:35:53.172 2905-2905/com.appmac.ron.testapp W/System.err:  at android.os.Looper.loop(Looper.java:148) 
04-23 12:35:53.172 2905-2905/com.appmac.ron.testapp W/System.err:  at android.app.ActivityThread.main(ActivityThread.java:5417) 
04-23 12:35:53.172 2905-2905/com.appmac.ron.testapp W/System.err:  at java.lang.reflect.Method.invoke(Native Method) 
04-23 12:35:53.172 2905-2905/com.appmac.ron.testapp W/System.err:  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
04-23 12:35:53.172 2905-2905/com.appmac.ron.testapp W/System.err:  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 

上述錯誤顯示的字符串不能轉換到JSON對象。

檢查服務器代碼是否有錯誤。

+0

正如你所說的,添加'Log.d(「JSON-String」,json +「」);'我的代碼解決了問題!非常感謝! – Ron

相關問題