Firebase实时数据库数据转字符串失败,无法存储链接用于跳转
问题描述
我花费近5小时尝试将Firebase实时数据库中的数据转换为字符串,参考同类问题后仍无法成功存储数据。我的需求是将数据库中的链接存储为字符串,以便实现APP跳转至对应链接的功能。
相关信息:
- 日志信息截图
- APP实时数据库结构截图
原尝试代码
@Override public void Click(String name) { FirebaseDatabase database = FirebaseDatabase.getInstance(); DatabaseReference mDatabase = FirebaseDatabase.getInstance().getReference("Club_Screen").child(name); Log.d("Name", name); mDatabase.addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { for (DataSnapshot snapshot : dataSnapshot.getChildren()) { String insta = snapshot.child("instagramLink").getValue().toString(); String github = snapshot.child("github").getValue().toString(); if (insta != null) { Log.d("Insta", insta); } else { Log.d("Insta", "Instagram link is null"); } if (github != null) { Log.d("Github", github); } else { Log.d("Github", "GitHub link is null"); } } } @Override public void onCancelled(DatabaseError databaseError) { Log.d("Error",databaseError.getMessage()); } }); }
解决方案代码
@Override public void Click1(String name) { DatabaseReference root = FirebaseDatabase.getInstance().getReference(); DatabaseReference reference = root.child("Club_Screen"); com.google.firebase.database.Query query = reference.orderByChild("name").equalTo(name); query.addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { for(DataSnapshot snap: dataSnapshot.getChildren()) { String github = (String) snap.child("github").getValue(); gotoUrl(github); } } @Override public void onCancelled(DatabaseError databaseError) { } }); }
内容的提问来源于stack exchange,提问作者Meet Modi
相关产品推荐
相关产品推荐

