问题标签 [spring-android]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1424 浏览

java - Java - 无法使用 Spring getForObject() 将 JSON 数组映射到对象

我必须使用 API RESTful Web 服务。目前我必须处理一个 JSON 对象,它看起来像:

这是我通常用来保存此 Web 服务的大多数端点的类:

运行时,应用程序崩溃:

0 投票
4 回答
1402 浏览

android - Android - Having problems managing server endpoints in app client

I have following server Urls:

server-base-url/method1
server-base-url/method2
server-base-url/method3
...
server-base-url/method100

I am currently using a properties file to store the URLs. When I need to consume some of the server URLs, then I read the properties file and perform the http request using Spring 4 Android

I know that should be another way (and a better way) to do this. What is the best practice to achieve this?

0 投票
2 回答
2081 浏览

gradle - 错误:Gradle:打包 APK 期间文件重复

在我的 gradle android 应用程序中,当我运行应用程序时出现以下错误。

错误:Gradle:打包 APK /home/WorkSpace/MyProject/app/build/outputs/apk/app-debug-unaligned.apk 错误:Gradle:任务“:app:packageDebug”执行失败。在 APK META-INF/license.txt 文件 1 中复制的重复文件:/home/.gradle/caches/modules-2/files-2.1/org.springframework.android/spring-android-rest-template/1.0.1.RELEASE /e132d929bd181941f79b0d63edafb8a86ae6fd33/spring-android-rest-template-1.0.1.RELEASE.jar 文件2:/home/.gradle/caches/modules-2/files-2.1/org.springframework.android/spring-android-core/1.0 .1.RELEASE/e68f0e8e4b636ee30c4de58953be38d9b72a5e3b/spring-android-core-1.0.1.RELEASE.jar

下面是我的 gradle 文件。构建.gradle:

我该如何解决这个错误?请帮我。

0 投票
6 回答
61641 浏览

android - Android Gradle 在 APK META-INF/license.txt 中复制的重复文件

我将向我的 Android 应用程序添加 Spring 的 RESTful Web 服务支持,如此处所述https://spring.io/guides/gs/sumption-rest-android/

这是顶级 build.gradle 配置:

这是我的app/build.gradle配置:

现在它失败并出现以下错误:

我做错了什么以及如何解决?

0 投票
2 回答
569 浏览

android - HttpClient 已从 Android 6.0 中删除,我如何将它与 RestTemplate 一起使用?

在使用 Spring 的 RestTemplate 时,我需要使用 HttpClient 来设置某些参数。

我目前通过以下方式执行此操作:

目前到处都在使用的 HttpClient,例如在

指向 Android 附带的已弃用的。

由于它已被弃用,并在 6.0 中从 Android 中删除,我该如何继续使用带有 RestTemplate 的 HttpClient 对象?

由于它们共享相同的包(org.apache.http.client),我不确定如何在 6.0 之前/之后使其工作。

(我尝试在不设置 HttpClient 的情况下使用 httpclient-android 和 HttpComponentsClientHttpRequestFactory,然后它似乎正在使用 CloseableHttpClient。但方法签名是前面提到的已弃用的 HttpClient。)

指针将不胜感激。

0 投票
1 回答
1881 浏览

android - 从命令行运行时AndroidTest失败:app:connectedDebugAndroidTest

我正在使用 android springRestTemplate在我的应用程序上进行 REST 服务调用。我添加了 android Instrumentation 测试,其中包括模拟 REST 服务调用。从 android studio 运行时,我的所有测试都运行良好,但是从终端运行时测试无法加载 spring 模拟类

spring 测试对 build.gradle 的依赖

如果我改为compile而不是androidTestCompile,则 android 测试从终端运行良好。由于我不希望这种对我的生产 APK 的依赖有任何帮助,因此不胜感激。

这是开始测试时的日志

08-05 00:04:12.585 22274-22302/com.libin.androiduitesting E/TestLoader:找不到类:org.springframework.asm.commons.JSRInlinerAdapter 08-05 00:04:12.587 22274-22302/com.libin .androiduitesting E/TestLoader:找不到类:org.springframework.asm.commons.TryCatchBlockSorter 08-05 00:04:12.593 22274-22302/com.libin.androiduitesting E/TestLoader:找不到类:org.springframework。 cglib.transform.AbstractProcessTask 08-05 00:04:12.593 22274-22302/com.libin.androiduitesting E/TestLoader:找不到类:org.springframework.cglib.transform.AbstractTransformTask 08-05 00:04:12.603 22274- 22302/com.libin.androiduitesting E/TestLoader:找不到类:org.springframework.core.convert.support.ConvertingPropertyEditorAdapter 08-05 00:04:12.610 22274-22302/com.libin.androiduitesting E/TestLoader:找不到类:org.springframework.core.io.ResourceEditor 08-05 00:04:12.611 22274-22302/com.libin.androiduitesting E/TestLoader:找不到类:org.springframework.core.io.support。 ResourceArrayPropertyEditor 08-05 00:04:12.617 22274-22302/com.libin.androiduitesting E/TestLoader:找不到类:org.springframework.mock.http.MockHttpInputMessage 08-05 00:04:12.618 22274-22302/com。 libin.androiduitesting E/TestLoader:找不到类:org.springframework.mock.http.MockHttpOutputMessage 08-05 00:04:12.618 22274-22302/com.libin.androiduitesting E/TestLoader:找不到类:org.springframework .mock.http.client.MockClientHttpRequest 08-05 00:04:12.618 22274-22302/com.libin.androiduitesting E/TestLoader:找不到类:org.springframework.mock.http.client。MockClientHttpResponse 08-05 00:04:12.618 22274-22302/com.libin.androiduitesting E/TestLoader:找不到类:org.springframework.mock.jndi.ExpectedLookupTemplate 08-05 00:04:12.619 22274-22302/com。 libin.androiduitesting E/TestLoader:找不到类:org.springframework.mock.jndi.SimpleNamingContext 08-05 00:04:12.619 22274-22302/com.libin.androiduitesting E/TestLoader:找不到类:org.springframework .mock.jndi.SimpleNamingContextBuilder 08-05 00:04:12.619 22274-22302/com.libin.androiduitesting E/TestLoader:找不到类:org.springframework.mock.web.DelegatingServletInputStream 08-05 00:04:12.619 22274 -22302/com.libin.androiduitesting E/TestLoader:找不到类:org.springframework.mock.web.DelegatingServletOutputStream 08-05 00:04:12.620 22274-22302/com.libin。androiduitesting E/TestLoader:找不到类:org.springframework.mock.web.MockBodyContent 08-05 00:04:12.620 22274-22302/com.libin.androiduitesting E/TestLoader:找不到类:org.springframework.mock .web.MockExpressionEvaluator 08-05 00:04:12.620 22274-22302/com.libin.androiduitesting E/TestLoader:找不到类:org.springframework.mock.web.MockFilterChain 08-05 00:04:12.620 22274-22302 /com.libin.androiduitesting E/TestLoader:找不到类:org.springframework.mock.web.MockFilterConfig 08-05 00:04:12.620 22274-22302/com.libin.androiduitesting E/TestLoader:找不到类: org.springframework.mock.web.MockHttpServletRequest 08-05 00:04:12.621 22274-22302/com.libin.androiduitesting E/TestLoader:找不到类:org.springframework.mock.web.MockHttpServletResponse 08-05 00:04 :12.621 22274-22302/com.libin.androiduitesting E/TestLoader:找不到类:org.springframework.mock.web.MockHttpSession 08-05 00:04:12.621 22274-22302/com.libin.androiduitesting E/TestLoader:可以找不到类:org.springframework.mock.web.MockJspWriter 08-05 00:04:12.621 22274-22302/com.libin.androiduitesting E/TestLoader:找不到类:org.springframework.mock.web.MockMultipartFile 08- 05 00:04:12.621 22274-22302/com.libin.androiduitesting E/TestLoader:找不到类:org.springframework.mock.web.MockMultipartHttpServletRequest 08-05 00:04:12.622 22274-22302/com.libin.androiduitesting E/TestLoader:找不到类:org.springframework.mock.web.MockPageContext 08-05 00:04:12.622 22274-22302/com.libin.androiduitesting E/TestLoader:找不到类:org.springframework.mock。网。MockRequestDispatcher 08-05 00:04:12.623 22274-22302/com.libin.androiduitesting E/TestLoader:找不到类:org.springframework.mock.web.MockServletConfig 08-05 00:04:12.623 22274-22302/com。 libin.androiduitesting E/TestLoader:找不到类:org.springframework.mock.web.MockServletContext 08-05 00:04:12.628 22274-22302/com.libin.androiduitesting E/TestLoader:找不到类:org.springframework .mock.web.PassThroughFilterChain 08-05 00:04:12.628 22274-22302/com.libin.androiduitesting E/TestLoader:找不到类:org.springframework.mock.web.portlet.MockActionRequest 08-05 00:04: 12.629 22274-22302/com.libin.androiduitesting E/TestLoader:找不到类:org.springframework.mock.web.portlet.MockActionResponse 08-05 00:04:12.629 22274-22302/com.libin.androiduitesting E/TestLoader :找不到类:org.springframework.mock.web.portlet.MockBaseURL 08-05 00:04:12.629 22274-22302/com.libin.androiduitesting E/TestLoader:找不到类:org.springframework.mock.web。 portlet.MockCacheControl 08-05 00:04:12.630 22274-22302/com.libin.androiduitesting E/AndroidRuntime: 致命异常: Instr: android.support.test.runner.AndroidJUnitRunner 进程: com.libin.androiduitesting, PID: 22274 java .lang.NoClassDefFoundError: org.springframework.mock.web.portlet.MockClientDataRequest 在 java.lang.Class。classForName(Native Method) at java.lang.Class.forName(Class.java:324) at android.support.test.internal.runner.TestLoader.doLoadClass(TestLoader.java:92) at android.support.test.internal。 runner.TestLoader.loadIfTest(TestLoader.java:113) at android.support.test.internal.runner.TestRequestBuilder.loadClassesFromClassPath(TestRequestBuilder.java:801) at android.support.test.internal.runner.TestRequestBuilder.build(TestRequestBuilder.爪哇:747) 在 android.support.test.runner.AndroidJUnitRunner.buildRequest(AndroidJUnitRunner.java:354) 在 android.app.Instrumentation$InstrumentationThread.run (Instrumentation.java:1879)java:260) 在 android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1879)java:260) 在 android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1879)

0 投票
1 回答
148 浏览

spring-android - spring-android Rest 模板 401 和 HttpMessageNotReadableException

我已经像这样设置了我的转换器 - converters = {StringHttpMessageConverter.class, FormHttpMessageConverter.class, MappingJackson2HttpMessageConverter.class}

我假设它会在尝试映射到 JSON 之前先尝试字符串。我如何向底层转换器发出信号,不要尝试映射到 JSON,因为此响应是 401 Unauthorized,我想尝试重新验证我的情况并尝试相同的操作?

或者我应该只包含一个带有这个特定异常的 catch 块来处理这个?

得到以下异常。

W/System.err:org.springframework.http.converter.HttpMessageNotReadableException:无法读取 JSON:无法识别的令牌“未授权”:期待(“真”、“假”或“空”) W/System.err:在 [来源:buffer(com.android.okhttp.internal.http.HttpConnection$FixedLengthSource@f03e4ce).inputStream(); 行:2,列:14];嵌套异常是 com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'Unauthorized': was expecting ('true', 'false' or 'null') W/System.err: at [Source: buffer(com.android. okhttp.internal.http.HttpConnection$FixedLengthSource@f03e4ce).inputStream(); 行:2,列:14]

0 投票
1 回答
370 浏览

java - Spring Android - POST 请求 - 来自类对象的 URL 编码参数

我正在尝试在 Android Spring POST 请求中发送一些键值对。如果我使用的是

MultiValueMap<String, String> map= new LinkedMultiValueMap<String, String>();

为了那个原因。有什么方法可以避免 MultiValueMap 并直接将 Class Object 作为 Request 发送

找到的一种解决方案是使用 Reflection ,如下所示


代码片段

0 投票
0 回答
140 浏览

java - 编码 android 时特殊字符 \x100E 被剥离

我正在处理美国驾照字符串。我从那里得到那个字符串manatee scanning sdk

许可证字符串以格式开头,@\n\x001E\rANSI 63601...同时将其编码为 json(json 编码由 spring 框架内部完成),特殊字符\x001E被剥离,导致字符串类似于这样@\n\rANSI 63601

我首先尝试通过执行以下操作对许可证字符串进行 ASCII 编码:

这确实保留\x001E但剥离\n \r字符

导致这样的字符串@\x001eANSI 630601...

有人可以指导我我做错了什么吗?

PS:双重转义特殊字符等不是我的选择。

编辑

我在 Android Studio 中工作,我将字符串存储@\n\x001E\rANSI 63601...在 JavaString对象中

0 投票
1 回答
313 浏览

android - 构建失败错误:任务':app:transformNative_libsWithMergeJniLibsForRelease'执行失败

添加项目库 gpuimage-library 时出现此错误。到我的应用程序的 gradle.build 可以解决这个问题,但是,它没有。这是我的应用程序的 gradle.build 当前的样子。

这是顶级 build.gradle 配置:

这是我的 app/build.gradle 配置:

我做错了什么以及如何解决?. 谢谢支持