Android Framework
Android Framework
常见的架构原则
分离关注点
Activity 和 Fragment 中写所有代码是错误的, 它们只是系统和应用间的粘合类.
通过数据模型驱动界面
应该通过数据模型驱动界面(最好是持久性模型)。数据模型代表应用的数据。
持久性模型是理想之选,原因如下:
如果 Android 操作系统销毁应用以释放资源,用户不会丢失数据。
当网络连接不稳定或不可用时,应用会继续工作。
单一数据源(SSOT)
在离线优先应用中,应用数据的单一数据源通常是数据库。在其他某些情况下,单一数据源可以是 ViewModel 甚至是界面。
单向数据流(UDF)
在我们的指南中,单一数据源原则常常与单向数据流 (UDF) ...
AndroidX
AndroidX
如果要在新项目中使用命名空间为 androidx 的库,就需要将编译 SDK 设置为 Android 9.0(API 级别 28)
或更高版本,并在 gradle.properties 文件中将以下两个 Android Gradle 插件标志设置为 true。
android.useAndroidX:该标志设置为 true 时,Android 插件会使用对应的 AndroidX 库,而非支持库。如果未指定,那么该标志默认为 false。
android.enableJetifier:该标志设置为 true 时,Android 插件会通过重写其二进制文件来自动迁移现有的第三方库,以使用 AndroidX 依赖项。如果未指定,那么该标志默认为 fal...
Application Fundamentals
Application Fundamentals
Android apps 可以使用kotlin, java, c++语言编写, Android SDK tools 会编译代码, 把
数据文件和资源文件打包成APK或者Android App Bundle.
Apk包是一个Android package, 后缀.apk, 是zip的压缩包. 可以提供安装和运行的数据.
Android App Bundle, 后缀.aab, 不能直接安装. 它将APK生成和签名推迟到稍后(google play).
AAB把apk分为主模块和动态特性模块, 在资源维度, ABI维度, Language维度进行了拆分.
当google play分发应用时, 会根据用户设备优化AP...
453 post articles, 57 pages.