0

データベースから Android アプリに値を送信しようとしています。チュートリアルから始めてここにたどり着きましたが、「エラー解析データorg.json.jsonexception end of input at character 0 of」が表示されますおそらく他のエラーがありますが、これはアプリの実行時に最初に表示されるエラーです.

編集: この質問を削除することはできませんが、関連性がなくなりました。コードには間違いがありましたが、その間に修正しました。答えは役に立ちましたが、解決策ではありませんでした。質問の定式化が不十分だったので、これはおそらく私のせいです。

4

3 に答える 3

1

解析する JSON データを受信して​​いないため、エラーが発生しています。これは、onCreate()メソッド内からインターネットに接続しようとしていることが原因である可能性があります。API 11 以降、すべての I/O 関数はバックグラウンド スレッドで実行する必要があります。AsyncTaskを使用してサーバーに接続し、必要な情報をダウンロードすることを検討することをお勧めします。の Android ドキュメントへのリンクはAsyncTask次のとおりです。基本的な考え方は単純で、すべての I/O 関数がdoInBackground()メソッドに入ります。上のテキストの設定など、UI の更新はTextView内で行われますonPostExecute()。ドキュメントを読んで実装してみてください。それでもエラーが発生する場合は、修正をお手伝いします。

于 2013-06-03T17:58:14.867 に答える
0

あなたの言うことからindex.phpにある、

    } else if ($tag == 'get_data_tag'){
  // Request type is get data

    $Channel_id = $_POST['Channel_id'];
    $Temp_value = $_POST['Temp_value'];

//check for the value for the specified channel
    $value = $db->getDataByChannelId($Channel_id, $Temp_value);

//this is where the data should be sent to the app
    $response_data["success"] = 1;
    $response_data["Channel_id"] = $value["Channel_id"];
    $response_data["Temp_value"] = $value["Temp_value"];
    echo json_encode($response_data);
}

PHP は解析エラーを返している可能性があり (if なしの else のため)、JSON ライブラリ (Java/Android コード内) は "Parse Error: " のようなものを JSON として読み取ることができず、JSON がスローされる可能性があります。エラー。

質問から他のコードを省略した場合は、これを無視してください。

于 2013-06-03T17:57:37.217 に答える