0

私のアプリのビルド ターゲットは Google API 2.2 であり、Eclipse エミュレーターで完全に動作しますが、デバイス (Android 2.3.5 を搭載した Samsung gt s5830) から実行すると、アプリが http 要求を行うと「強制終了」が発生します ( apache-mysql-php)、返される json 配列は null です。E/Buffer Error(1677): Error conversion result java.lang.NullPointerException E/JSON Parser(1677): Error parsing data org.json.JSONException: End of input at character 0 of E/AndroidRuntime(1677): FATAL EXCEPTION:主要

何かアイデアがあれば、助けてください..(デバイス設定と関係がありますか?私は「USBデバッグ」、「GPS」、「データ同期」、「インターネット接続」を持っています)

4

3 に答える 3

0

マニフェストで Android.Hardware.Wifiのuses-featureを設定しましたか?

于 2012-07-24T21:07:09.840 に答える
0

返されるjsonが適切であり、そうではないと想定しているため、強制的に終了します。そのため、パーサー例外が発生します。ネットワークへの安定した接続をモバイル デバイスに期待することはできないため、より優れたエラー処理を追加する必要があります。

とはいえ、json が無効である理由を理解するには、さらに情報が必要です。どの URL からデータを取得しようとしていますか?

于 2012-07-24T21:14:00.020 に答える
0

PHP 出力からの null 応答につながるその他の原因となる問題を超えて、JSONParser を介して出力をプッシュする前に、出力を確実にテストできませんでした。

返されるデータを渡す前に必ず検証してください。

これは次のように簡単です。

if(myJsonData!=null)
{
   //parse the json
}
else
{
   //do something useful here
}

詳細情報を提供するダウンロード コード内の例外をキャッチする必要があります。

これは、try/catch ブロックを使用して実行できます。

また、デバイスで logcat を使用してコードをデバッグし、原因を突き止める方法についても学びます。他の方法は当て推量です。

于 2012-07-24T21:15:04.330 に答える