Database.Logger.Level枚举值在版本11.0.0中不可访问 [英] Database.Logger.Level Enum Values Not Accessible in Version 11.0.0
问题描述
在11.0.2版本中,此问题已得到纠正。
在Firebase版本11.0.0之前, Database.Logger.Level 可以直接访问。一个用10.2.6编译的例子是:
$ p $ FirebaseDatabase.getInstance()。setLogLevel(Logger.Level.DEBUG);
该语句不使用版本11.0.0进行编译。解决方法是使用 valueOf()
:
FirebaseDatabase.getInstance ).setLogLevel(Logger.Level.valueOf( 调试));
在11.0.0中, Database.Logger
是:
public interface Logger {
public static enum Level {
zzcbX ,
zzcbY,
zzcbZ,
zzcca,
zzccb;
private Level(){
}
}
}
在10.2.6中,它是:
$ b $ pre $ public interface Logger {
public static enum Level {
DEBUG,
INFO,
WARN,
错误,
无;
private Level(){
}
}
}
是否使用 valueOf()
适当的解决方法,直到枚举值可以被再次访问?
这是11.0.0和11.0.1版本中已知的一个bug的Android SDK。它应该在7月初到期的版本11.0.2中修复。
Update 30 June:
This problem is corrected in version 11.0.2.
Prior to Firebase version 11.0.0, the enum values of Database.Logger.Level were directly accessible. An example that compiles with 10.2.6 is:
FirebaseDatabase.getInstance().setLogLevel(Logger.Level.DEBUG);
That statement does not compile using version 11.0.0. A workaround is to use valueOf()
:
FirebaseDatabase.getInstance().setLogLevel(Logger.Level.valueOf("DEBUG"));
In 11.0.0, the decompiled .class file for Database.Logger
is:
public interface Logger {
public static enum Level {
zzcbX,
zzcbY,
zzcbZ,
zzcca,
zzccb;
private Level() {
}
}
}
In 10.2.6, it's:
public interface Logger {
public static enum Level {
DEBUG,
INFO,
WARN,
ERROR,
NONE;
private Level() {
}
}
}
Is use of valueOf()
the appropriate workaround until the enum values are accessible again?
firebaser here
This is a known bug in version 11.0.0 and 11.0.1 of the Android SDK. It should be fixed in version 11.0.2, which is due by early July.
这篇关于Database.Logger.Level枚举值在版本11.0.0中不可访问的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!