2020年には、アンドロイドだけでなく、新しいものを見て?


この記事では、2020年のAndroidみんなの動向を予測ご紹介します。

作者| マチェイコズロウスキー

翻訳|  半月板、Zebian |郭ルイ

出品 | CSDN(ID:CSDNnews)

以下は翻訳です。

あなたは、モバイル開発者であれば、あなたも自分の信念を質問する必要はありません。でも、時には場合、最初にすべてのは、新しいことに常に注意を払うの技術に最新のトレンドに追いつく、と。

1手のアプリケーション開発者は、開発プロセスを簡素化し、短縮する方法を見つけることを試みて、他方では最高のユーザーエクスペリエンスを設計し、構築に取り組んでいます。毎年、私たちは新興のモバイルアプリケーション開発の新しい高度な技術とツールを見ることができます。この記事では、私はあなたがより良い最先端の技術を理解するために、2020年に新しいトレンドを紹介します。

Kotlinコルーチン

あなたはKotlinのコルーチンを使用していない場合、私はあなたが今しようとし始めることができ構築し、これは、非同期タスクを実行するための最良の方法の一つです。GoogleはKotlin初の立ち上げを発表しているので、使用コルーチンは非常に自然なものになります。このツールは、同期タスクを作成するだけでなく、のような他の高度な機能を持っていないことができます。

  • チャンネル(チャンネル)

  • フロー(流れ)

  • 継続

また、いくつかの非常に実用的なの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

私はさらに、2つの違いを説明し、この記事では意図していません。簡単に言えば、主な違いは、RxJava2は、非同期タスクのためだけでなく、非常に強力なツールであるということです。あなたは溶液を使用すべきか私に言わせれば、答えはあなたのニーズに応じて、シンプルで、私はあなたがこれらのツールのドキュメントをたくさん読むことをお勧めので、慎重な判断を下します。

テーマ

自 Android 10 起,Google 正式支持暗色主题。这意味着我们可以通过系统设置,将我们的应用调整为系统主题。多主题的支持已添加到许多应用中,例如 Instagram、Chrome 以及 Medium。你还可以使用1.1.0版中的 Material Components Styles 来支持 Android Q 中的暗色主题功能。不过,这个功能仍处于beta版。更多信息请点击这里(https://material.io/develop/android/theming/dark/)。

Jetpack安

在过去几年中,为了提高 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)。

ViewPager 2

View Pager 2 于2019年11月20日发布了稳定版本。

View Pager 2 为我们带来了很多改进:

  • 结合 RecyclerView 一起使用;

  • 支持垂直定向;

  • 新的 PageChangeCallback —— 无需重新所有3个方法;

  • 添加了不同的 Page Transformer。

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)。

Saved State

这是一个库,可以帮助我们保存实例状态。如果 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

虽然我把 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。

本文为 CSDN 翻译,转载请注明来源出处。

热 文 推 荐 

京东回应「被薅 7000 万、项目组全体开除」;微信朋友圈屏蔽支付宝集五福;MySQL 8.0.19 发布 | 极客头条

不再设立 Flag,马克·扎克伯格的新年寄语!

PHP 可能在未来十年内消失?

铁打的春晚,流水的互联网公司

达摩院 2020 预测:模块化降低芯片设计门槛 | 问底中国 IT 技术演进

千万不要和程序员一起合租!

在调查过基于模型的强化学习方法后,我们得到这些结论

漫话:如何给女朋友解释为什么一到年底,部分网站就会出现日期混乱的现象?

你点的每个“在看”,我都认真当成了喜欢

发布了1643 篇原创文章 · 获赞 4万+ · 访问量 1338万+

おすすめ

転載: blog.csdn.net/csdnnews/article/details/103982284