- 博客(36)
- 资源 (3)
- 收藏
- 关注
原创 Android中Mvvm+Retrofit的常用网络架构记录
本文记录使用Mvvm模式加上retrofit作为网络请求时的一种网络层结构,优点在于逻辑清晰,方便后期更多功能的拓展。↓ collectViewModel↓ FlowRepository↓Retrofit↓OkHttpMyMvvmDemo/*** @content: 进行网络请求的基础响应结构,用于统一的接口返回*/val code: Int, //状态码val message: String, //提示的信息//真正的数据/**
2026-03-20 18:03:29
480
原创 Android中dp与px互相转化的工具类
该工具类适配于kotlin开发,采用的扩展函数方式,使用更加简便,同时添加了不同类型的支持,后期显示相关内容的所需的工具类遇到了才会在这里逐个添加。
2026-03-15 17:02:55
80
原创 记录2026年android中最新的沉浸式实现方式,以及窗口信息的设置
如果页面内有recyclerView时,建议额外设置recyclerView.clipToPadding = false,可以让recyclerView的内容绘制到内边距所在的地方实现流畅的显示。返回值insets:当前窗口所有系统UI占用的空间信息,包括状态栏 导航栏 刘海屏 手势区域 IME键盘 系统手势区域。本文用来记录目前为止最新的设置沉浸式布局方式,跟之前的固定写法相比更加简单,自由度也更高。
2026-03-13 17:34:06
84
原创 Android音乐播放器中通知栏控制方案
开发音乐播放器时,通知栏音频显示与控制(播放、暂停、切歌等)是核心需求,主流实现方式有两种:Notification通知栏自定义界面:将自定义界面设置到notification中,并通过pandingIntent进行对应按钮等操作的 跳转控制,具体可参考Android中Notification的使用详解。
2026-02-27 14:29:23
837
原创 Android获取设备中本地音频
Android开发中经常需要获取当前设备中的音频文件,用来播放等操作,于是写了一个工具类可以直接拿来使用,避免了每次手写,提高代码开发的效率。工具类,可针对需求自行调节细节/*** @describe: 获取本地的音频数据* @params:* context:上下文* externalScope:协程* @return:*///定义要查询的字段MediaStore.Audio.Media._ID, // 唯一IDMediaStore.Audio.Media.TITLE, // 标题。
2026-02-08 14:30:47
230
原创 Android中Notification的使用详解
本文主要介绍Notification的使用方式,以及如何通过自定义布局满足不同的需求。由于自定义布局随机因素太多,因此没有工具类制作的意义,所以这里放上案例以供参考。帮助类://通知渠道的id//用户可见的通知渠道名称(长按状态栏通知内容可显示)private const val CHANNEL_NAME = "音乐播放中"//用于标识当前通知的唯一id,如果同一个id多次发送则会更新此通知//通知主体的点击事件返回码//通知自定义布局中按钮1识别码//通知自定义布局中按钮2识别码。
2026-02-05 18:57:33
195
原创 Android中BottomSheetDialog的折叠、半展开、底部固定按钮等方案实现
在 Android 应用开发中,BottomSheetDialog 是 Material Design 体系下高频使用的底部弹窗组件,凭借滑动折叠、半屏展示、沉浸式交互等特性,广泛应用于筛选面板、操作菜单、详情弹窗等场景。折叠状态与高度失控:默认的 BottomSheetDialog 折叠高度(peekHeight)适配性差,不同屏幕(如刘海屏、折叠屏)下高度计算错误,无法精准实现「半屏展开」「自定义折叠高度」;
2026-02-03 20:13:39
787
原创 Android中获取当前设备的宽高与屏幕密度等数据的工具类
在 Android 开发中,获取屏幕尺寸是高频需求,但不同系统版本(尤其是 API 30 前后)的 API 差异、状态栏 / 导航栏的扣除逻辑、分屏 / 折叠屏适配等问题,很容易导致尺寸计算错误。本文分享一套兼容所有 Android 版本的屏幕尺寸工具类,支持获取设备物理尺寸、应用可用尺寸,还能单独获取状态栏 / 导航栏高度,解决日常开发中 99% 的屏幕尺寸适配问题。
2026-02-01 19:39:44
161
原创 Android最新动态权限申请工具
由于项目开发中经常会用到动态权限申请,所以就干脆写了一个工具类用来动态权限申请,但是发现老版的必须在activity/fragment页面去重写onRequestPermissionsResult()方法来获取权限申请结果,因此单纯的封装checkSelfPermission()方法没有什么意义,而采用注释的方式进行反射来开发,又会造成性能消耗及安全隐患等问题,直到后来发现了新的api-registerForActivityResult ,这个api是AndroidX库中用来进行跳转后获取返回结果,此外还有
2026-01-06 13:19:43
782
原创 git中pull拉去远程仓库代码时如何防止本地代码被修改
Androidstudio中通常拉取全程仓库代码时,偶尔会发生直接覆盖本地内容,而不会显示冲突的bug,为了避免该类事件发生,可以在进行重要提交时使用以下两种方案,避免提交前下拉时导致本地内容的改变。
2026-01-06 11:41:13
213
原创 Android中获取设备里面的音频文件
用下面工具类来获取系统提供的ContentProvider中数据库里的音频文件,然后自由选择每条记录的所需的属性并存储在Bean类中,就可以通过实体类随意使用了。1.工具类://工具类,目前固定获取手机中音频文件中容量、歌曲名、歌手属性,后续考虑修改扩展性更强的工具类val resolver = context.contentResolver //获取contentResolverval queryResult = mutableListOf<AudioBean>() //存放查询结果。
2025-12-20 14:11:53
327
原创 android开发compose系列之Icon
Icon是compose中专门用来展示小图标的组件,传统的View体系中没有对应的控件,该组件支持三种不同类型的图片设置:imageVector矢量图(可显示SVG格式的图标)、ImageBitmap位图(可显示JPG、PNG等格式图标)、Painter自定义画笔(可直接用画笔再Canvas上绘制图标,也可以同res/下的图片资源)
2025-12-14 20:00:40
480
原创 Android中Compose系列之按钮Button
Button是Compose中作为按钮提供交互的控件,它本身属性自带onClick的点击处理,不需要使用Modifiter中的点击功能,目前最新版默认按钮风格为Material风格的圆角,所以需要手动调节为矩形或更改圆角半径。
2025-12-14 14:23:22
494
原创 android中compose系列之总纲
本系列用来记录学习compose中相关的知识点内容,适合有一定基础的同学进行相关内容的复习,同时后续也会不断更新内容以适应最新的api,有些没有涉及到的部分后面发现了也会进行添加,同时也欢迎各位在评论区告诉我,最后附上官方文档方便随时看最新Compose使用的介绍hl=zh-cn另外喜欢更清晰的目录形式的可参考此网站,但是有些内容可能已经过时。
2025-12-13 19:40:52
1500
原创 Android中如何让自己的播放器作为系统播放视频的选择之一
根据源码中的内容可直接复制以下代码在自己操作播放器播放的activity页面清单文件中。
2025-12-02 13:05:54
118
原创 AndroidStudio快捷键使用
本文用来记录Android studio中的常用的各类快捷键,旨在方便开发,会持续不断更新中。官方快捷键hl=zh-cn。
2025-11-28 19:38:41
343
原创 电脑开荒设置,重装系统或新买电脑必要的修改设置
由于电脑有时抽风需要重新装机,但是每次装完系统后一些影响性能的默认设置与相关广告推送总是很烦人,所以特此记录下需要修改的内容来优化使用体验。
2025-11-26 14:15:00
406
原创 activity与fragment的传参记录
本文主要记录activity、fragment之中的参数传递,包括各自的跳转传递,返回后的参数传递,以及之间的互相传递等,本文后续会持续更新记录。
2025-11-12 19:03:33
809
原创 viewpager2的使用与相关踩坑
在viewpager里面的fragment中进行数据的设置时,必须将数据展示放在onResume()中,否则会产生数据加载完毕展示时点击后的页面却没有测量完毕的情况,从而导致页面空白,特别是fragment页面中有一个recyclerView进行数据更新时,或者用主线程的post{}确保布局绘制完成后再加载数据。如java.lang.IllegalStateException: Expected the adapter to be ‘fresh’ while restoring state.
2025-11-11 18:33:13
1001
原创 kotlin中mutableList与List
List:是 Kotlin标准库中的只读列表接口(kotlin.collections.List),定义了列表的查询操作规范(如获取元素、遍历、判断包含等),但不包含任何修改方法(如添加、删除元素)。MutableList:是 List 的子接口(kotlin.collections.MutableList),在继承 List所有查询方法的基础上,额外定义了修改操作规范(如添加、删除、修改元素),是 “可变列表” 的抽象。提示:以下是本篇文章正文内容,下面案例可供参考。
2025-10-31 13:56:20
348
原创 Gson解析对象时遇到泛型的情况处理
在使用Gson解析时,遇到类型无法确定的泛型时,常常会因为遭遇泛型擦除而导致无法准确编译运行后的类型,因此,有以下方法可以防止该问题出现。
2025-10-30 17:58:28
389
原创 RecyclerView的下拉刷新与上拉加载方案汇总
本文章主要以recyclerView的为主记录关于下拉刷新、上拉加载的多种实现方案。以上方案为常用且易于实现的方案总结,后面内容有些没有贴出来的代码可以参考前面对应的内容,没有贴出来则说明跟前面的保持一致没有重复放置。
2025-10-28 11:28:14
811
原创 Android项目theme设置相关记录
在res/values/themes.xml文件中可以设置主题风格,然后在清单文件AndroidManifest中对相应的activity标签中设置android:theme=“@style/Theme.MyPhoneVideo.FullScreen”用于记录项目中对主题的个性化设置。
2025-08-28 19:17:12
211
原创 adb的配置与相关命令
ADB,全称Android Debug Bridge,即安卓调试桥,是个通用命令行工具,可以与Android设备沟通交流,常用于开发和测试Android应用。配置环境变量之后即可在系统任何地方被调用,否则每次使用需要手动输入它的完整路径再进行调用。
2025-08-28 14:59:31
1554
原创 Android studio中更改Gradle、sdk、虚拟机等安装地址的方法
摘要:本文介绍如何将Android Studio的SDK、Gradle和AVD安装目录迁移到非C盘,以节省系统盘空间。SDK和Gradle路径可在Settings中直接修改;Gradle安装包可手动下载后放入对应目录进行离线安装。AVD迁移需新建系统变量ANDROID_SDK_HOME指向目标路径,并删除原.android文件夹后重建模拟器。文中提供了阿里云Gradle镜像等实用下载链接。
2025-08-25 22:48:58
720
原创 【Androidstudio中增加maven国内仓库的方法】
本文介绍了在Android Studio中配置国内Maven仓库的两种方法。对于Kotlin DSL(build.gradle.kts)配置,需在settings.gradle.kts文件的pluginManagement和dependencyResolutionManagement中添加阿里云等国内仓库地址,并区分了Gradle 8.0以上和以下版本的语法差异。对于Groovy DSL(build.gradle)配置,同样需要在settings.gradle文件中添加仓库地址,文中提供了详细的代码示例,包
2025-08-25 22:17:00
1318
关于QQ群头像以及微信讨论组头像的工具类
2017-08-29
关于QQ群头像以及微信讨论组头像工具类的Demo
2017-08-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅