应用程序无法从firebase控制台接收数据。
我在清单文件中设置了INTERNET权限。 我的布局文件中也有一个列表视图。 Firebase助手还会显示我的应用已连接到Firebase,正确设置了依赖关系
这是我的java课程:
public class Todaytips extends Activity implements ValueEventListener {
DatabaseReference dref;
ListView listView;
ArrayList<String> list=new ArrayList<>();
ArrayAdapter<String> adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.todaytips);
listView=(ListView)findViewById(R.id.listview);
adapter=new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line,list);
dref= FirebaseDatabase.getInstance().getReference();
dref.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
String value= dataSnapshot.getValue(String.class);
list.add(value);
adapter.notifyDataSetChanged();
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {
}
@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s) {
String value= dataSnapshot.getValue(String.class);
list.remove(value);
adapter.notifyDataSetChanged();
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_activity_one, menu);
return true;
}
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
}
答案 0 :(得分:0)
这种方式对我有用,首先在onCreate方法之外声明DatabaseReference;
DatabaseReference dbRef = FirebaseDatabase.getInstance().getReference
然后,使用各自的TextView创建数据库的引用名称;
DatabaseReference tView = dbRef.child("AValueNameThatYouGiveInConsole");
声明一个TextView变量,
TextView text1; (this can go on in one line)
在onCreate中,
text1 = (TextView) findViewById (R.id.YourTextViewID's)
第3步,在onCreate方法之外,创建一个名为onStart的新方法。
@Override
protected void onStart(){
super.onStart();
tView.addValueEventListener (new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot snapshot) {
String x = snapshot.getValue(String.class); text1.setText(x); }
//让onCancelled方法原样
答案 1 :(得分:0)
我有不同的项目ID,因为我的android studio和firebase已登录 在不同的谷歌帐户。