小编Mat*_*hak的帖子

Android上的ThreeTen-Backport错误 - ZoneRulesException:未注册任何时区数据文件

我正在为我的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()方法应该工作而没有指定时区.

java android exception jsr310 threetenbp

33
推荐指数
1
解决办法
8558
查看次数

使用Android 7的Genymotion模拟器上的Google Play服务

我购买了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

4
推荐指数
3
解决办法
2万
查看次数

RealmDB-React Native-无法在路径'.management'中打开领域

在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手动设置权限。我似乎无法解决问题。

有什么建议么?

谢谢!

android realm genymotion react-native

3
推荐指数
1
解决办法
816
查看次数

如何在 IDE 中而不是在命令提示符中显示 Visual Studio 控制台应用程序输出?

我最近开始在 Visual Studio 上进行 C++ 编程,我注意到它总是在命令提示符 (CMD) 中为我提供控制台输出。
我是一名 Java 程序员,习惯于使用 Eclipse 和 Netbeans。使用这些 IDE,我能够在 IDE 中看到控制台,而不是在不同的单独窗口中。
有没有办法像 Eclipse 和 Netbeans 那样在 Visual Studio 中显示控制台输出?

c++ eclipse console-application visual-studio

3
推荐指数
1
解决办法
9784
查看次数

java.time 比较不一致

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)

java java-time

1
推荐指数
1
解决办法
112
查看次数