java - 如何使用 firebase 数据库中的值?
问题描述
我在 Firebase 数据库中有值,我只想将它作为一个 int 变量。
我想在项目中的变量中有coinsAmount。
我正在寻找很多信息但无法理解,因为大部分信息都是英文的,我不完全理解谷歌翻译器的翻译请告诉我怎么做或者扔掉它的写处
ValueEventListener valueEventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
int coinsAmount = dataSnapshot.child("coinsAmount").getValue(Long.class);
text.setText(coinsAmount);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
Log.d(TAG, databaseError.getMessage()); //Don't ignore errors!
}
};
uidRef.addListenerForSingleValueEvent(valueEventListener);
int coinsAmount = dataSnapshot.child("coinsAmount").getValue(Long.class);
说:
不兼容的类型。必需的 int 但“getValue”被推断为 T:不兼容的类型:Long 不能转换为 int
uidRef.addListenerForSingleValueEvent(valueEventListener);
说:
无法解析符号'addListenerForSingleValueEvent
https://i.stack.imgur.com/PpU7n.png
在活动中初始化
public class MenuActivity extends BaseActivity {
public TextView text;
private static final String TAG = "MenuActivity";
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference uidRef = rootRef.child("users").child(getUid());
解决方案
要获取您的coinsAmount
财产的价值,请使用以下代码行:
String uid = FirebaseAuth.getInstance().getCurrentUser().getUid();
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference uidRef = rootRef.child("users").child(uid);
ValueEventListener valueEventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
long coinsAmount = dataSnapshot.child("coinsAmount").getValue(Long.class);
Log.d(TAG, String.valueOf(coinsAmount));
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
Log.d(TAG, databaseError.getMessage()); //Don't ignore errors!
}
};
uidRef.addListenerForSingleValueEvent(valueEventListener);
您的 logcat 中的输出将是:
0
推荐阅读
- hadoop - 在 Hadoop 中设置集群 - JPS 不显示 NodeManager 和 ResourceManager
- python - 使用 Selenium Python 在同一页面上单击多个按钮
- javascript - 如何重构这个冗长的 if/else
- javascript - 正则表达式查找字符串是否仅包含特殊字符或数字和特殊字符的混合
- php - 如何安全存储 api 密钥,模板文件
- android - Android:实时数据跳过值
- c++ - 成员参数扣除的可变参数模板
- python - 如何将 2017-W01 转换为日期?
- java - 如何判断一个对象是相同的还是不同的
- javascript - 如何制作一个登录表单,其中密码是输入的用户名输入的相反形式