Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/232.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_Firebase Realtime Database - Fatal编程技术网

Java Firebase未知属性异常

Java Firebase未知属性异常,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,我一直在尝试了解Firebase,在我的第一个示例中,有一个错误我根本不理解。如果有人能帮助我,我将非常感激 这是我的MAINACTIVITY.JAVA package com.example.betterlaylow.firebasetestinsertretrieve; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import and

我一直在尝试了解Firebase,在我的第一个示例中,有一个错误我根本不理解。如果有人能帮助我,我将非常感激

这是我的MAINACTIVITY.JAVA

package com.example.betterlaylow.firebasetestinsertretrieve;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

import com.firebase.client.DataSnapshot;
import com.firebase.client.Firebase;
import com.firebase.client.FirebaseError;
import com.firebase.client.ValueEventListener;

import java.util.HashMap;
import java.util.Map;

public class MainActivity extends AppCompatActivity {

private EditText editTextName;
private EditText editTextAddress;
private TextView textViewPersons;
private Button buttonSave;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Firebase.setAndroidContext(this);

    buttonSave = (Button) findViewById(R.id.buttonSave);
    editTextName = (EditText) findViewById(R.id.editTextName);
    editTextAddress = (EditText) findViewById(R.id.editTextAddress);

    textViewPersons = (TextView) findViewById(R.id.textViewPersons);

    //Click Listener for button
    buttonSave.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //Creating firebase object
            Firebase ref = new Firebase(Config.FIREBASE_URL);

            //Getting values to store
            String name = editTextName.getText().toString().trim();
            String address = editTextAddress.getText().toString().trim();

            //Creating Person object
            Person person = new Person();

            //Adding values
            person.setName(name);
            person.setAddress(address);

            //Storing values to firebase
            ref.child("Person").setValue(person);


            //Value event listener for realtime data update
            ref.addValueEventListener(new ValueEventListener() {
                @Override
                public void onDataChange(DataSnapshot snapshot) {
                    for (DataSnapshot postSnapshot : snapshot.getChildren()) {
                        //Getting the data from snapshot
                        Person person = postSnapshot.getValue(Person.class);

                        //Adding it to a string
                        String string = "Name: "+person.getName()+"\nAddress: "+person.getAddress()+"\n\n";

                        //Displaying it on textview
                        textViewPersons.setText(string);
                    }
                }

                @Override
                public void onCancelled(FirebaseError firebaseError) {
                    System.out.println("The read failed: " + firebaseError.getMessage());
                }
            });

        }
    });
}

}
这是我的PERSON.JAVA

package com.example.betterlaylow.firebasetestinsertretrieve;

/**
 * Created by betterlaylow on 7/26/16.
 */

public class Person {
//name and address string
private String name;
private String address;

public Person() {
  /*Blank default constructor essential for Firebase*/
}
//Getters and setters
public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public String getAddress() {
    return address;
}

public void setAddress(String address) {
    this.address = address;
}
}
这是我的CONFIG.JAVA

package com.example.betterlaylow.firebasetestinsertretrieve;

/**
 * Created by betterlaylow on 7/26/16.
 */
 public class Config {
public static final String FIREBASE_URL = "https://simplifiedcoding.firebaseio.com/";


}
这是安卓显示器的ID

07-26 21:07:06.917 6408-6408/com.example.betterlaylow.firebasetestinsertretrieve E/AndroidRuntime:致命异常:main 进程:com.example.betterlaylow.firebasetestinsertretrieve,PID:6408 com.firebase.client.FirebaseException:无法跳转到类型 位于com.firebase.client.DataSnapshot.getValue(DataSnapshot.java:185) 在com.example.betterlaylow.firebasestinsertretrieve.MainActivity$1$1.onDataChange(MainActivity.java:66)上 位于com.firebase.client.core.ValueEventRegistration.firevent(ValueEventRegistration.java:45) 位于com.firebase.client.core.view.DataEvent.fire(DataEvent.java:45) 位于com.firebase.client.core.view.EventRaiser$1.run(EventRaiser.java:38) 位于android.os.Handler.handleCallback(Handler.java:739) 位于android.os.Handler.dispatchMessage(Handler.java:95) 位于android.os.Looper.loop(Looper.java:148) 位于android.app.ActivityThread.main(ActivityThread.java:5417) 位于java.lang.reflect.Method.invoke(本机方法) 在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run上(ZygoteInit.java:726) 位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 原因:com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException:未识别字段“msg”(class com.example.betterlaylow.firebasetestinsertretrieve.Person),未标记为可忽略(2个已知属性:,“address”,“name”]) 在[来源:java.io。StringReader@f02156a;行:1,列:9](通过引用链:com.example.betterlaylow.firebasetestinsertretrieve.Person[“msg”]) 位于com.fasterxml.jackson.databind.DeserializationContext.reportUnknownProperty(DeserializationContext.java:555) 位于com.fasterxml.jackson.databind.desr.std.StdDeserializer.handleUnknownProperty(StdDeserializer.java:708) 位于com.fasterxml.jackson.databind.desr.beandserializerbase.handleUnknownProperty(beandserializerbase.java:1160) 在com.fasterxml.jackson.databind.deser.beanderiserializer.deserializeFromObject(beanderiserializer.java:315)上 在com.fasterxml.jackson.databind.deser.BeandSerializer.deserialize(BeandSerializer.java:121)上 位于com.fasterxml.jackson.databind.ObjectMapper.\u readMapAndClose(ObjectMapper.java:2888) 位于com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2034) 位于com.firebase.client.DataSnapshot.getValue(DataSnapshot.java:183) 在com.example.betterlaylow.firebasestinsertretrieve.MainActivity$1$1.onDataChange(MainActivity.java:66)上 位于com.firebase.client.core.ValueEventRegistration.firevent(ValueEventRegistration.java:45) 位于com.firebase.client.core.view.DataEvent.fire(DataEvent.java:45) 位于com.firebase.client.core.view.EventRaiser$1.run(EventRaiser.java:38) 位于android.os.Handler.handleCallback(Handler.java:739)
        //Storing values to firebase
        ref.child("Person").push().setValue(person);
            public void onDataChange(DataSnapshot snapshot) {
                    Person person = snapshot.getValue(Person.class);

                    //Adding it to a string
                    String string = "Name: "+person.getName()+"\nAddress: "+person.getAddress()+"\n\n";

                    //Displaying it on textview
                    textViewPersons.setText(string);

            }
@IgnoreExtraProperties
public class Person {

private String name;
private String address;

public Person() {
  /*Blank default constructor essential for Firebase*/
}
//Getters and setters
public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public String getAddress() {
    return address;
}

public void setAddress(String address) {
    this.address = address;
}
}