我正在将ThreeTen-Backport库用于我的Android项目(因为java.time尚未在android开发中实现)。
当我写LocalDate today=LocalDate.now();
或LocalTime time=LocalTime.now();
得到以下异常时:
Caused by: org.threeten.bp.zone.ZoneRulesException:
No time-zone data files registered
at org.threeten.bp.zone.ZoneRulesProvider.getProvider(ZoneRulesProvider.java:176)
at org.threeten.bp.zone.ZoneRulesProvider.getRules(ZoneRulesProvider.java:133)
at org.threeten.bp.ZoneRegion.ofId(ZoneRegion.java:143)
at org.threeten.bp.ZoneId.of(ZoneId.java:357)
at org.threeten.bp.ZoneId.of(ZoneId.java:285)
at org.threeten.bp.ZoneId.systemDefault(ZoneId.java:244)
at org.threeten.bp.Clock.systemDefaultZone(Clock.java:137)
at org.threeten.bp.LocalDate.now(LocalDate.java:165)
同一行代码在我拥有的另一个使用本机java.time库的Java项目中也能很好地工作。
我搜索了一个可能的解决方案,但找不到任何有用的解决方案:一个解决方案建议我需要使用另一个包含时区规则的jar,另一个建议在类路径中可能包含两个或多个ThreeTenBP库。
这些情况与我的情况不符。
在build.gradle
文件内的“依赖项”部分,我尝试了几种配置:
compile 'com.jakewharton.threetenabp:threetenabp:1.0.3'
compile 'org.threeten:threetenbp:1.0.3'
compile 'org.threeten:threetenbp:1.3.1'
compile 'org.threeten:threetenbp:1.3.2'
我不知道那行代码有什么问题以及如何解决。
该LocalDate.now()
和LocalTime.now()
方法应该工作而没有指定时区。
对于Android项目,您应该使用
implementation 'com.jakewharton.threetenabp:threetenabp:1.0.3'
AndroidThreeTen.init(this);
在使用库中的类之前,请确保先调用。这将读取时区数据(包含在库中)。您可以使用README中推荐Application
的onCreate
方法在类中初始化该库。
我正在为我的Android项目使用ThreeTen-Backport库(因为在Android开发中还没有实现java.time)。 我搜索了一个可能的解决方案,但没有找到任何有用的东西:一个解决方案建议我需要使用另一个包含时区规则的jar,另一个建议在类路径中可能有两个或更多的threetenbp库。 这些情况与我的情况不匹配。 在文件的依赖项部分,我尝试了几种配置: 最初,我使用- 然后,我尝试
我使用的是Android GCM推送服务,它在一段时间内运行良好,但如果我让我的应用程序闲置几分钟,或者当我在代码修改后重新运行它时,我没有收到任何消息,GCM服务器给我这个错误:“NotRegistered”我做了一些重新搜索,我发现了这个问题,但我还不能在那里发表评论(低声誉:(而且帖子太旧了) 在浏览过程中,我发现Google服务器有时会自动刷新注册id,所以我需要知道的是GCM服务器何时对
在64位计算机上运行Visual Studio 2012应用程序时,会显示以下错误消息: 由于以下错误,检索CLSID为{F2D4F4E5-EEA1-46FF-A83B-A270C92DAE4B}的组件的COM类工厂失败:80040154类未注册(HRESULT的异常:0x80040154(REGDB_E_CLASSNOTREG)) 我正在visualstudio中使用Inventor packa
问题内容: 我一直在尝试隔离应用程序中的错误。我成功产生了以下“谜语”: 在Android API 7上 运行此代码时,我得到了注释中的值(是的,是的)。此行为取决于特定的Java实现。 我的问题是: 为什么s1不等于s2? 更重要的是, 为什么s1不正确? 虽然指向适当的时间点,但没有。Android的SimpleDateFormat实现中似乎存在一个错误。 问题1 的答案 : 请参阅Balus
我有一个包含各种列的表“用户”。其中一列是用户名。我决定通过迁移删除该列。这样做之后,我试图通过注册表单(创建操作)创建一个新用户,但收到用户名的未定义方法错误,我不确定为什么。@user.save 上引发错误。 下面是相关的代码,首先是用户控制器的动作,然后是实际提交的表单。 有什么想法吗?堆栈跟踪,根据要求: