不要再用 2009 年的思维方式编写 Android 应用了!
以下内容基于我过去几年开发各种 Android 应用的经验,以及我观察到的框架和开发生态系统随时间推移而发生的变化。
并发性
- 尽量避免使用异步任务,真的不要用。Kotlin 协程 (👍) 或 RxJava 要好用得多。
- 如果你不知道装载机是什么,就别用了,真的没必要浪费时间。
- 不要使用裸露的线,也不要自行处理线。
清洁代码
- 使用依赖注入框架,Koin 是一个不错的入门选择。
- 第一个项目中要避免使用匕首。
- 不要使用 Guice!
用户界面
- 请使用 Jetpack 组件代替 Android 原生支持库。此外,在参考旧教程时,请务必将依赖项替换为对应的
andoridx.*等效项。 - 现在的建议是构建单个 Activity 应用(或少量 Activity),这与过去创建大量 Activity 的建议截然相反。如果您遵循此建议,JetPack 导航将发挥出色作用。
- 不要在 Activity 内部使用无头 Fragment 进行组件间通信。而应该通过 ViewModel 和共享 ViewModel 来维护视图状态。
ConstraintLayout很棒,不妨试试。- 请使用
RecyclerView代替ListView,,,GridView…GridLayout - 优先选择喷气背包碎片而非平台碎片。
推送通知
- GCM 已弃用,请改用 FCM。
- 从 Android 8.0(API 级别 26)开始,所有通知都必须分配到一个通道,如果没有通知通道,通知将不会显示,系统会记录错误。
其他
- Eclipse是什么?Android Studio才好用。
- 如果您需要管理内部数据库,请使用 Room。您也可以将其与 Kotlin 协程一起使用。
- 使用 Exo Player 进行音频和视频播放。
- 使用 Kotlin 而不是 Java,并充分利用 Kotlin 的优势,而不是编写伪装成 Kotlin 语法的 Java 代码。
DownloadService依然很棒。- 密切关注 Compose 功能。