
Android
文章平均质量分 74
https://developer.android.google.cn/
xiangxiongfly915
Android & Flutter & H5
https://github.com/xiangxiongfly
展开
-
Android 倒计时总结
简单需求:优先选用CountDownTimer,避免重复造轮子界面交互:使用Handler时注意与View的生命周期绑定后台任务:Timer方案需配合Service使用新项目推荐:采用Kotlin Flow实现,搭配协程更高效性能关键:避免在倒计时回调中执行耗时操作内存优化:所有方案都需注意释放资源原创 2025-05-29 11:38:42 · 475 阅读 · 0 评论 -
Android 防抖和节流
防抖是指在事件被触发后,等待一段时间,如果在这段时间内没有再触发事件,才执行处理函数。如果在这段时间内又触发了事件,就重新开始计时节流是指在一定时间间隔内,无论事件触发多少次,只执行一次处理函数。原创 2025-04-02 11:15:13 · 371 阅读 · 0 评论 -
Android Logcat总结
日志时间进程和线程的ID日志名包名日志等级日志的内容。原创 2025-03-27 13:55:33 · 498 阅读 · 0 评论 -
AndroidStudio 下载
Android Studio 的发布周期分为多个阶段,结合 Google 的发布策略调整,其节奏和形式近年来有所变化。普通开发者:使用 Beta 版或 Stable + Feature Drop 版,平衡新功能与稳定性。生产环境:优先选择最新 Stable 版 + Patch,确保安全性。尝鲜者:关注 Canary 版,提前体验新功能。原创 2025-03-26 13:36:57 · 480 阅读 · 0 评论 -
Android Spinner总结
在 Android 中,Spinner是一个下拉选择框。原创 2025-03-12 12:26:06 · 910 阅读 · 0 评论 -
Android Coil总结
Coil 是一个用于 Android 的 Kotlin 图像加载库,旨在简化图像加载和显示的过程。它基于 Kotlin 协程,提供了简洁的 API 和高效的性能。.build()原创 2025-03-06 16:05:05 · 424 阅读 · 0 评论 -
Android 封装OkHttp
Android 封装OkHttpCallback 回调接口HttpCode 错误状态码HttpException 异常处理类HttpHeaders 请求头HttpParams 请求参数HttpMethod 请求方法HttpConfig 全局配置HttpOptions 可选配置HttpManager 网络请求核心类IHost 请求urlHttpClient 网络请求类原创 2018-12-26 17:38:42 · 320 阅读 · 1 评论 -
Android 扩大View的点击区域
使用padding属性使用TouchDelegate使用getLocationOnScreen监听原创 2024-10-08 14:21:52 · 831 阅读 · 0 评论 -
Android 优雅封装Glide
使用策略模式实现不同图片加载框架的切换,使用建造者设计模式处理不同参数,最后通过 ImageLoader 进行管理。原创 2024-09-06 16:14:49 · 984 阅读 · 0 评论 -
AGP6.7升级为AGP7.6
【代码】AGP6.7升级为AGP7.6。原创 2024-07-22 14:40:00 · 993 阅读 · 0 评论 -
Android 换肤之插件换肤
Android 实现应用内换肤的常用方式(两种):通过Theme切换主题,即静态方法。通过AssetManager切换主题,可实现动态切换。原创 2024-07-03 13:31:36 · 727 阅读 · 1 评论 -
Android 换肤之主题换肤
Android 实现应用内换肤的常用方式(两种):通过Theme切换主题,即静态方法。通过AssetManager切换主题,可实现动态切换。原创 2024-07-02 09:47:05 · 943 阅读 · 1 评论 -
Android 常用ADB命令
命令adb命令shell命令使用adb服务器操作设备操作应用文件操作activity操作日志操作原创 2024-06-27 16:14:46 · 336 阅读 · 0 评论 -
Android 动态修改APP图标
定义activity-alias图标和APP名切换监听APP前后台状态切换进入后台时切换修改图标和名字原创 2024-06-06 16:43:26 · 2275 阅读 · 0 评论 -
Android 通过View生成Bitmap
将View转为Bitmap原创 2024-05-29 17:01:20 · 506 阅读 · 0 评论 -
Android 控件保持宽高比得几种方式
adjustViewBounds百分比布局ConstraintLayout自定义View原创 2024-05-29 16:13:03 · 1177 阅读 · 0 评论 -
Android Kotlin版封装EventBus
Android Kotlin版封装EventBus原创 2024-03-19 15:24:47 · 1023 阅读 · 1 评论 -
gradle build running 一直卡很久(最近版本),解决办法
gradle build running 一直卡很久(最近版本),解决办法转载 2024-03-19 11:22:48 · 2651 阅读 · 0 评论 -
Android 验证Activity启动模式
launchModestandardsingleTopsingleTasksingleInstanceIntent标记FLAG_ACTIVITY_NEW_TASKFLAG_ACTIVITY_CLEAR_TASK 和 FLAG_ACTIVITY_NEW_TASKFLAG_ACTIVITY_CLEAR_TOPFLAG_ACTIVITY_SINGLE_TOP原创 2024-02-28 14:22:15 · 1242 阅读 · 0 评论 -
Android Activity启动模式
四种启动模式Intent标记原创 2024-02-27 16:05:04 · 725 阅读 · 0 评论 -
Android 监听网络状态变化
Android 监听网络状态变化原创 2024-02-26 16:04:40 · 1197 阅读 · 0 评论 -
Android 系统定位和高德定位
系统定位和高德定位原创 2024-02-21 15:12:07 · 889 阅读 · 0 评论 -
Android 基于Fragment的权限封装
Fragment 并不像 Activity 那样必须有界面,我们完全可以向 Activity 中添加一个隐藏的 Fragment,然后在这个隐藏的 Fragment 中对运行时权限的 API 进行封装。这是一种非常轻量级的做法,不用担心隐藏 Fragment 会对 Activity 的性能造成什么影响。原创 2024-01-22 14:36:54 · 728 阅读 · 0 评论 -
Android 软键盘的显示和隐藏
显示软键盘:InputMethodManager#showSoftInput(View view, int flags)隐藏软键盘:InputMethodManager#hideSoftInputFromWindow(IBinder windowToken, int flags)原创 2023-12-26 16:36:12 · 3167 阅读 · 0 评论 -
Android MVVM+coroutine+retrofit+flow+hilt
依赖注入层数据层视图层模型视图层原创 2023-12-05 17:06:07 · 775 阅读 · 0 评论 -
Android launchWhenXXX 和 repeatOnLifecycle
lifecycleScope和viewModelScopelaunchWhenXXXrepeatOnLifecycleflowWithLifecycle原创 2023-11-13 15:28:38 · 1277 阅读 · 0 评论 -
Android Groovy 迁移到 KTS
Android Studio是使用Gradle来编译,而默认的构建语言是Groovy,但是Gradle实际上是支持Kotlin来编写Gradle构建脚本的,常见的构建脚本是.gradle结尾,而Koltin语法编写的脚本则是.gradle.kts 。原创 2023-10-31 16:28:30 · 778 阅读 · 0 评论 -
Android DSL
Kotlin DSL(领域特定语言)是一种使用 Kotlin 语言编写的,用于解决特定问题领域的语言。DSL 使得代码更易读、易写,因为它的语法和领域问题的语法更接近。Kotlin 的强大类型系统和灵活性使得创建 DSL 变得更加容易。原创 2023-10-30 09:30:05 · 390 阅读 · 0 评论 -
Android 虚拟机
Java虚拟机基于栈的虚拟机栈的执行流程Dalvik虚拟机基于寄存器的虚拟机寄存器的执行流程Java虚拟机与Dalvik虚拟机区别ART虚拟机Android 7.0的运行方式原创 2023-09-20 16:14:20 · 351 阅读 · 0 评论 -
Android 基于反射实现简易版ButterKnife
*** 用于绑定元素*//*** 定义元注解*///方法所在的Class//方法名/*** 绑定点击事件*//*** 绑定长按事件*///获取类中所有变量//获取类中所有方法/*** 绑定变量*///判断是否被@BindView注解//获取@BindView注解= null) {//设置访问权限if (!//获取注解值//获取Viewtry {//通过反射设置值/*** 绑定方法*/原创 2023-08-28 14:39:07 · 475 阅读 · 0 评论 -
Android BLE开发总结
Android BLE开发总结在Android BLE开发中,设备、服务、特征和描述它们之间的关系如下:设备(Device):指BLE设备,如蓝牙耳机、传感器等。服务(Service):指BLE设备所提供的服务,一个BLE设备可以提供多个服务,每个服务有一个唯一的UUID,服务中包含多个特征值。特征(Characteristic):指BLE设备服务中的特征值,每个特征值有一个唯一的UUID,可以读取、写入和监听特征值数据。描述(Descriptor):指BLE设备服务中特征值的描述信息,描述信息原创 2023-03-27 15:38:28 · 1529 阅读 · 3 评论 -
Android 深色模式适配总结
Android 深色模式适配总结原创 2022-11-17 15:37:36 · 3376 阅读 · 0 评论 -
Android BottomSheet总结
Android BottomSheet、BottomSheetDialog、BottomSheetDialogFragment原创 2022-11-16 11:23:33 · 1678 阅读 · 0 评论 -
Android TabLayout总结
Android TabLayout总结原创 2022-11-15 10:24:41 · 3741 阅读 · 0 评论 -
Android Drawable总结
Drawable有很多种,它们都表示一种图像的概念,但是它们又不全是图片,通过颜色也可以构造出各式各样的图像的效果。在实际开发中,Drawable常被用来作为View的背景使用。Drawable一般都是通过XML来定义的,当然我们也可以通过代码来创建具体的Drawable对象,只是用代码创建会稍显复杂。在Android的设计中,Drawable是一个抽象类,它是所有Drawable对象的基类。原创 2022-10-13 09:51:34 · 1702 阅读 · 0 评论 -
Android SpannableString搜索关键字变色
搜索关键字变色原创 2022-09-07 14:40:47 · 761 阅读 · 0 评论 -
Android 状态栏总结
状态栏使用总结原创 2022-08-19 11:21:46 · 1128 阅读 · 0 评论 -
Android 签名打包
keytool -printcert -jarfile keytool -list -v -keystore 说明apk已经签名了,如果没有签名,则会提示当前应用无签名。执行assemble命令,生成apk文件。签名密码和别名密码需要保持一致。原创 2022-08-11 11:34:52 · 2804 阅读 · 0 评论 -
Android 组件化设计
文章目录Android 组件化设计什么是组件化开始组件化操作自定义Gradle创建其他组件配置app主工程配置common组件配置其他组件使用ARouter组件间跳转组件间通信资源冲突问题代码下载Android 组件化设计什么是组件化库 & 模块 & 组件 的区别:库:提供单一功能或一些功能。模块:指具体的业务逻辑模块,一个App可根据业务拆分为多个模块,如微信就定义了四个模块:微信、通讯录、发现、我。组件:指功能组件或业务组件,每个组件可以独立运行,功能组件如:视频组件、支付原创 2022-05-24 23:52:16 · 559 阅读 · 0 评论 -
Android Gson在Kotlin data class中的使用
文章目录Android Gson在Kotlin data class中的使用基本使用NEP 空指针异常问题原因nullSafe 失效问题默认值失效问题字段都有默认值字段部分有默认值解决问题使用无参构造函数声明为字段使用moshi框架Android Gson在Kotlin data class中的使用基本使用data class UserBean(val name: String, val age: Int)val json = """ { "name":"小原创 2022-05-04 23:36:54 · 2325 阅读 · 0 评论