2017-10-06 12 views
1

私はfirebaseでアンドロイドで初心者です。テーブルをlistViewに表示したいと思います。私のテーブルposterには、image,statusおよびusernameの3つのフィールドが含まれています。私はこのコードを試みたが、私はこのエラーがあった、私はstackoverflowで検索したが、私はこのタイプのエラーを見つけられなかった、私はimageフィールドの問題、感謝と思う。java.lang.NoClassDefFoundError:アンドロイド/メディア/画像android/firebase

java.lang.NoClassDefFoundError: android/media/Image 
at java.lang.Class.getDeclaredFields(Native Method) 
at java.lang.Class.getPublicFieldsRecursive(Class.java:846) 
at java.lang.Class.getFields(Class.java:829) 
at com.google.android.gms.internal.zzbtg$zza.<init>(Unknown Source) 
at com.google.android.gms.internal.zzbtg.zzi(Unknown Source) 
at com.google.android.gms.internal.zzbtg.zze(Unknown Source) 
at com.google.android.gms.internal.zzbtg.zzb(Unknown Source) 
at com.google.android.gms.internal.zzbtg.zza(Unknown Source) 
at com.google.firebase.database.DataSnapshot.getValue(Unknown Source) 

at com.example.root.guidetouristique.PosteGestion$1.onChildAdded(PosteGestion.java:36) 
at com.google.android.gms.internal.zzbox.zza(Unknown Source) 
at com.google.android.gms.internal.zzbqx.zzZV(Unknown Source) 
at com.google.android.gms.internal.zzbra$1.run(Unknown Source) 
at android.os.Handler.handleCallback(Handler.java:615) 
at android.os.Handler.dispatchMessage(Handler.java:92) 
at android.os.Looper.loop(Looper.java:137) 
at android.app.ActivityThread.main(ActivityThread.java:4745) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:511) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
at dalvik.system.NativeStart.main(Native Method) 
Caused by: java.lang.ClassNotFoundException: android.media.Image 
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:501) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:461) 
at java.lang.Class.getDeclaredFields(Native Method)  
at java.lang.Class.getPublicFieldsRecursive(Class.java:846)  
at java.lang.Class.getFields(Class.java:829)  
at com.google.android.gms.internal.zzbtg$zza.<init>(Unknown Source)  
at com.google.android.gms.internal.zzbtg.zzi(Unknown Source)  
at com.google.android.gms.internal.zzbtg.zze(Unknown Source)  
at com.google.android.gms.internal.zzbtg.zzb(Unknown Source)  
at com.google.android.gms.internal.zzbtg.zza(Unknown Source)  
at com.google.firebase.database.DataSnapshot.getValue(Unknown Source)  
at com.example.root.guidetouristique.PosteGestion$1.onChildAdded(PosteGestion.java:36) 

マイPosteGestion.javaのコード:

@Override 
    public void onChildAdded(DataSnapshot dataSnapshot, String s) { 
     Post p = dataSnapshot.getValue(Post.class); 
     if(p!=null){ 
      affichage.add(p); 
     } 
     else{ 
      DR=FBD.getReference(); 
      return; 

    } 
    } 

Post.java

public class Post { 
public Image image; 
public String userName; 
public String imagePost; 
public String status ; 

public Post(String userName, String imagePost, String status) { 
    this.userName = userName; 
    this.imagePost = imagePost; 
    this.status = status; 
} 

public Post(Image image, String userName, String imagePost, String status) { 
    this.image = image; 
    this.userName = userName; 
    this.imagePost = imagePost; 
    this.status = status; 

} 

public Post(String userName, String status) { 
    this.userName = userName; 
    this.status = status; 
} 

public Post() { 
    this.image=null; 
    this.imagePost=null; 
    this.userName=null; 
    this.status=null; 
} 

@Override 
public String toString() { 
    return "Post{" + 
      "image=" + image + 
      ", userName='" + userName + '\'' + 
      ", imagePost='" + imagePost + '\'' + 
      ", status='" + status + '\'' + 
      '}'; 
} 
} 
+0

Post.javaの内容を表示するために質問を編集できますか? –

答えて

2

あなたPost.javaクラスは、クラスandroid.media.Imageを参照しています。 javadoc for Postにあるように、APIレベル19(Kit Kat)で追加されました。

おそらく、クラスが使用できないことを意味する、低いAPIレベルのエミュレータまたはデバイスでコードを実行している可能性があります。

android.media.Imageは実際にあなたのPostオブジェクトに保存したいものですか? Firebase SDKは、そのフィールドをデータベースにロードして保存することはできません。

+0

エミュレータAPI 16を使用しました。API 19で新しいバージョンをダウンロードしています –

関連する問題