0

JsonReader および JsonWriter クラスを介してクラスを送受信しようとしています。Java を実行するサーバー アプリケーションがあり、次の行を介して MenuItem オブジェクトを送信します。

     MenuItem asdf = new MenuItem (1, "SAMPLE", 2.32);
     JsonWriter obj = new JsonWriter(server.getOutputStream());
     bj.write(asdf);

Android で実行されている反対側は、次のように受信します。

JsonReader obj = new JsonReader(clisock.getInputStream());
tmp = (MenuItem) obj.readObject();
obj.close();

問題は、トレースで示されているように、dalvik vm が json-io クラス JReader を見つけることができないと言うことです。

08-25 09:25:25.434: E/dalvikvm(560): Could not find class 'com.cedarsoftware.util.io.JsonReader', referenced from method com.example.testdrive.MainActivity$FetchMenu.doInBackground

サーバーとクライアントの両方のビルド パスに json-io jar ファイルを含め、Eclipse の [注文とエクスポート] セクションで jar ファイルにチェックを入れました。IDE はエラーを表示せず、アプリケーションを実行しますが、それでもクラッシュします。どんな提案でも大歓迎です... うまく説明できなかったことをお詫びします。必要に応じて、より多くのソースを提供できます

4

1 に答える 1

0

このエラーは、読み取りを行っている側のクラスパスに json-io.jar ファイルがないために発生しています。MainActivity$FetchMenu.doInBackground の呼び出しコードは、クラス com.cedarsoftware.util.io.JsonReader を見つけることができません。

Could not find class 'com.cedarsoftware.util.io.JsonReader', referenced from method com.example.testdrive.MainActivity$FetchMenu.doInBackground

https://github.com/jdereg/json-ioの GitHub から json-io の最新のコピーを取得してください。

于 2014-02-19T00:03:13.540 に答える