在哪里可以得到一个简单的Android API客户端?[关闭]

x7rlezfr  于 2024-01-04  发布在  Android
关注(0)|答案(1)|浏览(160)

**已关闭。**此问题正在寻求有关书籍、工具、软件库等内容的建议。它不符合Stack Overflow guidelines。当前不接受答案。

我们不允许提出问题来寻求对图书、工具、软件库等的推荐。您可以编辑问题,以便用事实和引文来回答。
2天前关闭。
Improve this question
我们中的许多人需要执行Web服务来从服务器获取数据,以便在我们的Android应用程序中使用。我已经开发了一个简单的Android API客户端使用RESTful API。该库非常容易使用,并做简单的Http请求,支持四种Http方法(GET,POST,PUT,和DELETE)。
使用此库,您可以构建一个http请求并处理其响应结果,响应结果可分为五类:
1.提供信息的回应。
1.响应成功。
1.客户端错误响应。
1.服务器错误响应。
1.例外状况回应。
在答案中有一个关于如何使用该库的简单示例。

q7solyqu

q7solyqu1#

这里是GitHub上的库链接
https://github.com/jorcad/AndroidApiClient
您可以从bin文件夹中将jar(android-api-client.jar)文件导入到您的项目中。
使用此库,您可以指定以下参数:

  • 设置调用的基URI。
  • 设置Http方法。
  • 添加路径、参数和标头。
  • 设置内容类型。
  • 设置实体/内容/正文。
  • 设置连接和套接字超时。
  • 设置连接和套接字超时重试计数。
  • 设置是否在连接或套接字超时时启用重试。
  • 以三种方式执行请求:块、线程或异步任务。
  • 设置处理程序以获取不同响应代码的结果:Informational、Successful、ClientError和ServerError。
  • 获取响应实体(响应代码、内容、内容长度和标头)。

关于如何构建第一个API调用并处理结果的示例:

  1. ApiClient apiClient = new ApiClientBuilder()
  2. .setBaseUri("http://localhost:8181")
  3. .addPath("WebServices")
  4. .addPath("rest")
  5. .addPath("accout")
  6. .addPath("create")
  7. .addParam("UserName", "user123")
  8. .addParam("FirstName", "Mike")
  9. .addParam("LastName", "Norm")
  10. .addParam("Password", "p@ssw0rd")
  11. .addParam("email", "[email protected]")
  12. .addHeader("ContentType", "application/xml")
  13. .setTextContent("<Root><Test>this is test</Test></Root>")
  14. .setMethod(Method.POST)
  15. .setConnectionTimeout(6000)
  16. .setSocketTimeout(6000)
  17. .build();
  18. //execute and handle the result
  19. apiClient.executeOnAsyncTask(new ApiClientHandler()
  20. {
  21. @Override
  22. public void onInformational(Status status, String responseStatus, ResponseEntity entity)
  23. {
  24. Log.i("ApiClient", "Response Content code: " + status.code());
  25. Log.i("ApiClient", "Response Content Status: " + responseStatus);
  26. Log.i("ApiClient", "Response Content Lenght: " + entity.getContentLength());
  27. Log.i("ApiClient:", "Response Content as string: " + entity.getResponseContentAsString());
  28. }
  29. @Override
  30. public void onSuccessful(Status status, String responseStatus, ResponseEntity entity)
  31. {
  32. Log.v("ApiClient", "Response Content code: " + status.code());
  33. Log.v("ApiClient", "Response Content Status: " + responseStatus);
  34. Log.v("ApiClient", "Response Content Lenght: " + entity.getContentLength());
  35. Log.v("ApiClient:", "Response Content as string: " + entity.getResponseContentAsString());
  36. }
  37. @Override
  38. public void onClientError(Status status, String responseStatus, ResponseEntity entity)
  39. {
  40. Log.v("ApiClient", "Response Content code: " + status.code());
  41. Log.v("ApiClient", "Response Content Status: " + responseStatus);
  42. Log.v("ApiClient", "Response Content Lenght: " + entity.getContentLength());
  43. Log.v("ApiClient:", "Response Content as string: " + entity.getResponseContentAsString());
  44. }
  45. @Override
  46. public void onServerError(Status status, String responseStatus, ResponseEntity entity)
  47. {
  48. Log.e("ApiClient", "Response Content code: " + status.code());
  49. Log.e("ApiClient", "Response Content Status: " + responseStatus);
  50. Log.e("ApiClient", "Response Content Lenght: " + entity.getContentLength());
  51. Log.e("ApiClient:", "Response Content as string: " + entity.getResponseContentAsString());
  52. }
  53. @Override
  54. public void onRedirection(Status status, String responseStatus, ResponseEntity entity)
  55. {
  56. Log.i("ApiClient", "Response Content code: " + status.code());
  57. Log.i("ApiClient", "Response Content Status: " + responseStatus);
  58. Log.i("ApiClient", "Response Content Lenght: " + entity.getContentLength());
  59. Log.i("ApiClient:", "Response Content as string: " + entity.getResponseContentAsString());
  60. }
  61. @Override
  62. public void onException(ExceptionStatus exceptionStatus, Exception e)
  63. {
  64. Log.e("ApiClient", "Exception code: " + exceptionStatus.code());
  65. Log.e("ApiClient", "Exception: " + e.getMessage());
  66. }
  67. });

字符串

展开查看全部

相关问题