谷歌官方Android应用架构库(Android Architecture Components)学习完整版

栏目: 后端 · 发布时间: 8年前

内容简介:谷歌官方Android应用架构库(Android Architecture Components)学习完整版

架构库版本:1.0.0 Alpha 2 - June 2, 2017

1 导语

本次 Google IO 大会不仅确立了 Kotlin 为安卓开发的官方语言,不为人注意是,还发布了谷歌官方 Android 应用架构库。这个新的架构库旨在帮助我们设计健壮、可测试的和可维护的应用程序。接下来的教程将带大家来感受这个架构库将对未来 Android 开发带来的影响。

2 章节

本教程分为以下几部分:

3 架构原则

  • 关注分离
  • 模型驱动UI,优先持久化模型

4 架构库内容

  • Lifecycle:Android声明周期的回调,帮助我们将原先需要在onStart()等生命周期回调的代码可以分离到Activity或者Fragment之外。

  • LiveData:一个数据持有类,持有数据并且这个数据可以被观察被监听,和其他Observer不同的是,它和Lifecycle是绑定的。

  • ViewModel:用于实现架构中的ViewModel,同时是与Lifecycle绑定的,使用者无需担心生命周期。方便在多个Fragment之前分享数据,比如旋转屏幕后Activity会重新create,这时候使用ViewModel可以方便使用之前的数据,不需要再次请求网络数

  • Room:谷歌推出的一个Sqlite ORM库,使用注解,极大简化数据库的操作。

  • 框架补充:

    • 如果不满足官方的库其实可以自己实现。比如LiveData在某些情况下可使用RxJava代替。
    • 数据层官方推荐使用Room或者Realm或者其他Sqlite ORM等都可以。
    • 网络请求推荐使用 Retrofit
    • 各层之间的耦合推荐使用服务发现(Service Locator)或者依赖注入(DI),推荐 Dagger

官方示例

项目地址: https://github.com/googlesamples/android-architecture-components

最新发布的Architecture Component的官方演示,包括LiveData,Lifecycle-aware components,ViewModel以及Room。

谷歌官方Android应用架构库(Android Architecture Components)学习完整版

BasicSample - 演示如何使用a SQLite database 和 Room做持久化,同时也使用了ViewModel和LiveData。

PersistenceContentProviderSample -演示如何使用Room通过 Content Provider暴露数据。

GithubBrowserSample -一个使用 Architecture component,Dagger以及Github API的高级示例,需要Android Studio 2.4。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

成功由我

成功由我

刘世英、彭征 / 湖南人民出版社 / 2010-2 / 28.00元

《成功由我:李彦宏快乐成功之道》讲述:他,18岁高分考入北京大学,毕业后到美国名校学习最热门的计算机专业,然后闯荡于华尔街和硅谷这两大金融和技术圣地,31岁回国创立百度……到如今身价数十亿美元,领导的百度发展成为全球第二大搜索引擎,在国内搜索市场占据近八成的市场份额,将有“上帝”之称的Google抛在身后,最近他又掀起了“框计算”风暴,并雄心万丈宣称“未来十年,要让百度在全球一半以上国家成为家喻户......一起来看看 《成功由我》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

URL 编码/解码
URL 编码/解码

URL 编码/解码

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具