java - 如何从两个不同的活动中访问 Firebase 实时数据库?
问题描述
我正在开发一个项目,在该项目中我创建了一个自定义 java 类,在该类中我创建了一个 firebase 数据库实例,因此当我需要访问数据库时,我可以创建自定义类的实例并可以访问数据库和当我通过活动“A”中的自定义 java 对象调用数据库时,它可以正常工作,但是当我在活动“B”中调用数据库时,活动“B”突然崩溃。我该如何解决这个问题?
自定义java类代码
public class databaseApp {
public databaseApp() {
}
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference();
String id = FirebaseAuth.getInstance().getCurrentUser().getUid();
public void writeNewUser(String u, String e, String p, String tcn){
user user = new user();
user.setUserName(u);
user.setEmail(e);
user.setPhone(p);
user.setTcn(tcn);
myRef.child("User").child(getUniqueId()).child("User Data").setValue(user);
}
public void addBatchToDatabase(String batchName,String startDate,String endDate,String fees, String startTiming,String endTiming){
addBatchDatabase addbatchDetails = new addBatchDatabase();
addbatchDetails.setBatchName(batchName);
addbatchDetails.setStartDate(startDate);
addbatchDetails.setEndDate(endDate);
addbatchDetails.setFees(fees);
addbatchDetails.setStartTimimg(startTiming);
addbatchDetails.setEndTimimg(endTiming);
DatabaseReference myref = database.getReference(id);
myref.push().child("Batch").setValue(addbatchDetails);
}
活动“A”代码
databaseApp databaseApp = new databaseApp();
databaseApp.writeNewUser(N.getText().toString(),E.getText().toString(),P.getText().toString(),tcn.getText().toString());
活动“B”代码
databaseApp databaseApp = new databaseApp();
databaseApp.addBatchToDatabase(batchName.getText().toString(),startDate.getText().toString(),endDate.getText().toString(),fees.getText().toString(),startTime.getText().toString(),endTime.getText().toString());
解决方案
推荐阅读
- gnuplot - gnuplot中的直方图 - 箱没有彼此分开
- android - 图层列表可绘制对象有时未完全呈现
- java - 即使在异常之后如何继续无限循环
- python - 如何覆盖“设置”内置?
- xml - 过滤命名空间并用 XSLT 替换它们的前缀
- express - Bootstrap Modal 没有显示正确的 post_id
- python - 安装 TA-Lib 时,我得到以下信息 -> 错误:命令错误,退出状态为 1:
- git - 在詹金斯中测试 gitlab API 时出现 403 错误
- pandas - 用漂亮的汤在 for 循环中解析单个 XML 文件
- python - 将字符串格式的时间转换为时间戳格式在 Pyspark 中不起作用。它抛出空