나는 파이어베이스에 대해 배우려고 노력 해왔다. 첫 번째 예제에서는 내가 이해하지 못하는 오류가있다. 누군가가 나를 도울 수 있다면 나는 이것이 나의 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());
}
});
}
});
}
}
입니다
너무 감사 할 것입니다 이것은이 나의 CONFIG.JAVA 내 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;
}
}
입니다
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) 06.917 6408-6408/com.example.betterlaylow.firebasetestinsertretrieve E/AndroidRuntime : 치명적인 예외 : 주요 프로세스 : com.example.betterlaylow.firebasetestinsertretrieve, PID : 6408 com.firebase.client. FirebaseException : com.firebase.client.DataSnapshot.getValue에서 으로 바운스하지 못했습니다 (DataSnapshot.java:185) at com.example.betterlaylow.firebasetestinsertretrieve.MainActivity $ 1 $ 1.onDataChange (MainActivity.java:66) at com .firebase.client.core.ValueEventRegistration.fireEvent (ValueEventRegistration.java:45) 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:739) android.os.Handler.dispatchMessage (Handler .java : 95) android.os.Looper.loop (Looper.java:148)에서 android.app.ActivityThread.main (ActivityThread.java:5417) at java.lang.reflect.Method.invoke (네이티브 COM : 방법) com.android.internal.os.ZygoteInit.main (ZygoteInit.java:616) 에서 com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:726) 에서 는에 의해 발생. fasterxml.jac kson.databind.exc.UnrecognizedPropertyException : 인식 할 수없는 필드 "msg"(클래스 com.example.betterlaylow.firebasetestinsertretrieve.Person), 무시할 수 없음 (알려진 속성 2 개, "주소", "이름")) [출처 : [email protected]; (참조 체인을 통해 : com.example.betterlaylow.firebasetestinsertretrieve.Person [ "msg"]) 에서 com.fasterxml.jackson.databind.DeserializationContext.reportUnknownProperty (DeserializationContext.java:555) at com.fasterxml.jackson.databind.deser.std.StdDeserializer.handleUnknownProperty (StdDeserializer.java:708) com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownProperty (BeanDeserializerBase.java:1160)에서 com.fasterxml에서 . javson.databind.deser.BeanDeserializer.deserializeFromObject (BeanDeserializer.java:315) at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize (BeanDeserializer.java:121) at com.f asterxml.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 com.example.betterlaylow.firebasetestinsertretrieve.MainActivity $ 1 $ 1.onDataChange (MainActivity.java:66) com.firebase.client.core.ValueEventRegistration.fireEvent (ValueEventRegistration.java:45) at com.firebase.client.core.view.Data.fire (DataEvent. java : 45) at com.firebase.client.core.view.EventRaiser $ 1.run (EventRaiser.java:38) at android.os.Handler.handleCallback (Handler.java:739) at android.os.Handler .dispatchMessage (Handler.java:95) android.os.Looper.loop (Looper.java:148)의 android.app.ActivityThread.main (ActivityThread.java:5417)의 at java.lang.reflect.Method .에서 com.android.internal.os.ZygoteInit.main에서 com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:726) 에서 voke (기본 방법) (ZygoteInit.java:616)