如何在Android中使用ElasticSearch API

如何在Android中使用ElasticSearch API,第1张

概述谁能解释我如何在Android中使用ElasticSearchAPI.是否有人成功将api集成到了android中?我在Gradle中添加了以下依赖项:compile'org.elasticsearch.client:transport:5.2.1'我当然遇到了问题:Error:Executionfailedfortask‘:app:transformResourcesWithMergeJavaResFor

谁能解释我如何在Android中使用ElasticSearch API.
是否有人成功将API集成到了androID中?

我在Gradle中添加了以下依赖项:

compile 'org.elasticsearch.clIEnt:transport:5.2.1'

我当然遇到了问题:

Error:Execution Failed for task ‘:app:transformResourcesWithMergeJavaResForDeBUG’.
com.androID.build.API.transform.transformException: com.androID.builder.packaging.DuplicatefileException: Duplicate files copIEd in APK meta-inf/liCENSE
file1: C:\Users\dude.gradle\caches\modules-2\files-2.1\org.apache.httpcomponents\httpcore-nio\4.4.5\f4be009e7505f6ceddf21e7960c759f413f15056\httpcore-nio-4.4.5.jar
file2: C:\Users\dude.gradle\caches\modules-2\files-2.1\org.apache.httpcomponents\httpasyncclIEnt\4.1.2\95aa3e6fb520191a0970a73cf09f62948ee614be\httpasyncclIEnt-4.1.2.jar
file3: C:\Users\dude.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.dataformat\jackson-dataformat-yaml\2.8.6\8bd44d50f9a6cdff9c7578ea39d524eb519e35ab\jackson-dataformat-yaml-2.8.6.jar
file4: C:\Users\dude.gradle\caches\modules-2\files-2.1\org.apache.httpcomponents\httpcore\4.4.5\e7501a1b34325abb00d17dde96150604a0658b54\httpcore-4.4.5.jar
file5: C:\Users\dude.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-core\2.8.6\2ef7b1cc34de149600f5e75bc2d5bf40de894e60\jackson-core-2.8.6.jar

.

更新1:

好吧,我必须使用Android Asynchronous Http Client的REST API,因为adding packagingOptions不能解决问题

解决方法:

好的,所以我了解了如何使用库从AndroID访问REST API.
查看有关Android Asynchronous Http Client和Github的更多详细信息.

首先将权限添加到清单中

<uses-permission androID:name="androID.permission.INTERNET" />

在gradle中添加:

compile 'com.loopj.androID:androID-async-http:1.4.9'

现在,您可以像这样开始实现REST API:

import androID.util.Log;import com.loopj.androID.http.AsynchttpClIEnt;import com.loopj.androID.http.AsynchttpResponseHandler;import com.loopj.androID.http.JsonhttpResponseHandler;import com.loopj.androID.http.RequestParams;import org.Json.JsONArray;import org.Json.JsONObject;import cz.msebera.androID.httpclIEnt.header;public class ElasticRestClIEnt {    private static final String BASE_URL = "http://httpbin.org/"; //http://localhost:9200/    private static final String CLASS_name = ElasticRestClIEnt.class.getSimplename();    private static AsynchttpClIEnt clIEnt = new AsynchttpClIEnt();    public static voID get(String url, RequestParams params, AsynchttpResponseHandler responseHandler) {        clIEnt.get(getabsoluteUrl(url), params, responseHandler);    }    public static voID post(String url, RequestParams params, AsynchttpResponseHandler responseHandler) {        clIEnt.post(getabsoluteUrl(url), params, responseHandler);    }    private static String getabsoluteUrl(String relativeUrl) {        return BASE_URL + relativeUrl;    }    public voID gethttpRequest() {        try {            ElasticRestClIEnt.get("get", null, new JsonhttpResponseHandler() { // instead of 'get' use twitter/tweet/1                @OverrIDe                public voID onSuccess(int statusCode, header[] headers, JsONObject response) {                    // If the response is JsONObject instead of expected JsONArray                    Log.i(CLASS_name, "onSuccess: " + response.toString());                }                @OverrIDe                public voID onSuccess(int statusCode, header[] headers, JsONArray response) {                    Log.i(CLASS_name, "onSuccess: " + response.toString());                }                @OverrIDe                public voID onFailure(int statusCode, header[] headers, String responseString, Throwable throwable) {                    super.onFailure(statusCode, headers, responseString, throwable);                    Log.e(CLASS_name, "onFailure");                    // called when response http status is "4XX" (eg. 401, 403, 404)                }                @OverrIDe                public voID onRetry(int retryNo) {                    Log.i(CLASS_name, "onRetry " + retryNo);                    // called when request is retrIEd                }            });        }        catch (Exception e){            Log.e(CLASS_name, e.getLocalizedMessage());        }    }}
总结

以上是内存溢出为你收集整理的如何在Android中使用ElasticSearch API全部内容,希望文章能够帮你解决如何在Android中使用ElasticSearch API所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1091333.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存