2020 年,Android 还有哪些新期待? Posted 2021-04-27 CSDN
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2020 年,Android 还有哪些新期待?相关的知识,希望对你有一定的参考价值。
本文将向大家介绍2020年android 发展趋势的预测。
作者 | Maciej Kozłowski
译者 | 弯月 ,责编 | 郭芮
出品 | CSDN(ID:CSDNnews)
以下为译文:
如果你是移动开发人员,那么首先要跟上技术的最新发展趋势,并时刻关注新事物,即使有时你甚至需要质疑自己的信仰。
应用开发人员一方面一直在努力想办法简化和缩短开发过程,另一方面也在努力构建最佳的设计和用户体验。每年我们都可以看到移动应用开发不断涌现出先进的新技术和工具。在本文中,我将介绍2020年的新趋势,帮助你更好地了解最尖端的技术。
如果你还没使用过 Kotlin 协程,那么我建立你现在就可以开始尝试,这是执行异步任务的最佳方法之一。自从 Google 宣布推出 Kotlin First 以来,协程的使用变成了很自然的事情。这个工具不仅可以创建同步任务,而且还拥有其他高级功能,例如:
通道(Channel)
流(Flow)
Continuation
除此之外,还有一些非常实用的 ViewModel 和 LiveData 扩展:
val userListLiveData: LiveData<List<User>> = liveData(viewModelScope.coroutineContext + Dispatchers.IO) { emit(repository.getUserList()) }fun getUserList () { viewModelScope.launch { usersLiveData.value = withContext(Dispatchers.IO) { repository.getUserList() } } }
协程与RxJava2
我不打算在本文中深入介绍二者的差异。简单来说,主要区别在于 RxJava2 是一个非常强大的工具,不仅适用于异步任务。如果你问我应该使用哪种解决方案,答案很简单,取决于你的需求,所以我建议你多多翻阅有关这两个工具的文档,做出慎重的决定。
自 Android 10 起,Google 正式支持暗色主题。这意味着我们可以通过系统设置,将我们的应用调整为系统主题。多主题的支持已添加到许多应用中,例如 Instagram、Chrome 以及 Medium。你还可以使用1.1.0版中的 Material Components Styles 来支持 Android Q 中的暗色主题功能。不过,这个功能仍处于beta版。更多信息请点击这里(https://material.io/develop/android/theming/dark/)。
在过去几年中,为了提高 Android 设备的安全性,Google 付出了巨大的努力。虽然并非每个应用都需要高级的解决方案,但是我想特别指出 Google 的这个安全库。
Jetpack 安全是一种在 Shared Preferences 中安全地存储数据的方法。最重要的是,这个库使用了Android Keystore System——最近发布了alpha版(https://developer.android.com/topic/security/data.md)。
2018年,Google 在 Google IO上推出了导航组件(Navigation Component),并于一年后的2019年3月推出了稳定版本。
这是一种全新的设计 Android 应用导航图的方式。这个解决方案类似于 ios 中的 Story Board。我们可以在导航编辑器中实现导航图,或编辑XML文件。导航组件支持片段事务、深层链接、SafeArgs以及视图模型范围等。
有关导航组件的更多信息,请点击这里(https://developer.android.com/guide/navigation/navigation-getting-started)。
View Pager 2 于2019年11月20日发布了稳定版本。
class ViewPager2FragmentStateAdapter ( fragmentManager: FragmentManager, lifecycle: Lifecycle, private val texts: List<String> ) : FragmentStateAdapter(fragmentManager, lifecycle) { override fun getItemCount () : Int = texts.size override fun createFragment (position: Int ) : Fragment { return TextFragment.newInstance(texts[position]) } }
如果你想了解更多有关View Pager 2的信息,请点击这里(https://medium.com/google-developer-experts/exploring-the-view-pager-2-86dbce06ff71)。
这是一个库,可以帮助我们保存实例状态。如果 ViewModel 能够保留配置更改的话,为什么我们还需要 Saved State?因为除了配置更改之外, Android 开发人员还应该注意系统启动的进程终止。为此,我们应该将序列化的状态保存在磁盘空间中,而如今现在我们有了内置的 ViewModel。
ViewModel 的稳定版本于2019年9月发行,但RC-03版本中还有一个扩展库 ViewModel-SavedState。
class MainActivity : AppCompatActivity () { private val viewModel by viewModels<MainViewModel> { SavedStateViewModelFactory( application, this ) } }
class MainViewModel (private val savedStateHandle: SavedStateHandle) : ViewModel() { fun saveUserId (userId: Int ) { savedStateHandle.set (EXTRA_USER_ID, userId) } fun getUserId () : LiveData<Int > { return savedStateHandle.getLiveData<Int >(EXTRA_USER_ID) } }
虽然我把 Jetpack Compose 放在了最后,但并不意味着它不重要。老实说,我对这个工具抱有很高的期望。这是一种全新的在 Android 中创建视图的方法。我们甚至应该为它的出现而欢呼。这个解决方案是一种交互式的创建UI的方式,而且是完全用Kotlin编写的!
如果你想尝试Jetpack Compose,那么可以参考这个教程(https://developer.android.com/jetpack/compose/tutorial)。
然而,Jetpack Compose 目前还处于预览阶段,甚至还没有Alpha版本。
2019年,Android 的世界发生了很多大事。最令人期待的莫过于 Jetpack Compose,但距离它的稳定似乎还需要很长一段时间。也许2020年我们还看不到稳定版本上线,但是我们应该率先学习起来,因为这代表了在 Android 中构建视图的未来。
对于以上我的预测,你有何看法?如果你有不同的想法,请在下方留言。
原文:https://android.jlelse.eu/android-trends-in-2020-d6a2930596a
作者:Maciej Kozłowski,高级Android开发@Espeo Software。
热 文 推 荐
☞
以上是关于2020 年,Android 还有哪些新期待?的主要内容,如果未能解决你的问题,请参考以下文章
2020年最值得期待的30个android库(截止2020年3月8日)
谷歌I/O 2020开发者大会如期举行 Android 11备受期待
Cosmos生态爆发年,有哪些东西值得我们期待?
AMA预告Cosmos生态爆发年,有哪些东西值得我们期待?
2023年,哪些Web3赛道的表现最值得期待?(文末有奖)
HBase2.0商用首发--有哪些值得期待的新特性