相关疑难解决方法(0)

如何在Android Project中使用ThreeTenABP

我正在添加这个问题,因为我是Java和Android的新手,我搜索了几个小时试图解决这个问题.答案来自相关答案的组合,所以我想我会记录我为其他可能正在努力的人学到的东西.见答案.

对于一些背景知识,我的经验主要是PHP的Web开发和一点Ruby.我唯一的操作系统是Linux(Ubuntu Studio),我(不情愿地)在Android Studio 2.1.2中开发我的第一个Android应用程序.我的Java设置如下:

>java -version
> openjdk version "1.8.0_91"
> OpenJDK Runtime Environment (build 1.8.0_91-8u91-b14-3ubuntu1~15.10.1-b14)
> OpenJDK 64-Bit Server VM (build 25.91-b14, mixed mode)
Run Code Online (Sandbox Code Playgroud)

datetime android android-gradle-plugin threetenbp threetenabp

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

调用需要 API 级别 26(当前最小值为 23):java.time.Instant#now

我正在实施Google 的 Directions API。我的应用程序支持minSdkVersion 23java.time.Instant这里不支持。

是否有解决方案,或者我应该检查用户的版本并在支持该版本的情况下允许此功能?

    DirectionsResult directionsResult = DirectionsApi.newRequest(geoApiContext)
            .mode(TravelMode.DRIVING)
            .origin(new com.google.maps.model.LatLng(mapFragment.getUserCoords().latitude, mapFragment.getUserCoords().longitude))
            .destination(tabHandlerCommunication.destinationBarCoords)
            .departureTime(Instant.now()) // <-- error here
            .await();
Run Code Online (Sandbox Code Playgroud)

错误:

调用需要 API 级别 26(当前最小值为 23):java.time.Instant#now less... (Ctrl+F1) 检查信息:此检查扫描应用程序中的所有 Android API 调用并警告任何调用不适用于此应用程序针对的所有版本(根据清单中的最小 SDK 属性)。如果你真的想使用这个 API 并且不需要支持旧设备,只需在你的 build.gradle 或 AndroidManifest.xml 文件中设置 minSdkVersion 。如果您的代码有意访问较新的 API,并且您已确保(例如使用条件执行)此代码只会在受支持的平台上调用,那么您可以使用指定本地最小 SDK 的 @TargetApi 注释来注释您的类或方法申请,例如@TargetApi(11),以便此检查将 11 而不是清单文件的最低 SDK 作为所需的 API 级别。如果您有意在样式定义中设置 android: 属性,请确保将其放在 values-vNN 文件夹中,以避免在某些设备上遇到运行时冲突,其中制造商添加了自定义属性,而这些自定义属性的 id 与以后平台上的新属性发生冲突. 同样,您可以在 XML 文件中使用 tools:targetApi="11" 来指示元素只会在适当的上下文中膨胀。问题编号:NewApi 确保将其放在 values-vNN 文件夹中,以避免在某些设备上遇到运行时冲突,这些设备制造商添加了自定义属性,其 id 与更高平台上的新属性冲突。同样,您可以在 XML 文件中使用 tools:targetApi="11" 来指示元素只会在适当的上下文中膨胀。问题编号:NewApi …

java android google-directions-api

13
推荐指数
2
解决办法
7347
查看次数

在 Java 中解析日期字符串

我的日期格式为“yyyy-MM-dd'T'HH:mm:ss.sssZ”。例如日期是“2018-07-17T09:59:51.312Z”。我正在使用下面的代码来解析 Java 中的字符串。

  String date="2018-07-17T09:59:51.312Z";
    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.sssZ");
   Date transactionDateTime = simpleDateFormat.parse(date);
Run Code Online (Sandbox Code Playgroud)

这给了我“无法解析的日期:”异常。谁能告诉我如何做到这一点?

java datetime parseexception datetime-parsing

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

以ISO 8601格式解析日期时间字符串,而不从UTC偏移

我正在将字符串类型的日期解析为日期格式,但每次都有此异常

java.text.ParseException: Unparseable date: "2016-05-21T00:00:00" (at offset 4)
Run Code Online (Sandbox Code Playgroud)

我的代码是:

   String d = "2016-05-21T00:00:00";
    DateFormat df = new SimpleDateFormat("yyyy MM dd HH:mm:ss", Locale.ENGLISH);
    Date myDate = null;
    try {
        myDate = df.parse(d);
    } catch (ParseException e) {
        e.printStackTrace();
    }
Run Code Online (Sandbox Code Playgroud)

android date

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