不是Android系统的问题。
private void db() throws FileNotFoundException, IOException {
FileInputStream serviceAccount = new FileInputStream("serviceAccountKey.json");
FirebaseOptions options = new FirebaseOptions.Builder()
.setCredential(FirebaseCredentials.fromCertificate(serviceAccount))
.setDatabaseUrl(stringURL)
.build();
log.info(options.toString());
FirebaseApp firebaseApp = FirebaseApp.initializeApp(options);
FirebaseDatabase f = FirebaseDatabase.getInstance(firebaseApp, stringURL);
DatabaseReference databaseNonRoot = f.getReference();
DatabaseReference databaseReference = databaseNonRoot.getRoot();
log.info(databaseReference.toString());
// databaseReference.addValueEventListener(new ValueEventListener(){
//really?
}
{
"abc" : 123,
"bar" : 4342342,
"foo" : 432434
}
另见:
如何从Firebase android中获取所有子列表
是的。真的。
databaseReference.addValueEventListener(new ValueEventListener(){
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot childSnapshot: dataSnapshot.getChildren()) {
System.out.println("Key="+childSnapshot.getKey()+" Value="+childSnapshot.getValue());
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
throw databaseError.toException();
}
});
有关更多信息,请参见关于处理列表的Firebase文档。我还建议在这里阅读我的答案:https://stackoverflow.com/a/30943084/209103
问题内容: 我有一个带有一些静态成员的类,并且我想运行一些代码来初始化它们(假设此代码无法转换成简单的表达式)。在Java中,我只会 除非我弄错了,否则C ++不允许使用此类静态代码块,对吗?我应该怎么做呢? 我想要以下两个选项的解决方案: 初始化在进程加载时发生(或在加载带有此类的DLL时)。 初始化发生在第一次实例化该类时。 对于第二种选择,我在想: 但这是不可能的,因为C ++(目前?)不允
Java8正式将引入到JDK类库中,用于lambda的Stream API,因为lambda表达式不能声明其-子句,并且lambda body不能抛出检查过的异常,如。 和流API的习惯用法/最佳实践是什么?明确抛出新的对象的条件是什么?何时捕获异常?
我正面临着一个挑战,而工作类型映射的查询构建通过DoctrineSQL查询生成器(从DBAL,而不是ORM)使用MySQL 8。 执行的查询从数据库返回以下三列: 用户id(表中的bigint列) 起始时间(表中的日期时间列) 结束时间(表中的datetime列) 但是,通过我当前的实现(例如简化),没有值映射到它们的PHP对应项。 fetchAll()方法返回的结果返回一个
问题内容: 我涉足clojure,尝试确定与该通用python习语等效的clojure(和/或Lisp)有点麻烦。 习惯用法是,在python模块的底部经常有一些测试代码,然后是运行该代码的语句,例如: 这对于简单的临时测试很有用。通常,通过编写可以使用此模块,在这种情况下,从不调用它,但是在代码段的最后,也可以通过直接从命令行键入内容来运行该模块。 Clojure(和/或普通Lisp)中是否有一
问题内容: 方法链接 是对象方法返回对象本身以使结果被另一个方法调用的实践。像这样: 这似乎被认为是一种好习惯,因为它会产生可读的代码或“流畅的界面”。但是,对我而言,它似乎打破了面向对象本身所隐含的对象调用表示法-生成的代码不代表对先前方法的结果执行的动作,通常这是面向对象的代码的工作方式: 这种差异设法为“调用结果对象”的点标记创建了两种不同的含义:在链接的上下文中,以上示例将被视为保存参与者
问题内容: 我经常看到有关不鼓励使用的其他问题的评论。为什么这样不好?有时我只是不在乎错误是什么,我只想继续编写代码。 为什么使用积木不好?是什么让它不好?是我pass出错还是我except出错了? 问题答案: 正如你正确猜到的那样,它有两个方面:通过在后面不指定任何异常类型来捕获任何错误,并在不采取任何操作的情况下简单地传递它。 我的解释要“长一点”,因此; 可以细分为: 不要发现任何错误。始终