您好,Khabrovites!
在为Android平台开发网络应用程序时,您会了解一个应用程序和另一个应用程序彼此相似。 出于这种想法,大多数开发人员开始了另一种想法:“为什么我不使用任何现成的解决方案,因为显然我的任务并不新?”。 从这一刻起,开始寻找合适的库来解决当前问题。 经过一段时间-获利。 一切似乎都很好,因为找到了该库,只剩下编写当前问题解决方案的实现了。 问题就从这里开始。 它们与流控制相关联,实际上Java从未以其紧凑性着称,所有“魔术”都应由开发人员直接实现。 有时,我在这方面仅能找到积极的方面,因为每个项目的逻辑彼此根本不同。 您经常需要从一个流切换到另一个流,这不是很方便,而且如前所述,很麻烦。 这个问题的解决方案是较早实施的,但没有我们想要的那么紧凑。 救援
GridmiAPI提供了用于处理HTTP的库。 这是最紧凑的解决方案,它使您可以实时处理数据。
工作流程
所有库工作均始于其初始化。 初始化需要一次。 初始化是指以下构造:
GridmiAPI.init("https://habr.com/API/", 8000, JSONObject.class);
- 请求处理端点地址
- 服务器响应超时
- 服务器响应应转换为的类
仅此而已! 该库已准备就绪,可以充分使用。
第一个服务器请求
要完成对服务器的第一个请求,您只需要编写几行代码和我们需要的数据即可。 不信? 请参阅:
GridmiAPI.onRequest(this, new GridmiAPI.Request("profile/get"), new GridmiAPI.Handler.OUT() { @Override protected void onSuccess(GridmiAPI.Response response) { Log.d("TagGridmiAPI", "result = " + ((JSONObject) response.getData()).toString()); } @Override protected void onFailed(Exception exception) { Log.d("TagGridmiAPI", "exception = " + exception.getMessage()); } }).start();
恭喜你! 这就是您的“ Hello world!” 使用这个库。 让我们看一下GridmiAPI.Handler.OUT类的两个重写方法。 首先,应该写这两个方法在主线程中被调用,因此,在请求完成后,访问活动以启动主线程是没有意义的。 您仅以JSON为例,并更改TextView的文本。 一切都很简单。
发送文件到服务器
很多时候,您必须将文件发送到服务器。 再次头痛? 没办法 GridmiAPI库使发送文件变得非常容易,没有麻烦。 行数比上面的示例多,但仍然紧凑。 发送文件的方法如下:
@Override protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { super.onActivityResult(requestCode, resultCode, data); if (data == null || data.getData() == null) return; try {
结论
我们研究了最受欢迎的任务,您可以在GitHub-
GridmiAPI上该库的页面上更详细地了解自己。 使用此库很舒服。 估计自己。 感谢您对本文的关注!
参考文献
GridmiAPI库文档/ReadMe.md