非同期ネットワーク呼び出しに RoboSpice を使用する Android アプリケーションを作成しています。私は RoboSpice の経験はありませんが、RoboSpice を選択しました。RoboSpice はインターネット上で最高のツールの 1 つと見なされており、JSON を POJO に自動的に変換できるからです。残念ながら、RoboSpice のドキュメントの質は少し悪いです。したがって、私の質問:
RoboSpice を使用して、REST GET メソッドへのネットワーク呼び出しを行い、JSON を POJO に自動的に解析し、取得したオブジェクトのリストを Android ViewPager に表示することに成功しました。これを行うためにJackson2GoogleHttpClientSpiceServiceを使用しています。さて、この ViewPager では画像も表示しています。もちろん、RoboSpice を使用してこの画像をダウンロードしたいと考えています。RoboSpice の例(OkHttpBitmapSpiceManager を使用して画像をダウンロードする)の 1 つをガイドとして使用し、それに従って、次の行をアクティビティに追加しました。
private OkHttpBitmapSpiceManager spiceManagerBinary = new OkHttpBitmapSpiceManager();
また、マニフェストに次の行を追加しました。
<service
android:name="com.octo.android.robospice.spicelist.okhttp.OkHttpBitmapSpiceService"
android:exported="false" />
今、私は自分の Android プロジェクトに maven を使用していないので、次の jar をプロジェクトに追加する必要がありました: robospice-ui-spicelist-1.4.9.jar (明らかに、Jackson2GoogleHttpClientSpiceService、動作します)。
問題は、アプリケーションが起動さえしないことです。new OkHttpBitmapSpiceManager()
アプリケーションを含む行を削除 (またはコメント) するたびに、問題なく動作します。したがって、明らかにコンストラクターを呼び出すと、アプリケーションがクラッシュします。logcat から次のエラーが表示されます。
java.lang.NoClassDefFoundError: com.octo.android.robospice.spicelist.okhttp.OkHttpBitmapSpiceService
私には、このエラーはjarの欠落などに関連しているようです。しかし、ドキュメントに従って、必要なすべてのjarファイルを追加しました。RoboSpice の経験がある人は、私がここで間違っていることを説明できますか? さらにjarを追加する必要がありますか、それとも他に何か不足していますか? それとも、RoboSpice を使用して URL から画像を読み込むために、まったく別のアプローチを使用する必要がありますか?
編集!
より明確にするために、次の jar を libs フォルダーとビルド パスに追加しました。
- commons-io-1.3.2.jar
- commons-lang3-3.1.jar
- google-http-client-1.17.0-rc.jar
- google-http-client-android-1.17.0-rc.jar
- google-http-client-jackson2-1.17.0-rc.jar
- グアバ-jdk5-13.0.jar
- jackson-core-2.1.3.jar
- jsr305-1.3.9.jar
- ロボスパイス-1.4.9.jar
- ロボスパイス-キャッシュ-1.4.9.jar
- robospice-google-http-client-1.4.9.jar
- robospice-ui-spicelist-1.4.9.jar