自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(3)
  • 资源 (287)
  • 收藏
  • 关注

原创 【Android 应用开发】Android开发技巧--Application, ListView排列,格式化浮点数,string.xml占位符,动态引用图片

1. 自定义Application技巧 在应用中经常用到自定义的Application, 自定义一个MyApplication, 将Application设置成单例, 并且在AndroidManifest.xml中注册这个MyApplication; (1)设置MyApplication单例 a. 定义私有 静态 的MyApplication; b. 设置一个公有的静态方法

2013-10-30 19:19:28 9310

原创 【Android 应用开发】BluetoothAdapter解析

这篇文章将会详细解析BluetoothAdapter的详细api, 包括隐藏方法, 每个常量含义.

2013-10-30 09:56:44 12803 2

原创 【Android 应用开发】Android之Bluetooth编程

http://blog.csdn.net/qinjuning/article/details/7726093  BluetoothAdapter类简介 http://www.cnblogs.com/over140/archive/2010/12/21/1912482.html   BluetoothDevice[蓝牙] http://blog.csdn.net/hellogv/artic

2013-10-21 10:57:44 10740 1

【移动端网页布局】Flex 弹性布局案例 ③

【移动端网页布局】Flex 弹性布局案例 ③

2024-03-06

GIF录屏工具-Gif123-GifCam-LICEcap

GIF录屏工具-Gif123-GifCam-LICEcap

2024-03-04

Java 语言中的 properties 配置文件使用

【Java 语言】读取 properties 配置文件 ( Java 语言中的 properties 配置文件 | 使用 properties 配置文件 ) https://hanshuliang.blog.csdn.net/article/details/134435350 博客源码

2023-11-16

JetpackNavigation 导航组件 ④ ( Fragment 跳转中使用 safe args 安全传递参数 )

https://hanshuliang.blog.csdn.net/article/details/131406972 博客源码快照 一、页面跳转间的传统的数据传递方式 1、传统的数据传递方式 - Bundle 传递数据 1、Navigation 组件中的 Bundle 数据传递 2、传统数据传递实现步骤 3、FragmentA 完整代码示例 4、FragmentB 完整代码示例 5、执行结果 2、使用 Bundle 传递数据安全性差 二、页面跳转间的传统的数据传递方式 1、导入插件依赖 2、使用插件 3、在 navigation_graph.xml 中定义要传递的 argument 参数信息 4、重新编译生成参数传递相关代码 5、调用 FragmentBArgs 类生成参数 Bundle 6、FragmentA 中获取参数 三、两种传参方式的完整代码示例 1、Gradle 构建脚本 I、根目录下 settings.gradle 构建脚本 II、根目录下 build.gradle 构建脚本 III、Module 目录下 build.gradle 构建脚本 2、res 资源配置

2023-08-25

可运行的 Android 版本的 ijkplayer 2023年 8 月 14 日调试完毕

运行环境 : 2021.3.1 Dolphin , Android Gradle 插件版本号 3.2.0 , Gradle 版本号 gradle-4.6-all.zip 【ijkplayer】编译 Android 版本的 ijkplayer ⑦ ( 使用 AS 打开源码 | 重新设置 AGP 和 Gradle 版本号 | 设置依赖仓库 | 设置依赖 | 编译运行 ) 原文链接:https://blog.csdn.net/shulianghan/article/details/132274142 一、Android Studio 打开编译后的 ijkplayer 源码 二、重新设置 Android Gradle 插件版本号和 Gradle 构建工具版本号 三、设置依赖仓库 1、取消 jcenter 仓库 2、添加 google 和 mavenCentral 仓库 3、添加阿里云仓库 四、取消 jcenter 上传相关插件 五、设置编译工具版本号 六、取消 productFlavors 七、设置 build.gradle 中的依赖为 implementation 依赖 八、编译应用

2023-08-14

hadoop-3.3.4.tar.gz + winutils 安装环境

【开发环境】安装 Hadoop 运行环境 ( 下载 Hadoop | 解压 Hadoop | 设置 Hadoop 环境变量 | 配置 Hadoop 环境脚本 | 安装 winutils ) https://hanshuliang.blog.csdn.net/article/details/132045605 一、下载 Hadoop 二、解压 Hadoop 三、设置 Hadoop 环境变量 四、配置 Hadoop 环境脚本 五、安装 winutils 六、重启电脑 七、验证 Hadoop 安装效果

2023-08-03

JetpackNavigation 导航组件 ③ ( 为 Navigation Graph 添加跳转动画 )

【Jetpack】Navigation 导航组件 ③ ( 为 Navigation Graph 添加跳转动画 ) 博客源码快照 博客地址 : https://hanshuliang.blog.csdn.net/article/details/131405392 一、为 Navigation Graph 添加跳转动画 1、进入 Navigation Graph 配置的 Design 模式 2、选中 action 跳转 3、为 action 跳转设置 enterAnim 进入动画 4、为 action 跳转设置 exitAnim 退出动画 5、通过代码为 action 跳转设置进入 / 退出动画

2023-06-26

JetpackNavigation 导航组件 ②

【Jetpack】Navigation 导航组件 ② ( Navigation 核心要点说明 | 创建 Navigation Graph | 创建 NavHostFragment | 完整代码示例 ) https://hanshuliang.blog.csdn.net/article/details/131299078

2023-06-21

DB Browser for SQLite 数据库查看工具

DB Browser for SQLite 数据库查看工具

2023-06-14

ViewModel + LiveData + DataBinding 综合使用示例

【Jetpack】ViewModel + LiveData + DataBinding 综合使用 ( 核心要点说明 | 组合方式 | 代码示例 ) 博客地址 : https://hanshuliang.blog.csdn.net/article/details/130401679 一、ViewModel + LiveData + DataBinding 核心要点 1、ViewModel 使用要点 2、LiveData 使用要点 3、DataBinding 使用要点 二、ViewModel + LiveData + DataBinding 代码示例 1、ViewModel + LiveData 代码 2、build.gradle 构建脚本 - 启用 DataBinding 3、DataBinding 布局文件 - 配置 ViewModel 类 4、Activity 系统组件代码 - 加载 DataBinding 布局 / 布局配置 ViewModel 对象 / 设置 LiveData 观察者 5、执行结果

2023-04-27

BaseObservable 实现数据模型 Model 与视图 View 双向绑定

BaseObservable 实现数据模型 Model 与视图 View 双向绑定

2023-04-18

DataBinding 架构组件 ④

【Jetpack】DataBinding 架构组件 ④ ( 使用 @BindingAdapter 注解为布局组件绑定自定义逻辑 | 网络图片加载 | 本地图片加载 ) https://blog.csdn.net/shulianghan/article/details/130043460 一、@BindingAdapter 注解 1、注解简介 2、使用 @BindingAdapter 注解为布局组件绑定自定义逻辑 二、使用 @BindingAdapter 注解绑定加载网络图片静态方法 三、使用 @BindingAdapter 注解绑定加载本地图片静态方法 四、使用 @BindingAdapter 注解绑定加载网络图片或本地图片静态方法 五、完整代码示例 1、build.gradle 构建脚本 2、AndroidManifest.xml 清单文件 3、DataBinding 布局文件 4、BindingAdapter 注解类 5、MainActivity 组件 6、执行结果

2023-04-18

DataBinding 架构组件 ③

【Jetpack】DataBinding 架构组件 ③ ( 使用 include 导入二级界面布局 | 二级页面绑定数据模型 ) https://hanshuliang.blog.csdn.net/article/details/129899735 一、使用 include 导入二级界面布局 二、二级页面绑定数据模型 1、将二级界面布局转为 DataBinding 布局 2、在主布局中为二级界面布局传递数据模型 三、核心代码示例 1、主布局 2、子布局 3、Java 代码 4、执行结果

2023-04-04

DataBinding 架构组件 ② - DataBinding 布局中使用 import 标签导入 Java、Kotlin 类

【Jetpack】DataBinding 架构组件 ② ( 字符串拼接函数 | 绑定点击事件函数 | DataBinding 布局中使用 import 标签导入 Java、Kotlin 类 ) https://hanshuliang.blog.csdn.net/article/details/129773150 一、字符串拼接函数 二、绑定点击事件函数 三、DataBinding 布局中使用 import 标签导入 Java、Kotlin 类 1、DataBinding 布局中使用 import 标签导入 Java 类 2、DataBinding 布局中使用 import 标签导入 Kotlin 类 四、完整代码示例 1、数据类 2、导入的 Java 类 3、导入的 Kotlin 类 4、DataBinding 布局文件 5、Activity 组件类

2023-03-26

DataBinding 架构组件

【Jetpack】DataBinding 架构组件 ( 数据绑定技术简介 | Android 中的 DataBinding 数据绑定 | 启动数据绑定 | 定义数据类 | 布局文件转换 ) https://hanshuliang.blog.csdn.net/article/details/129762717 博客源码快照 一、数据绑定技术简介 二、Android 中的 DataBinding 数据绑定技术 三、Android 中的 DataBinding 代码示例 1、build.gradle 构建脚本 - 启动数据绑定 2、定义数据类 3、布局文件转换 4、Activity 组件设置数据绑定布局和数据 5、显示效果 ———————————————— 版权声明:本文为CSDN博主「韩曙亮」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/shulianghan/article/details/129762717

2023-03-25

JetpackLiveData 架构组件

【Jetpack】LiveData 架构组件 ( LiveData 简介 | LiveData 使用方法 | ViewModel + LiveData 示例 ) https://hanshuliang.blog.csdn.net/article/details/129411132 博客源码示例 一、LiveData 简介 二、LiveData 使用方法 三、ViewModel + LiveData 简单示例 1、ViewModel + LiveData 代码 2、Activity 组件代码 3、运行效果展示 四、ViewModel + LiveData + Fragment 通信示例 1、ViewModel + LiveData 代码 2、Activity 组件代码 Activity 代码 布局文件 3、Fragment 代码 第一个 Fragment 代码 第一个 Fragment 布局文件 第二个 Fragment 代码 第二个 Fragment 布局文件 4、运行效果展示

2023-03-12

JetpackViewModel 架构组件 博客源码

【Jetpack】ViewModel 架构组件 ( 视图 View 和 数据模型 Model | ViewModel 作用 | ViewModel 生命周期 | 代码示例 | 使用注意事项 ) https://hanshuliang.blog.csdn.net/article/details/129374914 一、Activity 遇到的问题 二、视图 View 和 数据模型 Model 三、ViewModel 架构组件作用 四、ViewModel 代码示例 1、ViewModel 视图模型 2、Activity 组件 3、UI 布局文件 4、运行效果 五、ViewModel 生命周期 六、ViewModel 使用注意事项 ———————————————— 版权声明:本文为CSDN博主「韩曙亮」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/shulianghan/article/details/129374914

2023-03-07

博客资料 -JetpackLifeCycle 架构组件

【Jetpack】Lifecycle 架构组件 ( 系统组件与普通组件解耦 | Lifecycle 解耦系统组件与普通组件 | 解耦服务组件与普通组件 | 监听应用程序生命周期 ) https://hanshuliang.blog.csdn.net/article/details/129291874 一、系统组件与普通组件解耦 二、Lifecycle 解耦 Activity 系统组件与 UI 组件 1、传统实现方式 ① Activity 系统组件 ② 布局文件 ③ 执行效果 2、LifeCycle 实现方式 ① 自定义 UI 组件 ② Activity 系统组件 ③ 布局组件 ④ 执行效果 三、LifecycleService 解耦 Service 与 UI 组件 1、构建脚本导入依赖 2、Android Studio 中搜索并添加依赖 3、布局文件属性排序 4、代码实现 ① LifecycleService 组件 ② LifecycleObserver 业务逻辑 ③ AndroidManifest.xml 清单文件 ④ Activity 系统组件

2023-03-03

使用 Jedis 操作 Redis 数据库 博客代码示例

【Redis】使用 Jedis 操作 Redis 数据库 ② ( Jedis API 规律 | Redis 命令与 Jedis 函数名称基本一致 | Jedis API 使用示例 ) https://hanshuliang.blog.csdn.net/article/details/129128393 博客代码示例

2023-02-20

Redis 数据库 安装、配置、访问资源

【Redis】Redis 数据库 安装、配置、访问 ( Redis 简介 | 下载 Redis 安装包 | 安装 Redis 数据库 | 命令行访问 Redis | 使用可视化工具访问 Redis ) https://hanshuliang.blog.csdn.net/article/details/128945441 博客资源快照 001_Linux安装包 002_Windows安装包 003_可视化工具_Redis Desktop Manager

2023-02-09

开发环境JRE 裁剪 ② ( 裁剪 bin 目录下的 dll 动态库文件 - 压缩 rt.jar 文件 )

【开发环境】JRE 裁剪 ② ( 裁剪 bin 目录下的 dll 动态库文件 | 压缩 rt.jar 文件 ) https://blog.csdn.net/shulianghan/article/details/128711836 博客资源快照

2023-01-17

开发环境JRE 裁剪 ① ( 裁剪 bin 目录下的 dll 动态库文件 )

【开发环境】JRE 裁剪 ① ( 裁剪 bin 目录下的 dll 动态库文件 ) https://hanshuliang.blog.csdn.net/article/details/128703546 资源快照

2023-01-16

【Android OpenCV】Visual Studio 创建支持 OpenCV 库的 CMake 工程 ③ 源码快照

【Android OpenCV】Visual Studio 创建支持 OpenCV 库的 CMake 工程 ③ ( CMake 工程中配置 OpenCV 库文件 | 拷贝 OpenCV 函数库文件 ) https://hanshuliang.blog.csdn.net/article/details/128516414 源码快照 在 Visual Studio 2019 中打开 ; 需要修改 Windows 平台的 OpenCV 函数库 头文件 及 库文件搜索路径 ;

2023-01-02

【Android OpenCV】Visual Studio 创建支持 OpenCV 库的 CMake 工程 ① 博客资源

【Android OpenCV】Visual Studio 创建支持 OpenCV 库的 CMake 工程 ① ( 下载 OpenCV 库 | Windows 中安装 OpenCV 库 ) https://hanshuliang.blog.csdn.net/article/details/128515811 博客资源 一、下载 OpenCV 库、 二、Windows 中安装 OpenCV 库

2023-01-02

【Kotlin 协程】协程启动 ② ( 多协程控制 )

【Kotlin 协程】协程启动 ② ( 多协程控制 | launch 协程执行顺序控制 | Job#join() 函数 | async 协程执行顺序控制 | Deferred#await() 函数 ) https://blog.csdn.net/shulianghan/article/details/128071482 博客源码快照

2022-11-27

【Kotlin 协程】协程启动 ① ( 协程构建器 ) 代码示例

【Kotlin 协程】协程启动 ① ( 协程构建器 | launch 构建器 | async 构建器 | runBlocking 函数 | Deferred 类 ) https://hanshuliang.blog.csdn.net/article/details/128058948 博客代码快照

2022-11-27

【Kotlin 协程】协程底层实现 ④ ( 结构化并发 - viewModelScope 作用域示例 )

【Kotlin 协程】协程底层实现 ④ ( 结构化并发 | viewModelScope 作用域示例 ) 博客 https://hanshuliang.blog.csdn.net/article/details/128055880 源码

2022-11-26

Android图片优化工具cwebp、guetzli、pngcrush

Android图片优化工具cwebp、guetzli、pngcrush

2022-10-21

Sonatype Nexus Maven 仓库管理工具

【Android Gradle 插件】将自定义 Gradle 插件上传到自建 Maven 仓库 ⑤ ( 使用 Sonatype Nexus 搭建 Maven 仓库 ) https://hanshuliang.blog.csdn.net/article/details/127385094 博客资源

2022-10-18

Android LinearGradient 线性渐变渲染

【Android UI】Paint Gradient 渐变渲染 ① ( LinearGradient 线性渐变渲染 | 设置渲染方向 | 设置渲染颜色 | 设置渲染模式 | MIRROR ) https://blog.csdn.net/shulianghan/article/details/125047457 博客配套源码 一、LinearGradient 线性渐变渲染 1、设置 2 个颜色的渐变 3、设置多个颜色的渐变 二、LinearGradient 线性渐变渲染重要参数分析 1、正常渲染 2、设置多个渐变颜色渲染 3、设置渲染方向 4、设置 Shader.TileMode.MIRROR 渲染模式 5、设置 Shader.TileMode.REPEAT 渲染模式 三、代码示例 1、正常渲染 2、设置多个渐变颜色渲染 3、设置渲染方向 4、设置 Shader.TileMode.MIRROR 渲染模式 5、设置 Shader.TileMode.REPEAT 渲染模式 四、效果展示 ———————————————— 版权声明:本文为CSDN博主「韩曙亮」的原创文章,遵循CC 4.0

2022-05-30

集成 mobile-ffmpeg 框架执行 FFmpeg 指令 ( 兼容 Android 10 )

【Android FFMPEG 开发】Android 中执行 FFMPEG 指令 ( 集成 mobile-ffmpeg 框架 | 完整代码示例 ) https://hanshuliang.blog.csdn.net/article/details/123731092 博客源码 一、配置远程 Maven 仓库 二、配置依赖 三、Kotlin 中执行 FFmpeg 命令 四、FFmpeg 命令执行结果查看 五、源码下载

2022-03-25

Android WebSocket 用法 ( 导入 Java-WebSocket 源码依赖 )

【Android WebSocket】Android 端 WebSocket 基本用法 ( 下载 Java-WebSocket源码 | 导入 Java-WebSocket-1.5.2 工程作为依赖 ) https://hanshuliang.blog.csdn.net/article/details/123633108 博客源码快照

2022-03-21

Android 端 WebSocket 简单 Demo

【Android WebSocket】Android 端 WebSocket 基本用法 ( 添加依赖和权限 | 创建 WebSocketClient 客户端类 | 建立连接并发送消息 ) https://hanshuliang.blog.csdn.net/article/details/123628775 博客配套源码

2022-03-21

ijkplayer 编译后的工程 0.88 版本

ijkplayer 编译后的工程 0.88 版本 ; https://blog.csdn.net/shulianghan/category_11697316.html 专栏配套源码

2022-03-20

ASTTransformation#visit 方法中访问 Groovy 类、方法、字段、属性

【Groovy】编译时元编程 ( ASTTransformation#visit 方法中访问 Groovy 类、方法、字段、属性 | 完整代码示例及进行编译时处理的编译过程 ) https://hanshuliang.blog.csdn.net/article/details/122815793 博客源码

2022-02-07

启动 DEX 字节码中的 Activity 组件 ( 替换 LoadedApk 中的类加载器 )

【Android 逆向】启动 DEX 字节码中的 Activity 组件 ( 替换 LoadedApk 中的类加载器 | 加载 DEX 文件中的 Activity 类并启动成功 ) https://hanshuliang.blog.csdn.net/article/details/121885164

2021-12-12

使用 DexClassLoader 动态加载字节码文件

【Android 逆向】类加载器 ClassLoader ( 使用 DexClassLoader 动态加载字节码文件 | 准备 DEX 字节码文件 ) https://hanshuliang.blog.csdn.net/article/details/121776627 博客源码

2021-12-10

CheatEngine7.3版本工具及源码

CheatEngine73.exe 工具 , cheat-engine-7.3.zip 源码 ;

2021-11-12

MobileGameModify.7z

【Android 逆向】Android 逆向通用工具开发 ( Android 端远程命令工具 | Android 端可执行程序的 main 函数操作 | TCP 协议服务器建立 | 接收客户端数据 ) https://hanshuliang.blog.csdn.net/article/details/121205714 博客源码 , 带最终版的可执行程序和依赖库

2021-11-08

MobileGameModify.7z

【Android 逆向】Android 逆向通用工具开发 ( PC 端工程分析 | 网络初始化操作 | PC 端工程核心业务逻辑 ) https://hanshuliang.blog.csdn.net/article/details/121203401 博客源码快照

2021-11-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除