2

Ice Cream Sandwich(Android 4.0)デバイスとエミュレーターでこのエラーが発生します。ただし、アプリはAndroid2.3エミュレーターで完全に実行されます。

06-19 00:34:38.357:E / AndroidRuntime(535):致命的な例外:メイン
06-19 00:34:38.357:E / AndroidRuntime(535):java.lang.RuntimeException:アクティビティを開始できませんComponentInfo {com.kickinglettuce.rate_this / com.kickinglettuce.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.invokeNative(ネイティブメソッド)
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.kickinglettuce.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詳細

起動時のアクティビティは、これとほぼ同じです。

http://blog.sptechnolab.com/2011/02/10/android/android-connecting-to-mysql-using-php/

これが私のコードのヌル行です:
jArray = new JSONArray(result);

4

1 に答える 1

2

私は今朝、同じトピックについてブログ投稿を書きました:

アイスクリームサンドイッチでアプリがクラッシュするのはなぜですか?


強制終了しているために実行している理由は、UIスレッドでネットワーク接続を試みているためです。これは潜在的にコストのかかる操作であり、UIスレッドをブロックしてラグを引き起こす可能性があります。ICSとHoneyCombは、UIスレッドの悪用に対するより厳密なチェックを導入し、そうしようとするとアプリを自動的に強制終了するようになりました。これが、Android 4.0ではアプリケーションがクラッシュするが、Android2.3ではクラッシュしない理由です。HTTPリクエストは、ある種の別のスレッド(つまり、プレーンThreadまたはプレーンのいずれかAsyncTask)で実行する必要があります。

上にリンクされている私のブログ投稿を読んでください...別のワーカースレッドでそのような操作を実行する必要がある理由について詳しく説明します。このサンプルコードは、始めるのに役立つ場合もあります。

于 2012-06-19T00:45:24.903 に答える