2013-01-12 3 views
5

Po przestudiowaniu google drive quickstart od Androida. Pobrałem ich przykład i otrzymałem ten błąd:Android Notatnik dostawca class notfound błąd ing google dysk sdk przykłady

01-13 03:38:39.039: E/AndroidRuntime(29967): java.lang.RuntimeException: Unable to get provider com.example.android.notepad.NotePadProvider: java.lang.ClassNotFoundException: com.example.android.notepad.NotePadProvider in loader dalvik.system.PathClassLoader[/data/app/com.example.android.notepad-1.apk] 
01-13 03:38:39.039: E/AndroidRuntime(29967): at android.app.ActivityThread.installProvider(ActivityThread.java:3561) 
01-13 03:38:39.039: E/AndroidRuntime(29967): at android.app.ActivityThread.installContentProviders(ActivityThread.java:3313) 
01-13 03:38:39.039: E/AndroidRuntime(29967): at android.app.ActivityThread.handleBindApplication(ActivityThread.java:3269) 
01-13 03:38:39.039: E/AndroidRuntime(29967): at android.app.ActivityThread.access$2200(ActivityThread.java:117) 
01-13 03:38:39.039: E/AndroidRuntime(29967): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:973) 
01-13 03:38:39.039: E/AndroidRuntime(29967): at android.os.Handler.dispatchMessage(Handler.java:99) 
01-13 03:38:39.039: E/AndroidRuntime(29967): at android.os.Looper.loop(Looper.java:130) 
01-13 03:38:39.039: E/AndroidRuntime(29967): at android.app.ActivityThread.main(ActivityThread.java:3687) 
01-13 03:38:39.039: E/AndroidRuntime(29967): at java.lang.reflect.Method.invokeNative(Native Method) 
01-13 03:38:39.039: E/AndroidRuntime(29967): at java.lang.reflect.Method.invoke(Method.java:507) 
01-13 03:38:39.039: E/AndroidRuntime(29967): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867) 
01-13 03:38:39.039: E/AndroidRuntime(29967): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625) 
01-13 03:38:39.039: E/AndroidRuntime(29967): at dalvik.system.NativeStart.main(Native Method) 
01-13 03:38:39.039: E/AndroidRuntime(29967): Caused by: java.lang.ClassNotFoundException: com.example.android.notepad.NotePadProvider in loader dalvik.system.PathClassLoader[/data/app/com.example.android.notepad-1.apk] 
01-13 03:38:39.039: E/AndroidRuntime(29967): at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240) 
01-13 03:38:39.039: E/AndroidRuntime(29967): at java.lang.ClassLoader.loadClass(ClassLoader.java:551) 
01-13 03:38:39.039: E/AndroidRuntime(29967): at java.lang.ClassLoader.loadClass(ClassLoader.java:511) 
01-13 03:38:39.039: E/AndroidRuntime(29967): at android.app.ActivityThread.installProvider(ActivityThread.java:3546) 
01-13 03:38:39.039: E/AndroidRuntime(29967): ... 12 more 

Postępowałem zgodnie z instrukcjami here. Czego tu mi brakuje?

Odpowiedz

1

Jest szansa, że ​​twoja wersja Androida jest stara, ponieważ ta ContentProvider.PipeDataWriter została dodana do API 11 od Honeycomb i późniejszych.

Wskazówka kluczowa linia w sample source

public class NotePadProvider extends ContentProvider 
          implements 
          PipeDataWriter<Cursor> { 
    // SNIP 
} 

Patrząc na original source próbki na AndroidManifest.xml narzuca minimalną wersję SDK wymagane jest 16 (czyli Sandwich Android Ice Cream lub później)

<uses-sdk android:minSdkVersion="16" /> 

Uruchomiono to na starszej wersji Androida, nawet jeśli minimalna wersja została zmieniona tak, aby odzwierciedlała twoją obecną wersję Androida, taką jak SDK 9 dla Gingerbread, 8 dla Froyo lub 7 dla Eclair, to nie powiedzie się horri bly z ClassNotFoundException jako ContentProvider nie implementuje PipeDataWriter z powodu nieistnienia we wcześniejszych wersjach Androida.

0

wykonaj następujące czynności:

  1. Pobierz google_play_services z SDK Managera pod "dodatków"
  2. importu/dodatki/google/google_play_services/libproject do swojego obszaru roboczego (importuje jako biblioteka)
  3. Usuń google_play_services .jar z NotesList (google quickstart)
  4. Przejdź do właściwości projektu> Android> dodaj bibliotekę> dodaj bibliotekę google_play_services.
  5. Clean and Run

myślę, że musi być jakiś problem ze słoika, właśnie to zrobił (miałem kilka podobnych błędów, kiedy próbowałem QuickStart przesyłania pic i był to sposób na rozwiązać) i działa jak urok. Mam nadzieję, że to pomoże :)