我正在为我的Android项目使用ThreeTen-Backport库(因为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)
Run Code Online (Sandbox Code Playgroud)
相同的代码行在我使用的另一个java项目中运行良好,该项目使用本机java.time库.
我搜索了一个可能的解决方案,但找不到任何有用的东西:一个解决方案建议我需要使用另一个包含时区规则的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()方法应该工作而没有指定时区.
我购买了Genymotion,目标是使用Android 7.0和Google Play进行模拟.
Android 7.0在Genymotion上运行正常,但我无法在其上安装Google Play.
Google Play适用于Android 6.0及以下版本 - 我能够找到在Genymotion中使用Google Play时必须另外安装的源(闪光灯).
有人知道如何使用Genymotion在Android 7.0设备上安装Google Play吗?
android google-play google-play-services genymotion android-7.0-nougat
在Genymotion上运行Android的本机项目中,我运行了该应用程序。有一次我收到一个问题,并从VM卸载了该应用程序。重新运行该应用程序后,我收到了警报:
Unable to open a realm at path '.management'.
Please use a path where your app has read-write permissions. <unknown>
index.js:100 loadModuleImplementation
require.js:171 guardedLoadModule
require.js:123
_require
require.js:107 <unknown>
Repeaters.js:6 loadModuleImplementation
require.js:171 guardedLoadModule
require.js:123
_require
require.js:107 <unknown>
NavigationRouter.js:12 loadModuleImplementation
require.js:171 guardedLoadModule
require.js:123
_require
require.js:107 <unknown>
RootContainer.js:5 loadModuleImplementation
require.js:171 guardedLoadModule
require.js:123
_require
require.js:107 <unknown>
index.android.js:8 loadModuleImplementation
require.js:171 guardedLoadModule
require.js:116
_require
require.js:107 global code
require-0.js:1
Run Code Online (Sandbox Code Playgroud)
我尝试关闭Genymotion,通过adb shell卸载,通过adb shell手动设置权限。我似乎无法解决问题。
有什么建议么?
谢谢!
我最近开始在 Visual Studio 上进行 C++ 编程,我注意到它总是在命令提示符 (CMD) 中为我提供控制台输出。
我是一名 Java 程序员,习惯于使用 Eclipse 和 Netbeans。使用这些 IDE,我能够在 IDE 中看到控制台,而不是在不同的单独窗口中。
有没有办法像 Eclipse 和 Netbeans 那样在 Visual Studio 中显示控制台输出?
我LocalData在代码中使用对象,我注意到 using
compareTo方法不一致。
我使用该compareTo方法是为了获得两个日期之间的差异(以天为单位)。
但是,它似乎只适用于同一月份的日期。
我附上一个代码片段来演示这个问题:
import java.text.MessageFormat;
import java.time.LocalDate;
public class timeComparison {
public static void main(String[] args) {
LocalDate valentinesDay = LocalDate.of(2020, 2, 14);
LocalDate darwinDay = LocalDate.of(2020, 2, 12);
LocalDate leapDay = LocalDate.of(2020, 2, 29);
LocalDate superTuesday = LocalDate.of(2020, 3, 3);
String valentinesVsDarwin = MessageFormat.format(
"Valentine day is {0} days after Darwin day",
valentinesDay.compareTo(darwinDay)
);
System.out.println(valentinesVsDarwin);
String darwinVsLeap = MessageFormat.format(
"Leap day is {0} days after Darwin day",
leapDay.compareTo(darwinDay)
);
System.out.println(darwinVsLeap);
String …Run Code Online (Sandbox Code Playgroud) android ×3
genymotion ×2
java ×2
c++ ×1
eclipse ×1
exception ×1
google-play ×1
java-time ×1
jsr310 ×1
react-native ×1
realm ×1
threetenbp ×1