简体   繁体   English

java.lang.NoClassDefFoundError:android / media / Image android / firebase

[英]java.lang.NoClassDefFoundError: android/media/Image android/firebase

I'm beginner in android with firebase,I want to display a table in a listView . 我是使用Firebase的android初学者,我想在listView显示表格。 My table poster contains three fields: image , status and username . 我的餐桌poster包含三个字段: imagestatususername I tried this code but I had this error, I searched in stackoverflow but I didn't find this type of error, I think that the problem in the image field, thanks. 我尝试了这段代码,但遇到了这个错误,我在stackoverflow中进行了搜索,但没有找到这种类型的错误,我认为image字段中的问题,谢谢。

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)

My code in PosteGestion.java : 我在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 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 + '\'' +
            '}';
}
}

Your Post.java class is referencing the class android.media.Image . 您的Post.java类引用了android.media.Image类。 As you can see in the javadoc for Post , it was added in API level 19 (Kit Kat). 如您在Postjavadoc中所看到的,它是在API级别19(Kit Kat)中添加的。

Likely what's happening is you're running your code on an emulator or device that is at a lower API level, which means the class is not available. 可能发生的情况是您在API级别较低的仿真器或设备上运行代码,这意味着该类不可用。

Is android.media.Image really what you want to store in your Post object? android.media.Image是否真的要存储在Post对象中? The Firebase SDK won't be able to load and store that field to the database anyway. 无论如何,Firebase SDK将无法将该字段加载并存储到数据库中。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM