Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法跳转到firebase类型_Java_Android_Firebase - Fatal编程技术网

Java 无法跳转到firebase类型

Java 无法跳转到firebase类型,java,android,firebase,Java,Android,Firebase,我有上面这样的数据,我正试图为此编写POJO类,但它使 01-18 21:02:08.101 28838-28838/thamarai.techundefined.com E/AndroidRuntime﹕ FATAL EXCEPTION: main Process: thamarai.techundefined.com, PID: 28838 com.firebase.client.FirebaseException: Failed to bounce to type

我有上面这样的数据,我正试图为此编写POJO类,但它使

01-18 21:02:08.101  28838-28838/thamarai.techundefined.com E/AndroidRuntime﹕ FATAL EXCEPTION: main
    Process: thamarai.techundefined.com, PID: 28838
    com.firebase.client.FirebaseException: Failed to bounce to type
            at com.firebase.client.DataSnapshot.getValue(DataSnapshot.java:185)
            at net.simplifiedcoding.imageuploadsample.ProcessImages$2.onDataChange(ProcessImages.java:144)
            at com.firebase.client.core.ValueEventRegistration.fireEvent(ValueEventRegistration.java:53)
            at com.firebase.client.core.view.DataEvent.fire(DataEvent.java:45)
            at com.firebase.client.core.view.EventRaiser$1.run(EventRaiser.java:38)
            at android.os.Handler.handleCallback(Handler.java:733)
            at android.os.Handler.dispatchMessage(Handler.java:95)
            at android.os.Looper.loop(Looper.java:136)
            at android.app.ActivityThread.main(ActivityThread.java:5086)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
            at dalvik.system.NativeStart.main(Native Method)
     Caused by: com.fasterxml.jackson.databind.JsonMappingException: No suitable constructor found for type [simple type, class net.simplifiedcoding.imageuploadsample.ProcessImages$RetriveUserData]: can not instantiate from JSON object (need to add/enable type information?)
            at [Source: java.io.StringReader@41c63110; line: 1, column: 2]
            at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromObjectUsingNonDefault(BeanDeserializerBase.java:984)
            at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:276)
            at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:121)
            at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:2888)
            at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2034)
            at com.firebase.client.DataSnapshot.getValue(DataSnapshot.java:183)
            at net.simplifiedcoding.imageuploadsample.ProcessImages$2.onDataChange(ProcessImages.java:144)
            at com.firebase.client.core.ValueEventRegistration.fireEvent(ValueEventRegistration.java:53)
            at com.firebase.client.core.view.DataEvent.fire(DataEvent.java:45)
            at com.firebase.client.core.view.EventRaiser$1.run(EventRaiser.java:38)
            at android.os.Handler.handleCallback(Handler.java:733)
            at android.os.Handler.dispatchMessage(Handler.java:95)
            at android.os.Looper.loop(Looper.java:136)
            at android.app.ActivityThread.main(ActivityThread.java:5086)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
            at dalvik.system.NativeStart.main(Native Method)
这是我的密码

ref.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot snapshot) {
               Log.i("FireBase", "snapshot  " + snapshot);
                    RetriveUserData data = snapshot.getValue(RetriveUserData.class);
                    Log.i("FireBase", "Data  " + data.getAPIkey());

            }
            @Override
            public void onCancelled(FirebaseError firebaseError) {
                Log.i("FireBase", "The read failed: " + firebaseError.getMessage());
            }
});
这是波乔

public class RetriveUserData {
        private String fullName;
        private String apikey;

        public RetriveUserData() {
            // empty default constructor, necessary for Firebase to be able to deserialize blog posts
        }

        public String getFullName() {
            return fullName;
        }

        public String getAPIkey() {
            return apikey;
        }

    }
更新

这是我得到的json(记录)

看起来我在做一个小问题,但不知道它在哪里

从堆栈跟踪:

原因:com.fasterxml.jackson.databind.JsonMappingException:找不到适合类型[simple type,class net.simplifiedcoding.imageuploadsample.ProcessImages$RetrieveUserData]的构造函数:无法从JSON对象实例化(需要添加/启用类型信息吗?)

由此看来,您已经将
retrieveuserdata
嵌套在
ProcessImages
类中。在这种情况下,Java将对外部类的隐式引用添加到
retrieveuserdata
。由于您没有将该引用存储在Firebase中,它会抱怨找不到它

要清除此错误消息,请将
retrieveuserdata
标记为static。这告诉Java不要生成引用:

public static class RetriveUserData {
从堆栈跟踪中:

原因:com.fasterxml.jackson.databind.JsonMappingException:找不到适合类型[simple type,class net.simplifiedcoding.imageuploadsample.ProcessImages$RetrieveUserData]的构造函数:无法从JSON对象实例化(需要添加/启用类型信息吗?)

由此看来,您已经将
retrieveuserdata
嵌套在
ProcessImages
类中。在这种情况下,Java将对外部类的隐式引用添加到
retrieveuserdata
。由于您没有将该引用存储在Firebase中,它会抱怨找不到它

要清除此错误消息,请将
retrieveuserdata
标记为static。这告诉Java不要生成引用:

public static class RetriveUserData {

堆栈跟踪不完整。请添加Entr堆栈跟踪,因为通常会有更多异常,这些异常指示实际原因。不过,我的初步猜测是,RetrieveUserData是一个内部类,在这种情况下,您需要将其标记为静态。请添加实际的JSON(而不是指向它的屏幕截图的链接)、最小的代码(现在我们缺少
ref
指向的内容)以及您得到的错误的完整堆栈跟踪。如果没有这些,我投票关闭,因为我们缺少一个完整的跟踪。@FrankvanPuffelen已添加完整跟踪,请检查它并添加json,因为堆栈跟踪不完整。请添加Entr堆栈跟踪,因为通常会有更多异常,这些异常指示实际原因。不过,我的初步猜测是,RetrieveUserData是一个内部类,在这种情况下,您需要将其标记为静态。请添加实际的JSON(而不是指向它的屏幕截图的链接)、最小的代码(现在我们缺少
ref
指向的内容)以及您得到的错误的完整堆栈跟踪。没有这些我投票关闭,因为我们缺少了一个完整的跟踪。FrankvanPuffelen已经添加了完整的跟踪,请检查它并添加json