我在Firebase中创建了一个帐户,我创建了一个名为" Fieldglass"的项目。
现在点击firebase帐户中的数据库选项卡,我得到一个名为fieldglass-aeca7
的数据库
现在我想在其中插入值。我在OnCreate()
函数中为它编写了一个代码。
final CountDownLatch sync = new CountDownLatch(1);
DatabaseReference db= FirebaseDatabase.getInstance().getReference("fieldglass-aeca7");
String userId=db.push().getKey();
User u=new User("shikher","shikher.mishra@yahoo.com");
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
db.child(userId).setValue(u).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(Task<Void> task) {
sync.countDown();
}
});
try{
sync.await();
}
catch (Exception e)
{
System.out.print("there is an exception here in sync.await()");
}
现在运行此代码后,值不会插入控制台的数据库中。 如何将值插入Firebase数据库?
用户类是:
package com.example.hsports.galleryusingimageswitcher; /**
* Created by I324671 on 11/7/2016.
*/
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;
public class User {
public String name;
public String email;
public User(){
}
public User(String name,String email)
{
this.name=name;
this.email=email;
}
}
答案 0 :(得分:1)
您缺少User
模型类属性的getter方法。
来自Read and Write Data on Android
传递自定义Java对象,如果定义它的类具有默认构造函数,该构造函数不带参数并且具有公共getter 以便分配属性。
public class User {
public String name;
public String email;
public User() {}
public User(String name,String email) {
this.name=name;
this.email=email;
}
public String getName() {
return this.name;
}
public String getEmail() {
return this.email;
}
}
这应该有效。 :)