自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(206)
  • 资源 (6)
  • 收藏
  • 关注

原创 VMware安装Ubuntu18.0.4-1详细过程

准备工作一.下载VMware.VMware下载地址为:城盘下载:https://wwwzdfanscom.ctfile.com/dir/17667126-29444776-10f3a9/百度云下载:https://pan.baidu.com/s/1xMBIIGRu48hvsOvxcGBEPw下载完成即可安装,安装可以全部采取默认,看个人而定,博主的安装目录是自选的。安装完成...

2018-09-18 01:14:09 17766 7

原创 Android auncher3实现简单的负一屏功能

以分层架构 + 模块化设计为核心,通过 “数据模型封装 - UI 适配渲染 - 界面逻辑控制” 三层结构,快速搭建 Launcher3 负一屏功能,核心是利用RecyclerView嵌套实现 “卡片容器 + 子项列表” 的灵活布局,同时保证界面交互与数据展示的解耦。

2025-08-22 00:07:15 305

原创 Android使用Compose实现微信朋友圈

顶层结构:以 MainScreen 为入口,通过 Box 嵌套多模块,涵盖「朋友圈列表 + 操作弹框 + 评论栏 + 图片预览 + 删除对话框」5 大核心 UI 单元。状态管理:通过 remember 与 mutableStateOf 管理关键状态,包括数据状态(circleData 朋友圈列表、previewImages 预览图)、UI 显隐状态(isCommentVisible 评论栏、isImagePreviewVisible 图片预览)、交互定位状态(currentReplyPos)

2025-08-20 12:55:27 263

原创 Android使用Kotlin协程+Flow实现打字机效果

Android 打字机效果是一种模拟传统打字机逐字符输出文本的 UI 动效,通过文字逐个显示 + 光标动态闪烁的组合,营造出文本 “实时输入” 的视觉体验,常用于 App 欢迎页、剧情对话、数据加载提示等场景,能提升用户注意力与交互趣味性。

2025-08-18 23:32:25 957

原创 Android中使用Compose实现各种样式Dialog

在Jetpack Compose中,remember是一个关键函数,用于在组件的重组过程中保持状态持久化。

2025-08-17 14:03:13 1000

原创 Android15适配和Google上架

与之前的版本一样,Android 15 包含一些可能会影响您的应用的行为变更。以下行为变更仅影响以 Android 15 或更高版本为目标平台的应用。如果您的应用以 Android 15 或更高版本为目标平台,您应该修改自己的应用以适当地支持这些行为(如果适用)。请务必查看对 Android 15 上运行的所有应用都有影响的行为变更列表(无论应用的 targetSdkVersion 如何)。

2025-08-03 00:32:07 646

原创 Android12自适应图标适配

本文介绍了Android 12自适应图标适配的方法。开发者在使用自定义Launcher时可能会遇到图标显示异常问题,如白边或裁剪。通过使用AdaptiveIconDrawable,图标可以适应不同设备的形状和主题。文章详细演示了如何通过Android Studio创建自适应图标:选择前景/背景图,调整比例,生成适配不同形状的图标,并测试通知栏显示效果。特别适用于系统定制开发中解决第三方Launcher的图标显示问题。最后提供了完整的源码示例供参考。

2025-07-29 00:57:05 1020

原创 Android实现获取前台应用信息

本文介绍了在Android中获取前台应用信息的方法实现。通过ActivityManager的getRunningTasks(1)方法获取当前运行任务,从中提取topActivity的包名和类名。文章包含Kotlin代码示例,展示了获取前台应用信息的具体实现,包括布局设计和测试代码。效果展示截图验证了功能有效性,最后总结了该方法的核心技术点,并指出后续可扩展获取版本号、运行状态等更多应用信息。源码地址已提供供参考。

2025-07-05 17:46:22 266

原创 Android11 Launcher3实现去掉抽屉改为单层

Android11 launcher3的样式去掉抽屉显示所有应用列表,这其中遇到很多问题,但是最后都通过仔细排查和日志解决了,源码修改和编译其实还是很有意思的,排查起来比App开发要复杂,编译的时候很久,所以需要阅读大量源码,搞明白其原理和流程,修改起来就会很顺利.

2025-06-11 19:44:48 1260

原创 Android12 Launcher3显示所有应用列表

从上面的截图可以看到基本上实现了桌面显示所有App应用图标,不同于抽屉模式还要向上滑动才能看到整个应用列表,这也很符合用户使用真实手机的习惯,而且安装了新App后会再桌面刷新,后面会讲解去掉抽屉显示所有应用列表.

2025-05-30 01:13:32 910

原创 Android12 Settings搜索功能屏蔽某个App

之前在Android12Rom定制需求中做了屏蔽Settings某个App的入口,有网络和互联网、已连接的设备、电池和存储,但是在搜索的时候还是能看到入口,所以感觉体验不是很好,于是根据要求屏蔽这几个3App的搜索功能,这里记录一下修改过程。

2025-05-26 02:16:16 1026

原创 Android12 launcher3修改App图标白边问题

在Android12 Launcher3中系统设置App桌面图标形状后会出现一个白边,导致显示很难看,这明细需要修改,解决方法就是在系统源码中修改缩放级别,默认不缩小图标,以上方法需要编译源码后重新打包验证.

2025-05-24 22:38:22 745

原创 Android12 Rom定制去掉剪贴板复制成功的Toast

今天遇到的问题就是一个toast提示,需要根据日志排查定位到问题原因,解决也很简单,删除或者注释toast即可。

2025-05-23 23:32:41 669

原创 Android12 Rom定制设置默认语言为中文

设置默认语言为中文zh_CN即可.更换不同输入法,这里根据需要自行选择通过adb日志查看语言和输入法是否生效如果你定制了输入法时,设置了默认语言和默认输入法,发现没效果可以试试上面的方式每个人遇到的情况和环境可能不一样,但是问题可能是一样,需要根据实际情况进行排查今天的内容很简单,代码不多,但是调试和排查花了不少时间,本来很快就可以解决的问题,老是纠结代码容易陷入误区,所以有时候需要休息一下,眺望远方,说不定就找到思路和灵感了.

2025-05-01 20:46:08 971

原创 AndroidRom定制删除Settings某些菜单选项

隐藏系统设置中的一级菜单很简单,有2种方式,可以根据需要进行实现。隐藏菜单选项找到对应的源码路径,按照上面的2种方式修改即可.如果发现调试过程中不生效可以打印日志查看报错,仔细阅读源码。大家如果感兴趣可以下载源码进行编译调试查看最终效果。

2025-04-20 00:52:43 526

原创 Android在ksp中简单使用Room

ksp要添加相应插件和依赖,配置方式有所改变.ksp中room的路径要配置正确.ksp中jvm版本要对应.升级到最新的gradle后compileSdk版本要使用最新的.

2025-03-30 23:05:04 742

原创 Android在kts中简单使用AIDL

使用kts的方式需要先使用buildFeatures配置aidl.使用Parcelize序列化数据很简单方便.要注意创建aidl文件的目录和包名这些在同一目录.使用Version Catalog方式要主要依赖配置的方式.感兴趣的小伙伴可以自己尝试一下,后面会讲解aidl如何传输大文件.

2025-03-23 20:46:21 1179

原创 AndroidAOSP定制隐藏某个应用的图标

这里大家可以根据自己的需求进行隐藏,我这里只是举例子,因为我有些系统应用图标实际不需要隐藏,所以最后可以看到只有相册和电子邮件,Google商店和Google Chrome浏览器是我自己定制的apk,所以默认就显示在首屏,当然这些也可以去掉隐藏,像第一屏有些是在默认的Launcher3布局里面设置。

2025-02-25 00:34:27 1044

原创 Android KMP初探

技术可为多种平台创建应用程序并在平台之间高效重用代码,同时保留原生编程的优势。您的应用程序将在 iOS、Android、macOS、Windows、Linux 等平台上运行。是 JetBrains 推出的声明式 UI 框架,可让您为 Android、iOS、桌面和 Web 开发共享 UI。将 Compose Multiplatform 集成到 Kotlin Multiplatform 项目中,更快交付应用和功能,而无需维护多个 UI 实现。

2025-02-23 00:43:56 1330

原创 Android四种方式刷新View

今天的使用场景很特殊,一般不会遇到,不过既然遇到了,就要找到问题原因解决掉问题,当然解决方式有很多,这里看个人,没有说一定要使用哪种方式,由于是demo所以没有做主题切换的操作,view也是直接显示的,感兴趣的同学可以自己尝试一下再view隐藏时切换主题会不会有此问题,打卡收工,祝大家新年快乐.

2025-01-19 16:57:50 1331

原创 Android使用DataBinding和Merge引发的血案

该属性主要来指定父级view-tag;在自定义组合布局时,配合 标签,可以消除多余的层级。如,定义了一个布局,它的根 布局标签是 LinearLayout;要把该布局整体用一个自定义view来关联操作。view中,通常有一句:LayoutInflater.from(context).inflate(R.layout.xxx, this, true)注意最后一个参数,属性为true:即 将inflate出的布局,attachToRoot 到 this。

2024-12-31 23:55:20 980

原创 Android实现RecyclerView边缘渐变效果

是指在RecyclerView中实现淡入淡出效果的边缘效果。通过这种效果,可以使RecyclerView的边缘在滚动时逐渐淡出或淡入,以提升用户体验。

2024-12-15 23:00:14 873

原创 Android中WorkManager的简单使用

Service和WorkManager各有优缺点,选择使用哪一个取决于具体的需求场景。如果需要依赖应用内部运行的后台任务,且任务不涉及耗时操作,可以选择Service;如果需要延迟执行或应用退出后仍需运行的任务,且希望减少开发工作量,可以选择WorkManager。

2024-12-08 22:54:21 2743

原创 2024年Android面试总结

‌简洁性‌:Kotlin的简洁语法减少了样板代码,提高了开发效率。‌空指针安全‌:内置的空安全机制避免了空指针异常,提高了程序的稳定性。‌扩展函数‌:允许向现有类添加新功能,无需修改原始代码,增强了代码的可维护性。‌协程‌:提供了更高效、更易读的异步编程方式。‌编译时间‌:更快的编译速度意味着更快的开发反馈。‌Kotlin‌:泛型类中的类型参数默认是不可变的,如果需要支持协变或逆变,需要使用和关键字来指定。泛型类中的类型参数如果可以被推断出来,可以省略类型参数‌。

2024-12-02 23:35:47 930

原创 2024年Android面试总结

2024年Android面试总结

2024-11-24 23:05:23 958

原创 Android在kts中使用navigation及Args

​ 之前在项目中使用过navigation,但都是以Groory的方式,最近一年多使用kts后忍不住把项目都改成kts的方式,不过其中也遇到不少坑,今天就讲解一下如何在kts中使用navigation和安全地传递参数Args。

2024-10-24 23:36:50 931

原创 Android使用协程实现自定义Toast弹框

最近有个消息提示需要显示10s,刚开始使用协程写了一个showToast方法,传入消息内容、显示时间和toast显示类型即可,以为能满足需求,结果测试说只有5s,查看日志和源码发现Android系统中Toast显示有2种类型Toast.LENGTH_SHORT`和`Toast.LENGTH_LONG,分别代表Toast消息显示的时间为短暂(大约2秒)和长时间(大约3.5秒).

2024-10-21 23:53:36 568

原创 Android使用Flow封装一个FlowBus工具类

​ 做过Android的同学应该都使用过EvenutBus、Rxbus、LiveDataBus、LiveData等,这些第三方不仅要导入依赖包,而且还要注册和取消注册,使用起来非常麻烦,稍不注意就导致内存泄漏,自从接触了Flow、SharedFlow之后感觉使用起来方便多了,于是产生了一个封装通用事件工具类的想法,直接上代码.

2024-09-23 01:21:11 1024

原创 Android AOSP定制默认输入法为讯飞输入法

当然这里还有一个小问题,就是用户首次打开输入法的时候会有一个隐私协议的授权弹框,既然是定制系统,这块其实也可以考虑,我们是采用首次打开app的时候调起输入法利用无障碍服务自动点击同意或者拒绝隐私协议的方式解决这个体验问题,方式有很多,这里就不详细讲解了,大家可以自己尝试解决.基本上是一个很完整的定制过程,感兴趣的小伙伴可以自行尝试,实战才是检验一切的最好老师.比如apk定制好之后能不能正常使用?如何把讯飞输入法定制为默认输入法?而不是需要用户主动去切换选择?怎么默认授权文件读写、录音等权限?

2024-09-01 17:35:08 1735

原创 Android AOSP定制禁用某些app的通知

可以看到上面的图片已经去掉了GMS默认的通知,重启模拟器和手机,打开gms通知栏都没有提示了,这样优化了体验,不让用户一直在看到一个警告提示.

2024-07-28 04:42:41 768

原创 Android AOSP定制去掉Google搜索栏

AOSP 概览Android 是适用于各种不同规格设备的操作系统。任何人都可以通过 Android 开源项目 (AOSP) 查看 Android 的文档和源代码。您可以使用 AOSP 为自己的设备创建自定义 Android OS 变体。AOSP 的设计可确保不存在一个集中瓶颈,即没有任何行业参与者可一手限制或控制其他参与者的创新。因此,AOSP 是一款功能完善且达到生产质量的开发者产品,其源代码可以开放自定义和移植。

2024-06-10 00:53:31 1304

原创 Android使用kts发布aar到JitPack仓库

Android使用kts上传aar到JitPack之前做过sdk开发,需要将仓库上传到maven、或JCenter,但是JCenter已停止维护,本文是讲解上传到JitPack的方式,使用KTS语法,记录使用过程中遇到的一些坑.

2024-05-03 23:58:41 1467 4

原创 Android13音频录制适配

以上就是今天的内容,录制音频时适配Android13.Android13文件读写细分为三个权限 READ_MEDIA_AUDIO、READ_MEDIA_VIDEO、READ_MEDIA_IMAGES.Android10以上文件创建和生成需要在公共目录,不能随意创建和读写.

2023-12-18 16:46:18 1860

原创 Android解决报错 superclass access check failed: class

以上就是今天的内容,由于gradle版本和Java不匹配导致的项目运行失败,最后经过修改gradle和Java版本后成功运行起来,就是一个小问题,需要排查一下即可解决!!

2023-12-15 11:23:58 7969

原创 Android13适配所有文件管理权限

绝大多数需要共享存储空间访问权限的应用都可以遵循共享媒体文件和共享非媒体文件方面的最佳做法。然而,某些应用的核心用例需要广泛访问设备上的文件,但无法采用注重隐私保护的存储最佳实践高效地访问这些文件。对于这些情况,Android 提供了一种名为“所有文件访问权”的特殊应用访问权限。例如,防病毒应用的主要用例可能需要定期扫描不同目录中的许多文件。如果此扫描需要反复的用户交互,让其使用系统文件选择器选择目录,就会带来糟糕的用户体验。其他用例(如文件管理器应用、备份和恢复应用以及文档管理应用)也需要考虑类似情况。

2023-12-13 10:26:14 7366 2

原创 Android11适配已安装应用列表

【代码】Android11适配已安装应用列表。

2023-12-03 21:08:30 1174

原创 鸿蒙手表开发之使用adb命令安装线上包

由于之前的哥们匆忙离职了,所以鸿蒙手表项目的新版本我临时接过来打包发布,基本上之前没有啥鸿蒙经验,但是一直是做Android开发的,在工作人员的指导下发现打包配置基本上和Android一样,所以这些都不是问题,这里记录一下使用过程中遇到的问题。!过程和遇到的问题基本上都讲解了,关机睡觉,打卡收工。

2023-10-07 21:37:47 3438

原创 华为鸿蒙手表开发之动态生成二维码

最近入职新公司,由于之前的哥们临时离职,走得很突然,所以没有任何交接和文档,临时顶上公司手表应用的上架,更换了新的密钥和key之后重新测试功能和流程,基本上没啥大问题,华为那边的工作人员也测试通过了,但是说隐私政策页面有一点问题,内容有几个错误点,我检查了一下App中的隐私政策发现是本地写死的页面,于是询问华为的工作人员该如何修改,他们给出一个意见,用二维码生成一个页面,用户和测试人员扫码就可以加载对应的页面,而且这个url地址里面的内容是动态的,可以随意修改,不需要App频繁改动,对于后期的审核和上架基本

2023-10-03 17:01:51 1385 4

原创 Android StateFlow初探

StateFlow是一个状态容器式可观察数据流,可以向其收集器发出当前状态更新和新状态更新。还可通过其value属性读取当前状态值。如需更新状态并将其发送到数据流,请为类的value属性分配一个新值。

2023-09-19 22:48:45 511

原创 Android使用Kotlin封装MMKVUtils

MMKV 是基于 mmap 内存映射的 key-value 组件,底层序列化/反序列化使用 protobuf 实现,性能高,稳定性强。从 2015 年中至今在微信上使用,其性能和稳定性经过了时间的验证。近期也已移植到 Android / macOS / Win32 / POSIX 平台,一并开源。

2023-09-08 00:12:45 1497

Null系统资源文件

解决git报错问题Null系统资源文件 fatal: open /dev/null or dup failed: No such file or directory

2018-08-25

ExpandTextView.zip

Android实现仿微信朋友圈,包括自定义点赞评论弹框、自定义显示全文与收起 的TextView、点击外部和滑动列表时隐藏输入框和键盘解决方法、评论时输入框和键盘自动定位到内容下面

2019-10-09

PDFSearch.zip

Android实现手机内PDF文件查找和利用腾讯tbs实现PDF文件预览,适配6.0动态权限和7.0文件共享

2019-10-09

AndroidTIM.zip

腾讯IM及时聊天demo,包括消息、通讯录、我的三大模块,功能包括 登录,创建群 、创建单人回话、创建群回话 、发送消息、接受解析消息 、发送信息、创建讨论组、聊天室等

2020-04-09

TvRecyclerView.zip

Android实现仿小米TV和泰捷视频焦点放大缩小效果,纯手工代码,注释详细,逻辑清晰简单明了,可扩展性高,小伙伴们如有兴趣可以下载下来看看

2020-09-29

SaveImageAndVideo.zip

Android实现保存图片和视频到系统相册,支持Android 9.0,目前测试华为、联想、小米、魅族都可以保存成功

2020-04-21

空空如也

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

TA关注的人

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