java-是否有Android的最佳使用API​​客户端模式?

java-是否有Android的最佳使用API​​客户端模式?,第1张

概述这个问题似乎是主观的,因为我不确定如何提出问题,以便得出客观的答案.是否存在用于在Android中创建RESTAPI客户端的最佳使用设计模式?通常我:>将我所有的API方法放在静态APIClient类中>将手动序列化代码写入从API获得的每个模型中(主要是因为有时添加序列化库似乎更加复杂).>让活

这个问题似乎是主观的,因为我不确定如何提出问题,以便得出客观的答案.是否存在用于在Android中创建REST API客户端的最佳使用设计模式?

通常我:

>将我所有的API方法放在静态apiclient类中
>将手动序列化代码写入从API获得的每个模型中(主要是因为有时添加序列化库似乎更加复杂).
>让活动处理成功和错误响应.

但是,我也看到了很多代码,每种类型的API调用都有不同的类,扩展了诸如AbstractAction和AbstractResponse之类的类.似乎很多人都有各自不同的实现方式,这很奇怪,因为编写API客户端是编写应用程序时首先要做的事情之一.那么,有没有正确的方法,或者至少有更好的方法?

解决方法:

最好的模式是各种模式的组合.它取决于您应该执行的活动类型.

有关一些推荐的设计模式,请参见:Google I/O 2010 – Android REST client applications

为了访问其余的API,已经有一些为此目的而设计的库(例如,改造,凌空等等),它们对网络访问和序列化进行了抽象化,由您自己进行,这似乎是过分的,除非有特定的方法.这样做的理由.

例如,在retrofit中,这很容易:

API作为接口

public interface GitHubService {   @GET("/users/{user}/repos")  List<Repo> ListRepos(@Path("user") String user); }

与适配器一起使用

RestAdapter restAdapter = new RestAdapter.Builder()       .setEndpoint("https://API.github.com")      .build(); GitHubService service = restAdapter.create(GitHubService.class);List<Repo> repos = service.ListRepos("octocat");

这样就完成了所有的序列化和反序列化(在翻新版2.0中,序列化是分离的,应该通过模块插入).

有关于齐射here的官方示例/教程

总结

以上是内存溢出为你收集整理的java-是否有Android的最佳使用API​​客户端模式?全部内容,希望文章能够帮你解决java-是否有Android的最佳使用API​​客户端模式?所遇到的程序开发问题。

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

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

原文地址:https://54852.com/web/1078324.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存