ish*_*aan 45 android android-jetpack
我已经看过Google I/O 2018的开发人员主题演讲,我已经在Android开发者网站上阅读了jetpack主页,但我无法理解它实际上是什么.对我来说,它似乎只是我们已经使用的一堆API的新名称.是否会有IDE为我们做的事情或者在编码时有用的东西?Jetpack中的所有组件都指向他们原来的Android文档,并没有实际显示出与以前相比的任何差异.有人可以用简单的术语解释Jetpack实际上对我作为开发人员的作用,除了网页上的俱乐部文档吗?
Epi*_*rce 36
在其官方网站上,它说:
Android Jetpack是一套库,工具和架构指南,可帮助您快速轻松地构建出色的Android应用程序.它提供了通用的基础架构代码,因此您可以专注于使您的应用独特的原因
从技术上讲,它是支持库,android-ktx和Android架构组件重新命名为单个模块化"实体".
这就是所有非Android扩展库(如支持等)被重新打包的原因androidx.**
.
引自Alan Viverette(来自Android Framework团队):
Jetpack是一项旨在改善开发人员体验的更大范围的工作,但AndroidX构成了技术基础.从技术角度来看,它仍然是您在支持库和架构组件下看到的相同库.
随着最佳实践的改变,您可能还会在android包中找到未包含在Jetpack中的库.
有关详细信息,请参阅https://developer.android.com/topic/libraries/support-library/refactor.
Tap*_*nHP 18
基本上它只是一组有用的东西组合在一起,分为4类
基础
建筑
行为
UI
现在,在相对类别中添加了一些核心内容,如AppCompat库,体系结构组件,片段,动画和转换以及更多内容,并且新添加了这5个内容.
Android KTX的目的是通过利用Kotlin语言功能(如扩展函数/属性,lambdas,命名参数和参数默认值),使Kotlin的Android开发更简洁,愉快和惯用
导航架构组件简化了Android应用程序中导航的实现.这与在应用程序中实现清晰流程有关.下面这个视频,你可以找到关于此主题的一个非常好的解释.
分页库使您可以更轻松地在应用程序的RecyclerView中逐步和优雅地加载数据.这是来自Yigit Boyar 的I/O谈话,他很好地解释了这一点.
切片是一种UI模板,可以在Google搜索应用中以及稍后在Google智能助理等其他位置显示来自您应用的丰富,动态和互动内容.通过在全屏应用体验之外启用参与,切片可以帮助用户更快地执行任务.您可以将切片构建为App Actions的增强功能.从这次演讲中了解更多
WorkManager [我个人建议你检查一下这个]
您可以使用WorkManager优雅地安排任务.通过WorkManager API可以轻松指定可延迟的异步任务以及何时运行它们.这些API允许您创建任务并将其交给WorkManager立即运行或在适当的时间运行.本视频深入解释.
我在这里创建了一个播放列表.它包含所有与Jetpack相关的最佳视频,希望这会有所帮助.
Gab*_*tti 10
来自博客:
Android Jetpack是下一代Android组件,它将支持库的优势 - 向后兼容性和即时更新 - 集成到更大的组件集中,从而可以快速轻松地构建强大,高质量的应用程序.Android Jetpack管理后台任务,导航和生命周期管理等活动,因此您可以消除样板代码并专注于使您的应用变得更好的原因.Android Jetpack旨在与Kotlin配合使用,使用Android KTX为您节省更多代码.今天发布的新Android Jetpack组件包括WorkManager,Paging,Navigation和Slices.
来自官方文件:
Android Jetpack是一组库,开发人员工具和架构指南,可帮助您快速轻松地构建出色的Android应用程序.它提供了通用的基础架构代码,因此您可以专注于使您的应用独特的原因
Ami*_*har 10
Android Jetpack是Android软件组件的集合,可帮助我们构建出色的Android应用程序.
这些软件组件有助于:
早些时候有许多挑战如下:
所有这些主要问题都已通过Android Jetpack的软件组件解决.
因此,所有问题的解决方案是Andriod Jetpack.
关于Jetpack的另一个最重要的事情是,它比Android平台更频繁地更新,以便我们始终获得最新版本.
Jetpack包含androidx.*包库,与平台API分开.这意味着它提供向后兼容性.
Android Jetpack组件
Android Jetpack组件是一组库,这些库可单独采用并构建为协同工作,同时利用Kotlin语言功能提高我们的工作效率.
这些软件组件分为4类,如下:
让我们一个接一个地看.
基础组件
基础组件提供以下内容:
所有基础组件如下:
架构组件
架构组件帮助我们构建:
所有架构组件如下:
行为组件
行为组件有助于与标准Android服务集成
所有行为组件如下:
UI组件
UI组件提供小部件和帮助程序,使您的应用程序不仅容易,而且使用起来很愉快.
所有UI组件如下:
正如我们都在引用官方网站所说,
Android Jetpack 提供了一系列未绑定到任何特定 Android 版本的非捆绑库,使开发人员能够在旧版本的 Android 操作系统上支持新功能。除了向后兼容性之外,Jetpack 还承诺通过提供样板来处理重复性任务(例如管理应用程序生命周期),帮助您用更少的代码完成更多工作。
所以现在让我们把它分解成点点滴滴,它只是说两件事
那些令人沮丧的“所有 com.android.support 库必须使用完全相同的版本规范”消息现在应该成为过去。
但那是当您使用Androidx库而不是Support库时。
单独推出 JetPack 也有其他原因,让我们也讨论一下。
最初,每个包的名称表示该包支持的最低 API 级别,例如 support-v4。但是,支持库的 26.0.0 版本将最小 API 增加到 14,因此今天许多包名称与支持的最低 API 级别无关。当 support-v4 和 support-v7 软件包的最低 API 都为 14 时,很容易理解为什么人们会感到困惑!。所以现在有了 AndroidX,这种混乱就消失了。
根据当前的命名约定(支持的命名约定),也不清楚哪些软件包与 Android 操作系统捆绑在一起,哪些与您的应用程序的 APK(Android Package Kit)捆绑在一起。为了消除这种混淆,所有未捆绑的库都将移动到 AndroidX 的 androidx.* 命名空间,而 android.* 包层次结构将保留给 Android 操作系统附带的包。简单地说,现在,android.* 将保留用于与 android 操作系统相关的包,因此这些包无论如何都会以 android.* 包名称开头,而 androidx.* 现在将保留用于与应用程序开发相关的内容。
除此之外,你还有:
所以现在,Jetpack 只不过是这些组件、androidx 和其他工具的超集的一个名称。
Android Jetpack 组件
Android Jetpack 组件是一组可单独采用并构建为协同工作的库,同时利用 Kotlin 语言功能提高我们的工作效率。
这些软件组件分为以下 4 类:
架构组件
所有架构组件如下:
有关更多详细信息,请使用以下链接:- https://blog.mindorks.com/what-is-android-jetpack-and-why-should-we-use-it
Android Jetpack 是 Android 软件组件的集合,可帮助我们构建出色的 Android 应用程序。Android Jetpack 组件是帮助开发强大的 Android 应用程序的库和工具的集合。Jetpack 包含 androidx.* 包库,与平台 API 分离。这意味着它提供向后兼容性。软件组件分为 4 类:
\n\n\n基础组件 - 基础组件提供向后兼容性、测试、Kotlin 支持。
\n
基础组件是:
\n\n\n架构组件有助于构建健壮的应用程序。它不支持任何特定的架构模式,但建议将关注点和 UI 控制与模型明确分离,开发人员可以通过它避免与活动生命周期相关的问题。
\n
架构组件是:
\nRoom - Room 组件充当 SQLite 对象映射库,克服了使用 SQLite 带来的挑战,例如在编译时检查查询、编写样板代码。\nRoom 将查询直接转换为对象,在编译时检查查询中的错误,并且还能够持久保存 Java POJO。子组件是:
\n1.实体
\n2.数据访问对象
\n3.数据库
\nWorkManager - 管理 Android 中的后台任务,这些任务是可延迟的(可以稍后运行并且仍然有用)以及有保证的(即使设备重新启动也运行)。 \n它提供向后兼容性,可以调度和链接任务,用户可以跟踪任务/状态。
\nLifeCycles - androidx.lifecycle包组件执行操作以响应另一个组件(例如活动和片段)生命周期状态的更改。这些组件可帮助您生成组织更好、重量更轻、更易于维护的代码。这有助于创建有组织的应用程序组件、轻松测试和维护组件、减少执行任务的代码要求。
\nViewModel -以生命周期意识的方式管理 UI 相关数据。它有助于配置更改期间的数据管理,减少 UI 错误和崩溃。
\nLiveData - Livedata 通知 UI 数据中的任何适当更改。如果观察者\xe2\x80\x99s 生命周期状态被破坏,LiveData 能够将其删除,从而避免内存泄漏。\n它会删除已停止或已破坏的活动,从而减少应用程序崩溃的可能性。
\n导航组件- 导航组件获得了其他架构组件的所有优点,例如 Lifecycle 和 ViewModel。它有助于实现基本的导航样式(例如简单的按钮单击)到复杂的导航模式(例如应用程序栏和导航抽屉)。此外,它还支持深层链接和帮助器,从而可以将该组件与导航抽屉和底部导航连接。它通过动画可视化简化过渡,支持深度链接,处理片段事务,支持常见以及复杂的导航模式
\n分页- 该库提供了以谨慎的方式缓慢加载应用程序数据的功能。易于与Recycler View集成以显示大数据集,兼容LiveData和RxJava以更新UI数据,谨慎加载数据。
\n数据绑定- 数据绑定库是一个支持库,提供将活动/片段中的 UI 组件绑定到应用程序的数据源的功能。\n通过删除活动中调用的 UI 框架,使代码更简单且易于维护。它还允许类和方法观察数据的变化,并允许创建对象并填充它作为可观察的集合。
\n\n\n行为组件 - 行为组件有助于与标准 Android 服务(如通知、权限、共享、助手)集成。
\n
行为组件是:
\n\n\nUI 组件 - UI 组件提供小部件和帮助程序,旨在改善用户与 Android 应用程序的交互。
\n
用户界面组件有:
\n动画和过渡:Jetpack 提供 API 来设置可用于 Android 应用程序的不同类型的动画。该框架赋予\n移动小部件以及在应用程序中使用动画和过渡在屏幕之间切换的能力。
\nAuto:用于开发 Android Auto 应用的组件。可以在 Android Auto 上构建、测试和分发以下类别的应用程序:导航应用、消息应用、媒体应用。
\n表情符号:在旧平台上启用更新的表情符号字体。Google 发布了名为 EmojiCompat 的新库,以处理表情符号字符并使用可下载字体支持。该库的向后兼容性最高可达 Android 4.4(API 级别 19)。
\n片段:表示用户界面的行为或部分,用于动态且灵活的 UI 设计(并减少样板\n布局和代码)。
\n布局:用于创建和设计用户界面的结构。
\n调色板:用于设计布局主题并将自定义颜色应用于应用程序的元素。
\nTV:开发 Android TV 应用程序的组件。
\nWear:为帮助开发 Wear 应用程序而创建的组件。
\n 归档时间: |
|
查看次数: |
12308 次 |
最近记录: |