Android培训
美国上市Android培训机构

400-111-8989

热门课程

6个可以让代码变得更整洁的Android库

  • 时间:2017-04-06
  • 发布:Android培训
  • 来源:Android教程

Android开发是有趣的——这毫无疑问。然而,还是有很多平台迫使我们编写重复的样板代码。很多时候这都与需要你处理的UI组件相关。有一些确实是你需要的,当你希望你的应用程序架构能够干干净净的时候。有很多操作在后台异步执行;事实上,最后很容易成为一堆意大利面条似的代码,不可读或者就是让人感觉不正确。

今天,我们将看看6个可以帮助保持代码清晰和可读性的Android库,并且使用示例项目以方便你可以看到库的作用。
项目

我们将使用之前我们在Retrofit指南中使用过的Retrofit2Sample应用程序。这是一个简单的开源项目,可以在GitHub上找到。它需要一个公司名称和一个Git存储仓库,并列出所有的贡献者,贡献者显示为带有头像的一个列表。虽然它不是一个革命性的app,但是它展示了如何执行网络,使用图像,创建列表组件,以及处理用户输入。你可以随意摆弄这个功能齐全的玩具项目。

让我们将注释库应用到代码,来看看它们如何帮助维护Androidapp代码的整洁。

1.ButterKnife

每当你需要访问代码中的视图时,你需要获取该视图的对象实例。你可以通过编写rootView.findViewById()方法来实现,然后将返回的对象转换为正确的视图类型。但是,你的代码很快就会建立起来,但是尤其是在onCreate和onCreateView方法中会有恼人的类似语句。想想看;在那些onCreate方法中,你初始化一切,绑定侦听器,把整个UI绑在一起。你拥有的UI元素越多,那么单个方法就会越长。

2.IcePick

许多Android应用程序面临的一个常见问题是活动和片段生命周期的不正确处理。是啊,我们知道,它不是Android框架最优雅的部分。但是,在AndroidManifest文件中禁用横向模式,这样当用户将设备侧向移动时,应用程序不会崩溃并非是一个正确的解决方案——首先,因为显得有点傻,其次,代码不能正确处理的配置更改仍然会发生并破坏一切!因此,你必须正确处理应用程序组件的状态和生命周期。

实现的目的是将活动中所有字段的内容存储到bundle中,然后由Android框架通过生命周期正确管理。这可能是相当无聊。

幸运的是,IcePick使我们的生活变得容易多了,因为你再不必一个个添加所有的变量到bundle去保存。同样从bundle中再次读取数据,如果存在,那么会很有挑战性,但IcePick简化了很多很多。因此,作为示例,假设我们需要记住最后一家公司和存储库搜索的组合。

3.Dart和Henson

与IcePick类似,Dart帮助我们避免为从一个活动传递到另一个活动的IntentExtras写入所有键和检查。它也适用于Fragments。

4.Parceler

Parceler帮助你进行对象序列化。它可以帮助你传递任何对象作为Intentextra,而不会让你面对对象序列化的烦恼。

最好的事情是,Icepick,Henson和Dart也能很好地和Parceler一起玩。在我们的应用程序示例中,[emailprotected]?Dart传递Contributor作为IntentExtra,使我的代码简洁和可读。

5.Timber

当我写代码的时候,过不了一会,我总有犯错误的倾向。通常情况下,这会导致应用程序的意外行为。我需要重现它,这样我才能解决这个问题。当你知道重现的步骤时,调试器会很方便,但是通常情况下,日志也包含了真相

6.Dagger和Dagger2

最后,但并非最不重要的,Dagger和Dagger2库在app中管理依赖注入的表现真令人惊叹。为你处理依赖注入是编写代码的超棒做法。你指定应用程序的组件以及它们应如何相互交互。你可以定义代码的哪些部分需要其他部件的工作,瞧,这个库将为你初始化子部件,并根据需要注入它们。你可以检查示例项目代码以查看使用示例。

然而,Dagger和Dagger2涉及面太广泛了,所以在这篇文章中我们就不做详细解释了。如果你想从使用Dagger开始,那么有一个很好的代码例子,coffeemaker,它也得到了优秀的注释支持。

结论

有很多有趣的Android库,我在这里只列出了一些。安装起来相当容易,因为你只需要指定依赖关系就可以了。这些都是被积极维护的项目,所以它们有伟大的文档。

你要做的就是小心构建过程。当你开始结合多个库与注解处理器时,确保使用provided()或annotationprocessor(),而不是在build.gradle中将它们结合起来。
上一篇:android中几种解决键盘挡住输入框的办法与原理
下一篇:了解这几个Android开发者选项详述,工作事半功倍

Android信鸽推送全解

探究Android触摸事件传递机制

Android三种动画使用介绍

Android 新特性之文件加密对TEE的要求

选择城市和中心
贵州省

广西省

海南省