- 博客(169)
- 资源 (9)
- 收藏
- 关注
原创 Android 之 Android版本与SDK(API Level)对应关系
本文介绍了Android版本与SDK及JDK版本的对应关系。第一部分列出了从Android 4.4到未发布的Android 15各版本代号、API级别和首发年份。第二部分说明了不同Android版本在源码编译时对JDK版本的要求:Android 8.0+需OpenJDK 8/11/17,7.x需OpenJDK 8,5.x-6.0需OpenJDK 7,4.4需JDK 6。值得注意的是,应用开发可使用更高JDK版本,通过脱糖技术实现向下兼容,使低至Android 4.4的设备也能支持Java 11语法特性。
2025-08-04 01:36:45
88
原创 Android 之 Android Studio(AS)、Android Gradle 插件(AGP)、Gradle、JDK 及 Kotlin 版本的对应关系
本文梳理了Android开发工具链的版本对应关系:1) Android Studio与AGP版本需匹配,新版AS通常支持更高AGP版本;2) AGP版本对Gradle版本有严格要求,需在gradle-wrapper.properties中配置;3) Gradle版本决定JDK要求,如AGP8.0+需JDK17;4) Kotlin插件版本需与Gradle及AGP兼容,AGP8.x需Kotlin≥1.8.20。各组件版本需严格匹配,否则可能导致构建失败。
2025-08-04 01:20:30
189
原创 Android 之 RxJava2
RxJava在Android中的使用要点:1.添加依赖rxjava2和rxandroid;2.通过subscribeOn/observeOn实现线程切换,IO线程处理请求、主线程更新UI;3.常用操作符包括map转换数据、flatMap处理嵌套请求等;4.示例演示了网络请求从IO线程获取数据,经map处理后在主线程更新UI,并通过CompositeDisposable统一管理订阅,防止内存泄漏。注意配置版本兼容性,并遵循链式调用保持代码简洁。
2025-08-03 20:32:16
103
原创 Android 之 MVVM架构
本文详细介绍了基于Java语言的Android MVVM登录模块实现方案,采用ViewModel、LiveData、DataBinding和Repository模式,确保代码解耦和可维护性。方案包含三层架构:Model层通过Repository管理数据源(Retrofit网络请求和Room本地数据库);ViewModel层处理业务逻辑,使用LiveData暴露UI状态;View层利用DataBinding实现数据绑定。文章具体展示了用户实体类、数据仓库、网络请求接口等核心组件的代码实现,并演示了如何在Act
2025-08-03 20:03:24
335
原创 Android 之 MVP架构
本文介绍了Android MVP架构的实现方案。MVP将应用分为三层:Model层负责数据处理(UserRepository),View层处理UI展示(LoginActivity),Presenter层协调业务逻辑(LoginPresenter)。通过Contract接口统一管理交互协议,采用回调机制解耦各层:View通过Presenter触发操作,Model通过回调通知结果,Presenter负责中转处理。相比MVC,MVP有效解决了Activity臃肿问题,使View与Model完全解耦,通过attac
2025-08-03 18:39:19
182
原创 Android 之 MVC架构
Controller层通常是Activity或Fragment,负责协调View和Model之间的交互。View层由XML布局文件和Activity的一部分组成,负责展示登录界面和处理用户输入。Model层主要负责处理数据和业务逻辑,包括用户信息的数据模型和登录验证逻辑。XML布局定义登录界面元素,Activity初始化控件。协调用户输入、调用Model、更新View。处理用户数据和认证逻辑,独立于界面。
2025-08-03 18:23:47
253
原创 Android 之 四大组件(Activity/Service/BroadcastReceiver/ContentProvider)
/ UriMatcher配置static {// 操作整个表// 操作单条记录@Overridereturn db!= null;// 直接查询整个表// 添加ID条件break;default:@Nullable@Override= USERS) {// 通知数据变化@Overrideint count;break;break;default:// 通知数据变化。
2025-08-03 15:58:16
864
原创 Android 之 蓝牙通信(2.0 经典)
本文介绍了Android蓝牙开发的基本流程:1)在build.gradle添加蓝牙库依赖;2)声明蓝牙相关权限;3)创建包含状态显示、设备列表和操作按钮的布局;4)实现蓝牙初始化、扫描设备、连接设备和数据收发功能。重点包括使用BluetoothSPP库简化开发、处理不同Android版本的权限请求、通过广播接收器显示发现设备,并实现连接状态监听和数据接收回调。代码演示了完整的蓝牙通信流程,从设备扫描、建立连接到数据收发,同时注意了资源释放等细节处理。
2025-08-03 14:56:30
169
原创 Android 之 图片加载(Fresco/Picasso/Glide)
本文介绍了Android三大主流图片加载库Fresco、Picasso和Glide的使用方法。Fresco部分包含依赖引入、工具类封装(支持圆角、渐进式加载、GIF控制)和XML配置;Picasso部分展示基础加载、高级功能(占位图、错误图、尺寸调整)和自定义变换;Glide部分则涵盖基础加载、缓存策略、图片变换(圆角、模糊)以及RecyclerView优化。三款库都提供了线程安全的工具类封装,支持网络/本地图片加载,并针对不同场景提供了详细的使用示例,开发者可根据项目需求选择合适的库。
2025-08-03 14:02:40
113
原创 Android 之 网络通信(HTTP/TCP/UDP/JSON)
的全面使用指南,整合多个来源的最佳实践,涵盖依赖配置、基础请求、文件操作、高级功能及注意事项,帮助开发者快速上手并避免常见问题。
2025-08-03 12:29:50
158
原创 Android 之 常用布局
Android常用布局对比:LinearLayout适合简单线性排列,支持权重分配;RelativeLayout通过相对定位实现复杂界面;ConstraintLayout性能最优,适合响应式设计;FrameLayout用于视图叠加;GridLayout和TableLayout适合网格化布局。选型建议:优先使用ConstraintLayout减少嵌套,简单场景可用LinearLayout,需要绝对定位时选择RelativeLayout,特殊网格需求选用GridLayout/TableLayout,叠加效果使用
2025-08-03 09:25:03
94
原创 Android 之 串口通信
Android 串口通信主要用于与嵌入式设备(如传感器、打印机、工业控制器等)进行数据交互。以下是核心实现方案、代码示例及注意事项。
2025-08-03 09:04:33
60
原创 Android 之 Handler
下面是一个使用 在 Android 中实现线程间通信的完整示例,涵盖 、 和 等场景,基于 Java 实现并适配最新实践(如明确指定主线程)。
2025-08-03 08:56:52
160
原创 Android 之 Jetpack
Jetpack:Android开发的现代化工具箱 Jetpack是谷歌官方推出的Android开发组件集合,旨在简化开发流程,提升应用质量。它通过预制组件减少样板代码,处理兼容性问题,并提供清晰的架构模式。 核心组件包括: Lifecycle:自动管理界面生命周期,避免资源泄漏 ViewModel:保存数据,屏幕旋转时不丢失 LiveData:数据变化时自动更新UI,感知生命周期 Room:SQLite的现代化封装,支持编译时SQL验证 这些组件协同工作,形成分层架构(UI→ViewModel→Reposi
2025-08-03 08:38:16
207
原创 ETC代码参数使用
操作PSAM卡时密钥分散的类型,有46 48 26 28。操作PSAM卡时密钥分散的类型,有39和59。PSAM选应用目录 00A4000002。PSAM卡密钥分散时的参数 801A。
2025-04-15 08:31:06
185
原创 鸿蒙开发-自定义组件
自定义组件:可复用的UI单元,可组合其他组件,如上述被@Component装饰的struct RankPage。build() {
2025-04-15 00:15:47
341
原创 鸿蒙开发-注解
自定义组件生命周期@Componentbuild() {Row() {Button('按钮')})@Componentbuild() {Row() {Text('我是头部')@Componentbuild() {Column() {// 将相同的业务逻辑, 封装成一个通用的组件MyCom()MyCom()MyCom()@Componentbuild() {Row() {Text('我是底部')@Entry@Componentbuild() {
2025-04-15 00:07:20
317
原创 鸿蒙开发-ArkTS
/ 1. 定义接口// 2. 基于接口,定义对象name: '大幂幂',age: 18,weight: 90// 3. 获取对象属性值 对象名.属性名console.log('体重:', ym.weight)
2025-04-15 00:00:51
231
原创 深入 mysql,掌握一对一、一对多、多对多表设计、查询及级联操作
注意:在外键关系中,主表是被外键引用的表,而从表是包含外键的表。因此,当主表中的记录发生变更时,从表中依赖于这些记录的外键字段会受到影响。一对多关系是数据库中常见的数据结构,其中一个实体可以关联多个其他实体,但这些被关联的实体仅指向单一实体。外键是实现表之间关系的关键工具。通过外键,可以将两个表连接起来,实现数据的整合查询。删除一篇文章时,与之关联的标签关系也会被自动删除,这是通过设置外键的。在数据库中,通常通过在“多”的一方添加一个外键来实现一对多关系。数据库通常包含多个表,每个表存储特定类型的信息。
2024-09-18 15:29:51
3031
原创 鸿蒙开发-Stage模型
/ 1. 定义接口// 2. 基于接口,定义对象name: '大幂幂',age: 18,weight: 90// 3. 获取对象属性值 对象名.属性名console.log('体重:', ym.weight)@Componentbuild() {Row() {Button('按钮')})@Componentbuild() {Row() {Text('我是头部')@Componentbuild() {Column() {// 将相同的业务逻辑, 封装成一个通用的组件。
2024-06-27 00:54:08
1971
eclipse okhttutiils jar包
2017-09-19
极光推送+admob插屏+tabhost使用+webview+友盟统计
2017-09-18
android studio的设置,导入此Jar包操作AS
2017-09-18
eventbus.jar
2017-09-20
Json实体解析工具
2017-09-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人