java.lang.NoClassDefFoundError:android/media/Image android/firebase
我是firebase android的初学者,我想在java.lang.NoClassDefFoundError:android/media/Image android/firebase,java,android,firebase,Java,Android,Firebase,我是firebase android的初学者,我想在列表视图中显示一个表。我的表格海报包含三个字段:图像、状态和用户名。我尝试了这段代码,但出现了这个错误,我在stackoverflow中搜索,但没有找到这种类型的错误,我认为图像字段中的问题,谢谢 java.lang.NoClassDefFoundError: android/media/Image at java.lang.Class.getDeclaredFields(Native Method) at java.lang.Class.ge
列表视图中显示一个表。我的表格海报
包含三个字段:图像
、状态
和用户名
。我尝试了这段代码,但出现了这个错误,我在stackoverflow中搜索,但没有找到这种类型的错误,我认为图像
字段中的问题,谢谢
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)
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 + '\'' +
'}';
}
}
您的Post.java
类正在引用类android.media.Image
。正如您在中所看到的,它是在API级别19(Kit Kat)中添加的
可能发生的情况是,您正在处于较低API级别的仿真器或设备上运行代码,这意味着该类不可用
android.media.Image
是否真的是您想要存储在Post对象中的内容?Firebase SDK无论如何都无法加载该字段并将其存储到数据库中。您能否编辑您的问题以显示Post.java的内容?没错,我使用的是仿真器API 16,我正在下载带有API 19的新版本
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 + '\'' +
'}';
}
}