排序
高级过渡
SwiftUI 的过渡系统允许我们自定义插入或移除视图的方式,可以在要过渡的视图周围插入一系列新视图、创建本地状态、添加复杂的动画等等。 本文创建的效果,如下所示 Twitter 点赞效果 添加新的...
epub格式解析
文件组成 将 EPUB 格式的电子书的扩展名修改为 zip 后,可以通过解压软件进行解压。解压后,有几种不同的形式,如下所示 一个未经加密处理的epub电子书由以下部分或者文件组成: mimetype 文件 ...
MVVM 架构
MVVM(Model-View-ViewModel) 架构中 View、ViewModel 以及 Model 之间的交互逻辑,如下图所示 基本介绍 MVVM 架构的分层,如下图所示 XML MVVM 架构,ViewModel 层使用 LiveData Jetpack Comp...
Data Binding 数据绑定
Data Binding(数据绑定) 是一个支持库,它允许你在布局中使用声明式格式将 UI 组件绑定到应用中的数据源,而不是通过代码进行绑定。 数据绑定是将 XML 布局中的视图与数据对象进行整合的过程...
Adapter 适配器
Adapter Adapter 对象充当 AdapterView 与其底层数据之间的桥梁。Adapter 负责提供对数据项的访问。 基本使用 页面布局 <?xml version='1.0' encoding='utf-8'?> <androidx.constraintlay...
Kotin 语法
在 Kotlin 中 main 函数是程序的入口,运行 Kotlin 程序的时候,它作为执行的起点。 fun main() { println('Hello Word!') } 注释 Kotlin 的代码注释 /** * 多行注释: * - main 函数是程序的入...
Activity 参数传递
Activity 之间数据可以通过 Intent 进行传递。 MainActivity 进行数据传输。 // 创建Intent,进行数据传输 Intent intent = new Intent(getApplicationContext(), SecondActivity.class); // In...
Android Studio Emulator SDK 更新失败
错误提示 An error occurred while preparing SDK package Android Emulator: Not in GZIP format. Android Studio Emulator SDK 更新过程中,提示的错误,如上所示。 更新失败提示 解决方法 在...
Widgets
CheckBox 复选框的样式 <CheckBox android:id='@+id/check_box' android:layout_width='0dp' android:layout_height='wrap_content' android:layout_marginTop='101dp' android:text='苹果🍎...
ROOM Database
Room Database 是 Android 官方提供的本地数据库框架,是 Jetpack 架构组件的一部分,用于在应用中以安全、简洁、高效的方式存储本地数据。它在 SQLite 之上提供了更高层的抽象,让开发者更容易...










