Android アプリで Factual API を使用しているときに問題が発生しました。正しいjarファイルをすべて追加したと思います。ここを見てください:
これが私のlogcatです:
11-30 19:27:03.033: E/AndroidRuntime(4538): FATAL EXCEPTION: main
11-30 19:27:03.033: E/AndroidRuntime(4538): Process: com.example.foodsaver2, PID: 4538
11-30 19:27:03.033: E/AndroidRuntime(4538): java.lang.NoClassDefFoundError: com.factual.driver.Factual
11-30 19:27:03.033: E/AndroidRuntime(4538): at com.example.foodsaver2.DatabaseFiller.onCreate(DatabaseFiller.java:70)
11-30 19:27:03.033: E/AndroidRuntime(4538): at android.app.Activity.performCreate(Activity.java:5243)
11-30 19:27:03.033: E/AndroidRuntime(4538): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
11-30 19:27:03.033: E/AndroidRuntime(4538): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2140)
11-30 19:27:03.033: E/AndroidRuntime(4538): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2226)
11-30 19:27:03.033: E/AndroidRuntime(4538): at android.app.ActivityThread.access$700(ActivityThread.java:135)
11-30 19:27:03.033: E/AndroidRuntime(4538): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1397)
11-30 19:27:03.033: E/AndroidRuntime(4538): at android.os.Handler.dispatchMessage(Handler.java:102)
11-30 19:27:03.033: E/AndroidRuntime(4538): at android.os.Looper.loop(Looper.java:137)
11-30 19:27:03.033: E/AndroidRuntime(4538): at android.app.ActivityThread.main(ActivityThread.java:4998)
11-30 19:27:03.033: E/AndroidRuntime(4538): at java.lang.reflect.Method.invokeNative(Native Method)
11-30 19:27:03.033: E/AndroidRuntime(4538): at java.lang.reflect.Method.invoke(Method.java:515)
11-30 19:27:03.033: E/AndroidRuntime(4538): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:777)
11-30 19:27:03.033: E/AndroidRuntime(4538): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:593)
11-30 19:27:03.033: E/AndroidRuntime(4538): at dalvik.system.NativeStart.main(Native Method)
ここで何が問題なのですか?私は何を間違っていますか?ところで、これが私の AndroidManifest の一部です。
application android:label="@string/app_name">
<uses-library android:name="com.factual.driver.Factual" />
<activity android:name=".DatabaseFiller" android:label="@string/app_name">
そして、DatabaseFiller の 70 行目から:
/*this is line 69, next line is 70*/ try {
Factual factual = new Factual("perosnal", "personal");
factual.fetch("products-cpg-nutrition",
new Query().search("028367831679"));
// row filter
Query q = new Query();
factual.fetch("products-cpg-nutrition",
q.or(q.field("upc").isEqual("028367831679"),
q.field("ean13").isEqual("028367831679")));
Toast.makeText(getApplicationContext(), (CharSequence) q, Toast.LENGTH_SHORT).show();
}
catch (Exception e) {
}
ここで何が問題なのですか?久しぶりに壁に頭ぶつけました。SOとGoogleをチェックしましたが、解決策に針を刺すことはできません。どんな助けでも大歓迎です。
編集!追加するのを忘れていた別のメッセージも Logcat に表示されます。
11-30 20:44:09.993: E/dalvikvm(11654): Could not find class 'com.factual.driver.Factual', referenced from method com.example.foodsaver2.DatabaseFiller.onCreate
しかし、私は AndroidManifest ファイルにそれを持っています。どんな助けでも大歓迎です。