2014-07-17 206 views
0

我下面這個教程:http://www.androidhive.info/2012/05/how-to-connect-android-with-php-mysql/訪問MySQL數據庫和PHP和Android

我的代碼是從本教程CTRLÇCTRL訴

變化:URL中的代碼更改爲:"http://10.0.2.2/android_connect/name_php.php"

問題(試圖從Android的看到產品後):

07-17 17:39:13.168: E/JSON Parser(898): Error parsing data org.json.JSONException: Value <br of type java.lang.String cannot be converted to JSONObject 
07-17 17:39:13.168: W/dalvikvm(898): threadid=9: thread exiting with uncaught exception (group=0x40015560) 
07-17 17:39:13.178: E/AndroidRuntime(898): FATAL EXCEPTION: AsyncTask #1 
07-17 17:39:13.178: E/AndroidRuntime(898): java.lang.RuntimeException: An error occured while executing doInBackground() 
07-17 17:39:13.178: E/AndroidRuntime(898): at android.os.AsyncTask$3.done(AsyncTask.java:200) 
07-17 17:39:13.178: E/AndroidRuntime(898): at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:274) 
07-17 17:39:13.178: E/AndroidRuntime(898): at java.util.concurrent.FutureTask.setException(FutureTask.java:125) 
07-17 17:39:13.178: E/AndroidRuntime(898): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:308) 
07-17 17:39:13.178: E/AndroidRuntime(898): at java.util.concurrent.FutureTask.run(FutureTask.java:138) 
07-17 17:39:13.178: E/AndroidRuntime(898): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088) 
07-17 17:39:13.178: E/AndroidRuntime(898): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581) 
07-17 17:39:13.178: E/AndroidRuntime(898): at java.lang.Thread.run(Thread.java:1019) 
07-17 17:39:13.178: E/AndroidRuntime(898): Caused by: java.lang.NullPointerException 
07-17 17:39:13.178: E/AndroidRuntime(898): at com.example.androidhive.AllProductsActivity$LoadAllProducts.doInBackground(AllProductsActivity.java:130) 
07-17 17:39:13.178: E/AndroidRuntime(898): at com.example.androidhive.AllProductsActivity$LoadAllProducts.doInBackground(AllProductsActivity.java:1) 
07-17 17:39:13.178: E/AndroidRuntime(898): at android.os.AsyncTask$2.call(AsyncTask.java:185) 
07-17 17:39:13.178: E/AndroidRuntime(898): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306) 
07-17 17:39:13.178: E/AndroidRuntime(898): ... 4 more 
07-17 17:39:13.908: E/WindowManager(898): Activity com.example.androidhive.AllProductsActivity has leaked window [email protected] that was originally added here 
07-17 17:39:13.908: E/WindowManager(898): android.view.WindowLeaked: Activity com.example.androidhive.AllProductsActivity has leaked window [email protected] that was originally added here 
07-17 17:39:13.908: E/WindowManager(898): at android.view.ViewRoot.<init>(ViewRoot.java:258) 
07-17 17:39:13.908: E/WindowManager(898): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:148) 
07-17 17:39:13.908: E/WindowManager(898): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91) 
07-17 17:39:13.908: E/WindowManager(898): at android.view.Window$LocalWindowManager.addView(Window.java:424) 
07-17 17:39:13.908: E/WindowManager(898): at android.app.Dialog.show(Dialog.java:241) 
07-17 17:39:13.908: E/WindowManager(898): at com.example.androidhive.AllProductsActivity$LoadAllProducts.onPreExecute(AllProductsActivity.java:117) 
07-17 17:39:13.908: E/WindowManager(898): at android.os.AsyncTask.execute(AsyncTask.java:391) 
07-17 17:39:13.908: E/WindowManager(898): at com.example.androidhive.AllProductsActivity.onCreate(AllProductsActivity.java:57) 
07-17 17:39:13.908: E/WindowManager(898): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
07-17 17:39:13.908: E/WindowManager(898): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611) 
07-17 17:39:13.908: E/WindowManager(898): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663) 
07-17 17:39:13.908: E/WindowManager(898): at android.app.ActivityThread.access$1500(ActivityThread.java:117) 
07-17 17:39:13.908: E/WindowManager(898): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931) 
07-17 17:39:13.908: E/WindowManager(898): at android.os.Handler.dispatchMessage(Handler.java:99) 
07-17 17:39:13.908: E/WindowManager(898): at android.os.Looper.loop(Looper.java:123) 
07-17 17:39:13.908: E/WindowManager(898): at android.app.ActivityThread.main(ActivityThread.java:3683) 
07-17 17:39:13.908: E/WindowManager(898): at java.lang.reflect.Method.invokeNative(Native Method) 
07-17 17:39:13.908: E/WindowManager(898): at java.lang.reflect.Method.invoke(Method.java:507) 
07-17 17:39:13.908: E/WindowManager(898): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
07-17 17:39:13.908: E/WindowManager(898): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
07-17 17:39:13.908: E/WindowManager(898): at dalvik.system.NativeStart.main(Native Method) 
+1

我認爲第一行說明全部 –

回答

0

完全按轉儲的第一行說:

Value <br of type java.lang.String 
     ^^^--- here 

你試圖解析什麼看起來是HTML,而不是JSON。

+0

我在哪裏可以找到錯誤?所有的代碼:http://www.androidhive.info/2012/05/how-to-connect-android-with-php-mysql/ PHP似乎是正確的。代碼停止在JSONParser類中,因爲我沒有收到帶有「All Products」標籤的doInBackground中的logcat。 – user2714605

+0

這在技術上導致此錯誤的代碼沒有任何問題。它就是你從這個問題得到這個字符串的地方。無論它來自哪裏,都不會給你一個json字符串。它給你的HTML。但是因爲你的代碼只是盲目地認爲你永遠無法獲得任何東西,但是從這個資源中獲取任何東西,當有什麼不好的東西進來時,你就不會處理這種情況。就好像一家藥店向你發送了一把鏈鋸而不是你的頭痛藥丸,而你想知道爲什麼它很難吞下電鋸。 –