首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将MySQL数据库连接到android应用程序

问将MySQL数据库连接到android应用程序
EN

Stack Overflow用户
提问于 2016-01-12 18:11:56
回答 1查看 113关注 0票数 0

这类似于应用程序崩溃在JSON上JSON解析器上发出http请求

在我制作这个应用程序之后,我用

代码语言:javascript
复制
private static String url_all_products = "http://192.168.0.101:80/android_connect/get_all_products.php";

当我在浏览器上运行上面的url时,我会收到一条消息,上面写着一个方法已经被实践了,然后是一个JSON对象(我手动插入了一行)。

然而,当我在我的设备上运行应用程序时,它会在我按“查看产品”按钮后崩溃。

代码语言:javascript
复制
    01-12 23:39:10.508 3681-3789/com.example.androidhive E/JSON Parser: Error parsing data org.json.JSONException: Value <br of type java.lang.String cannot be converted to JSONObject 01-12 23:39:10.510 3681-3789/com.example.androidhive E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #5
Process: com.example.androidhive, PID: 3681
java.lang.RuntimeException: An error occured while executing doInBackground()
   at android.os.AsyncTask$3.done(AsyncTask.java:304)
   at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
   at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
   at java.util.concurrent.FutureTask.run(FutureTask.java:242)
   at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
   at java.lang.Thread.run(Thread.java:818)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String org.json.JSONObject.toString()' on a null object reference
   at com.example.androidhive.AllProductsActivity$LoadAllProducts.doInBackground(AllProductsActivity.java:130)
   at com.example.androidhive.AllProductsActivity$LoadAllProducts.doInBackground(AllProductsActivity.java:105)
   at android.os.AsyncTask$2.call(AsyncTask.java:292)
   at java.util.concurrent.FutureTask.run(FutureTask.java:237)
   at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231) 
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) 
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) 
   at java.lang.Thread.run(Thread.java:818)  01-12 23:39:10.510 3681-3681/com.example.androidhive D/AbstractTracker: Event success 01-12 23:39:10.511 3681-3789/com.example.androidhive E/AndroidRuntime: Error reporting crash
java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
   at android.os.Handler.<init>(Handler.java:200)
   at android.os.Handler.<init>(Handler.java:114)
   at android.content.AsyncQueryHandler.<init>(AsyncQueryHandler.java:125)
   at net.oneplus.odm.insight.tracker.AbstractTracker$TrackerAsyncQueryHandler.<init>(AbstractTracker.java:108)
   at net.oneplus.odm.insight.tracker.AbstractTracker.<init>(AbstractTracker.java:60)
   at net.oneplus.odm.insight.tracker.AppTracker.<init>(AppTracker.java:24)
   at 

    com.android.internal.os.RuntimeInit$UncaughtHandler.uncaughtException(RuntimeInit.java:97)
       at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:693)
       at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:690) 01-12 23:39:10.511 3681-3789/com.example.androidhive I/Process: Sending signal. PID: 3681 SIG: 9

NullPointerException使我相信没有JSON对象被返回,但是当我在我的pc上运行url时,我可以看到一个JSON对象。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-12 19:00:32

您使用的是不推荐的php代码,它在浏览器页面中生成一个表,表示它是不推荐的,当您解析该页时,“使用该表”意味着您不仅得到了json,而且还得到了html表内容,并且不能将其解析为json,这就是为什么您会得到异常。我建议遵循这个关于如何用非推荐代码连接到mysql的w3schools教程。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34750945

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档