仅在Android 4.0中存在Android MySQL问题?

仅在Android 4.0中存在Android MySQL问题?,android,mysql,sqlite,android-4.0-ice-cream-sandwich,ui-thread,Android,Mysql,Sqlite,Android 4.0 Ice Cream Sandwich,Ui Thread,我在我的冰激凌三明治(Android 4.0)设备和仿真器上遇到了这个错误。但该应用程序在安卓2.3模拟器上运行完美 06-19 00:34:38.357: E/AndroidRuntime(535): FATAL EXCEPTION: main 06-19 00:34:38.357: E/AndroidRuntime(535): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.kickinglettu

我在我的冰激凌三明治(Android 4.0)设备和仿真器上遇到了这个错误。但该应用程序在安卓2.3模拟器上运行完美

06-19 00:34:38.357: E/AndroidRuntime(535): FATAL EXCEPTION: main 06-19 00:34:38.357: E/AndroidRuntime(535): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.kickinglettuce.rate_this/com.kickinglettuce.rate_this.Main}: java.lang.NullPointerException 06-19 00:34:38.357: E/AndroidRuntime(535): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1956) 06-19 00:34:38.357: E/AndroidRuntime(535): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981) 06-19 00:34:38.357: E/AndroidRuntime(535): at android.app.ActivityThread.access$600(ActivityThread.java:123) 06-19 00:34:38.357: E/AndroidRuntime(535): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147) 06-19 00:34:38.357: E/AndroidRuntime(535): at android.os.Handler.dispatchMessage(Handler.java:99) 06-19 00:34:38.357: E/AndroidRuntime(535): at android.os.Looper.loop(Looper.java:137) 06-19 00:34:38.357: E/AndroidRuntime(535): at android.app.ActivityThread.main(ActivityThread.java:4424) 06-19 00:34:38.357: E/AndroidRuntime(535): at java.lang.reflect.Method.invokeNative(Native Method) 06-19 00:34:38.357: E/AndroidRuntime(535): at java.lang.reflect.Method.invoke(Method.java:511) 06-19 00:34:38.357: E/AndroidRuntime(535): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 06-19 00:34:38.357: E/AndroidRuntime(535): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 06-19 00:34:38.357: E/AndroidRuntime(535): at dalvik.system.NativeStart.main(Native Method) 06-19 00:34:38.357: E/AndroidRuntime(535): Caused by: java.lang.NullPointerException 06-19 00:34:38.357: E/AndroidRuntime(535): at org.json.JSONTokener.nextCleanInternal(JSONTokener.java:116) 06-19 00:34:38.357: E/AndroidRuntime(535): at org.json.JSONTokener.nextValue(JSONTokener.java:94) 06-19 00:34:38.357: E/AndroidRuntime(535): at org.json.JSONArray.(JSONArray.java:87) 06-19 00:34:38.357: E/AndroidRuntime(535): at org.json.JSONArray.(JSONArray.java:103) 06-19 00:34:38.357: E/AndroidRuntime(535): at com.kickinglettuce.rate_this.Main.onCreate(Main.java:81) 06-19 00:34:38.357: E/AndroidRuntime(535): at android.app.Activity.performCreate(Activity.java:4465) 06-19 00:34:38.357: E/AndroidRuntime(535): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049) 06-19 00:34:38.357: E/AndroidRuntime(535): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920) 06-19 00:34:38.357: E/AndroidRuntime(535): ... 11 more 06-19 00:34:38.357:E/AndroidRuntime(535):致命异常:主 06-19 00:34:38.357:E/AndroidRuntime(535):java.lang.RuntimeException:无法启动活动组件信息{com.kicking莴苣.rate_this/com.kicking莴苣.rate_this.Main}:java.lang.NullPointerException 06-19 00:34:38.357:E/AndroidRuntime(535):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1956) 06-19 00:34:38.357:E/AndroidRuntime(535):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981) 06-19 00:34:38.357:E/AndroidRuntime(535):在android.app.ActivityThread.access$600(ActivityThread.java:123) 06-19 00:34:38.357:E/AndroidRuntime(535):在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147) 06-19 00:34:38.357:E/AndroidRuntime(535):在android.os.Handler.dispatchMessage(Handler.java:99)上 06-19 00:34:38.357:E/AndroidRuntime(535):在android.os.Looper.loop(Looper.java:137) 06-19 00:34:38.357:E/AndroidRuntime(535):在android.app.ActivityThread.main(ActivityThread.java:4424)上 06-19 00:34:38.357:E/AndroidRuntime(535):位于java.lang.reflect.Method.Invokenactive(本机方法) 06-19 00:34:38.357:E/AndroidRuntime(535):在java.lang.reflect.Method.invoke(Method.java:511) 06-19 00:34:38.357:E/AndroidRuntime(535):在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 06-19 00:34:38.357:E/AndroidRuntime(535):位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 06-19 00:34:38.357:E/AndroidRuntime(535):在dalvik.system.NativeStart.main(本机方法) 06-19 00:34:38.357:E/AndroidRuntime(535):由以下原因引起:java.lang.NullPointerException 06-19 00:34:38.357:E/AndroidRuntime(535):在org.json.JSONTokener.nextCleanInternal(JSONTokener.java:116) 06-19 00:34:38.357:E/AndroidRuntime(535):位于org.json.JSONTokener.nextValue(JSONTokener.java:94) 06-19 00:34:38.357:E/AndroidRuntime(535):位于org.json.JSONArray(JSONArray.java:87) 06-19 00:34:38.357:E/AndroidRuntime(535):位于org.json.JSONArray(JSONArray.java:103) 06-19 00:34:38.357:E/AndroidRuntime(535):在com.kicking莴苣.rate_this.Main.onCreate(Main.java:81) 06-19 00:34:38.357:E/AndroidRuntime(535):在android.app.Activity.performCreate(Activity.java:4465)上 06-19 00:34:38.357:E/AndroidRuntime(535):在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)上 06-19 00:34:38.357:E/AndroidRuntime(535):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920)上 06-19 00:34:38.357:E/AndroidRuntime(535):。。。还有11个 启动活动几乎与此相同:

下面是我代码中的空行:

jArray=新的JSONArray(结果)

今天早上我写了一篇关于同一主题的博文:


您之所以执行强制关闭操作,是因为您试图在UI线程上建立网络连接。这是一个潜在的昂贵操作,可能会阻塞UI线程,导致延迟。ICS和HoneyComb对滥用UI线程进行了更严格的检查,现在如果您尝试这样做,就会自动强制关闭您的应用程序。这就是为什么你的应用程序在安卓4.0上崩溃,而在安卓2.3上却没有。您应该在某种类型的单独线程(即普通
线程
异步任务
)中执行HTTP请求


阅读我的博客文章上面的链接。。。本文将更详细地介绍为什么应该在单独的工作线程中执行此类操作。您可能会发现这对入门很有帮助。

当Android force关闭应用程序时,它会抛出空指针异常?这似乎不是很直观。
NullPointerException
会导致应用程序强制关闭,而不是相反。我知道null指针异常会导致它关闭,但你说的是“ICS和蜂巢…强制关闭你的应用程序”--如果这是真的,如果这里是这种情况,为什么他们不抛出一个
滥用ITHreadException
(或其他什么)——为什么一个指示编程错误的空指针异常,而不是架构错误。请参阅源代码。
HttpClient
httpRequest
方法中捕获
NetworkOnMainThread
异常。当该方法返回时,
Response res
仍设置为
null
,因此该方法返回
null
。在这种情况下,
NullPointerException
导致原力关闭。哇,谢谢,那篇文章的时间安排是完美的。现在我只需要弄清楚如何使用Asyntask…在没有看到代码的情况下,仅从堆栈跟踪进行调试是很困难的。