- 博客(181)
- 资源 (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 17519 7
原创 Android在kts中使用navigation及Args
之前在项目中使用过navigation,但都是以Groory的方式,最近一年多使用kts后忍不住把项目都改成kts的方式,不过其中也遇到不少坑,今天就讲解一下如何在kts中使用navigation和安全地传递参数Args。
2024-10-24 23:36:50 609
原创 Android使用协程实现自定义Toast弹框
最近有个消息提示需要显示10s,刚开始使用协程写了一个shoowToast方法,传入消息内容、显示时间和toast显示类型即可,以为能满足需求,结果测试说只有5s,查看日志和源码发现Android系统中Toast显示有2种类型Toast.LENGTH_SHORT`和`Toast.LENGTH_LONG,分别代表Toast消息显示的时间为短暂(大约2秒)和长时间(大约3.5秒).
2024-10-21 23:53:36 237
原创 Android使用Flow封装一个FlowBus工具类
做过Android的同学应该都使用过EvenutBus、Rxbus、LiveDataBus、LiveData等,这些第三方不仅要导入依赖包,而且还要注册和取消注册,使用起来非常麻烦,稍不注意就导致内存泄漏,自从接触了Flow、SharedFlow之后感觉使用起来方便多了,于是产生了一个封装通用事件工具类的想法,直接上代码.
2024-09-23 01:21:11 783
原创 Android AOSP定制默认输入法为讯飞输入法
当然这里还有一个小问题,就是用户首次打开输入法的时候会有一个隐私协议的授权弹框,既然是定制系统,这块其实也可以考虑,我们是采用首次打开app的时候调起输入法利用无障碍服务自动点击同意或者拒绝隐私协议的方式解决这个体验问题,方式有很多,这里就不详细讲解了,大家可以自己尝试解决.基本上是一个很完整的定制过程,感兴趣的小伙伴可以自行尝试,实战才是检验一切的最好老师.比如apk定制好之后能不能正常使用?如何把讯飞输入法定制为默认输入法?而不是需要用户主动去切换选择?怎么默认授权文件读写、录音等权限?
2024-09-01 17:35:08 1161
原创 Android AOSP定制禁用某些app的通知
可以看到上面的图片已经去掉了GMS默认的通知,重启模拟器和手机,打开gms通知栏都没有提示了,这样优化了体验,不让用户一直在看到一个警告提示.
2024-07-28 04:42:41 509
原创 Android AOSP定制去掉Google搜索栏
AOSP 概览Android 是适用于各种不同规格设备的操作系统。任何人都可以通过 Android 开源项目 (AOSP) 查看 Android 的文档和源代码。您可以使用 AOSP 为自己的设备创建自定义 Android OS 变体。AOSP 的设计可确保不存在一个集中瓶颈,即没有任何行业参与者可一手限制或控制其他参与者的创新。因此,AOSP 是一款功能完善且达到生产质量的开发者产品,其源代码可以开放自定义和移植。
2024-06-10 00:53:31 1047
原创 Android使用kts发布aar到JitPack仓库
Android使用kts上传aar到JitPack之前做过sdk开发,需要将仓库上传到maven、或JCenter,但是JCenter已停止维护,本文是讲解上传到JitPack的方式,使用KTS语法,记录使用过程中遇到的一些坑.
2024-05-03 23:58:41 1096 4
原创 Android13音频录制适配
以上就是今天的内容,录制音频时适配Android13.Android13文件读写细分为三个权限 READ_MEDIA_AUDIO、READ_MEDIA_VIDEO、READ_MEDIA_IMAGES.Android10以上文件创建和生成需要在公共目录,不能随意创建和读写.
2023-12-18 16:46:18 1406
原创 Android解决报错 superclass access check failed: class
以上就是今天的内容,由于gradle版本和Java不匹配导致的项目运行失败,最后经过修改gradle和Java版本后成功运行起来,就是一个小问题,需要排查一下即可解决!!
2023-12-15 11:23:58 4120
原创 Android13适配所有文件管理权限
绝大多数需要共享存储空间访问权限的应用都可以遵循共享媒体文件和共享非媒体文件方面的最佳做法。然而,某些应用的核心用例需要广泛访问设备上的文件,但无法采用注重隐私保护的存储最佳实践高效地访问这些文件。对于这些情况,Android 提供了一种名为“所有文件访问权”的特殊应用访问权限。例如,防病毒应用的主要用例可能需要定期扫描不同目录中的许多文件。如果此扫描需要反复的用户交互,让其使用系统文件选择器选择目录,就会带来糟糕的用户体验。其他用例(如文件管理器应用、备份和恢复应用以及文档管理应用)也需要考虑类似情况。
2023-12-13 10:26:14 6205
原创 鸿蒙手表开发之使用adb命令安装线上包
由于之前的哥们匆忙离职了,所以鸿蒙手表项目的新版本我临时接过来打包发布,基本上之前没有啥鸿蒙经验,但是一直是做Android开发的,在工作人员的指导下发现打包配置基本上和Android一样,所以这些都不是问题,这里记录一下使用过程中遇到的问题。!过程和遇到的问题基本上都讲解了,关机睡觉,打卡收工。
2023-10-07 21:37:47 3019
原创 华为鸿蒙手表开发之动态生成二维码
最近入职新公司,由于之前的哥们临时离职,走得很突然,所以没有任何交接和文档,临时顶上公司手表应用的上架,更换了新的密钥和key之后重新测试功能和流程,基本上没啥大问题,华为那边的工作人员也测试通过了,但是说隐私政策页面有一点问题,内容有几个错误点,我检查了一下App中的隐私政策发现是本地写死的页面,于是询问华为的工作人员该如何修改,他们给出一个意见,用二维码生成一个页面,用户和测试人员扫码就可以加载对应的页面,而且这个url地址里面的内容是动态的,可以随意修改,不需要App频繁改动,对于后期的审核和上架基本
2023-10-03 17:01:51 1161 4
原创 Android StateFlow初探
StateFlow是一个状态容器式可观察数据流,可以向其收集器发出当前状态更新和新状态更新。还可通过其value属性读取当前状态值。如需更新状态并将其发送到数据流,请为类的value属性分配一个新值。
2023-09-19 22:48:45 426
原创 Android使用Kotlin封装MMKVUtils
MMKV 是基于 mmap 内存映射的 key-value 组件,底层序列化/反序列化使用 protobuf 实现,性能高,稳定性强。从 2015 年中至今在微信上使用,其性能和稳定性经过了时间的验证。近期也已移植到 Android / macOS / Win32 / POSIX 平台,一并开源。
2023-09-08 00:12:45 1178
原创 Android AGP8.1.0组件化初探
其实本文的目的不是在于如何使用,ARouter这个很简单,相信做过组件化的同学都会,只是需要遇到问题时学会分析和调试,要不然盲目猜测是不会有结果的。开发这条路任重而道远,希望大家都能上下求索,享受这个求索的过程,痛并快乐着,也很重要,新技术出来可以尝试,也可以根据自己需要调整,不一样说非得更新用这个新技术,只要能解决问题,咋好用咋来。
2023-08-30 12:07:31 997
原创 AndroidAGP8.1.0和JDK 17迁移之旅
随着 Android Studio Flamingo 正式版的发布,AGP 8(Android Gradle Plugin 8)也正式进入咱们的视野,这次 AGP 8 相关更新归于「断代式」更新,同时假如想体验 AGP 8,就需求晋级到 Android Studio Flamingo 版别,而晋级到 Flamingo 的话,默许自带的Java版别就会变成 JDK 17所以,这便是你需求适配 AGP8 的首要原因之一。升级jdk版本到JDK17和AGP版本到8.1.0。
2023-08-20 16:27:45 1196
原创 Android CameraX适配Android13的踩坑之路
与早期版本一样,Android 13 包含一些行为变更,这些变更可能会影响您的应用。以下行为变更仅影响以 Android 13 或更高版本为目标平台的应用。如果您的应用以 Android 13 或更高版本为目标平台,您应该修改自己的应用以适当地支持这些行为(如果适用)。
2023-08-16 23:43:59 1608 4
原创 Android中Matrix的简单使用
**Matrix** 是一款微信研发并日常使用的应用性能接入框架,支持iOS, macOS和Android。
2023-08-11 20:20:27 2845
原创 Android中简单封装Livedata工具类
之前讲解过livedata和viewmodel的简单使用,也封装过room工具类,本文是对livedata的简单封装和使用,先是封装了一个简单的工具类,然后实现了一个倒计时工具类的封装.
2023-08-07 00:13:52 636
原创 AndroidTV开发14优雅地实现超长大图加载
显示巨大的图像或长图,大图可以加载到内存中在放大时显示高分辨率细节目前测试过最多加载20,000x20,000像素的图片,但较大的图像加载速度较慢SubsamplingScaleImageView是一个适用于 Android 的自定义图像视图,专为照片库设计并显示没有 OutOfMemoryErrors 的大图像(例如地图和建筑计划)。包括手指缩放、平移、旋转和动画支持,并允许轻松扩展,以便您可以添加自己的覆盖和触摸事件检测。
2023-06-28 00:42:47 1026 4
原创 Android解决xutils数据库kotlin添加List数组问题
从数据库增、删、改、查到数据库添加新数据类型,自定义数据转换器等等,可以说很全面了,基本上涵盖了大部分用法,里面还有根据id和用户名称查询方法,只不过我不想测试了,项目中基本上所有的方法都使用了,遇到问题不要慌,仔细排查,找到原因后努力解决就是了.道险且长,仍需努力,不畏艰难,勇往直前,码完收工,关机睡觉.
2023-05-27 23:28:13 1385 1
原创 Android中使用kotlin对xutils数据库进行版本升级
本文全程采用koltin语法,因为最近项目基本上都是kotlin,数据库升级很简单,大家可以随便添加一个字段进行升级尝试.
2023-05-27 17:03:40 795
原创 小伙快把你的Android从Groovy迁移到DSL
Kotlin 脚本 (KTS) 比 Groovy 更适合用于编写 Gradle 脚本,因为采用 Kotlin 编写的代码可读性更高,并且 Kotlin 提供了更好的编译时检查和 IDE 支持。Android Gradle 插件 4.0 支持在 Gradle build 配置中使用 KTS。在讨论从 Groovy 迁移时,术语“KTS”和“Kotlin DSL”可以互换使用。换句话说,“将 Android 项目从 Groovy 转换为 KTS”与“将 Android 项目从 Groovy 转换为 Kotlin
2023-05-07 21:04:09 640 1
原创 JetpackCompose从入门到实战学习笔记14——Coli的简单使用
Coil 是一个 Android官方出的配合Jetpack的图片加载库,通过 Kotlin 协程的方式加载图片。
2023-04-25 22:43:23 1926
原创 AndroidNDK开发——使用Cmake编译生成so文件
可以看到项目demo成功运行,期前也遇到不少问题,so的加载和调用,jni初始化,数据传递等等,如果有兴趣的同学可以自己去试试,学到手的东西才是自己的。本文是以串口通信的so为例,所以里面的头文件及数据调用的方法都是在加载串口数据,不过我为了测试所以暂时只写了一个简单的,因为测试串口需要设备和串口通信助手,这里先不讲,后面有空会逐一讲解串口通信流程和实战demo.
2023-04-16 23:04:38 3603
原创 Android中解决Json字符串或Json数组的转义问题
虽然说转义对接口可能影响不是很大,但是终究是个问题,还是要找到问题,想办法解决,不能把问题扔给别人,这样不少一个好习惯,但是终归是解决了,准备休息关机睡觉。。。
2023-04-15 23:49:49 1628
原创 JetpackCompose从入门到实战学习笔记13——Compose中实现简单瀑布流
LazyGrid包含两种控件:LazyVerticalStaggeredGrid和LazyHorizontalStaggeredGrid。两者内部均由LazyLayout实现(包括LazyColumn和LazyRow也是由LazyLayout实现的)。
2023-04-08 22:24:40 968
原创 JetpackCompose从入门到实战学习笔记12—在Compose中简单使用动画
Jetpack Compose 提供了一些功能强大且可扩展的 API,可用于在应用界面中轻松实现各种动画效果。本文档将介绍如何使用这些 API,以及根据您的动画场景应使用哪种 API。
2023-04-05 18:31:48 785
原创 JetpackCompose从入门到实战学习笔记11——在compose中使用DropdownMenu
下拉列表菜单,菜单具有一个,它是生成菜单的元素。例如一个图标,点击该图标可以触发菜单。DropdownMenu的内容可以是DropdownMenuItems,也可以是自定义内容。
2023-04-01 23:35:44 760
原创 JetpackCompose从入门到实战学习笔记10——Lottie在compose中的简单使用
Lottie动画现在已经是很多应用中必备的动画,而Jetpack-Compose也是谷歌推出的代码式编写UI的新框架,一旦它们遇到一起了,又会产生怎样的碰撞呢?又会产生怎样的火花呢?
2023-03-27 12:10:38 421
原创 JetpackCompose从入门到实战学习笔记9—Scaffold脚手架的简单使用
JetpackCompose从入门到实战学习笔记9—Scaffold的简单使用。
2023-03-01 18:58:43 589
原创 Android音视频开发之音频录制和播放
2.音频录制方法:3.播放音频方法:4.播放pcm流边录边播:5.播放所有音频方法:6.设置是否录音方法:7.暂停播放音频方法:8.回收资源和播放器方法:9.音频播放、文件读写权限申请:10.调用开始录音:11.调用播放音频:12.调用停止录音:13.设置录音、播放、停止按钮状态:14.布局文件代码如下:15.布局预览效果如下:17.项目源码地址如下:https://gitee.com/jackning_admin/audio-record-demo
2023-02-28 23:12:15 1625
原创 JetpackCompose从入门到实战学习笔记8—ConstraintLayout的简单使用
Compose 中的 ConstraintLayout是一种布局,让您可以相对于屏幕上的其他可组合项来放置可组合项。它是一种实用的替代方案,可代替使用多个已嵌套的RowColumnBox和这种做法。在实现对齐要求比较复杂的较大布局时,很有用。在以下情况下,考虑使用ColumnRow在 View 系统中,建议使用来创建复杂的大型布局,因为扁平视图层次结构比嵌套视图的效果更好。不过,这在 Compose 中不是什么问题,因为 Compose 能够高效地处理较深的布局层次结构。
2023-02-11 22:04:42 1067
原创 JetpackCompose从入门到实战学习笔记7—Dialog的简单使用
AlertDialog组件是Dialog组件的更高级别的封装,同时遵循着Material Design 设计标准。它已经帮我们定位好了标题、内容文本、按钮组的位置。
2023-02-09 11:40:49 995
TvRecyclerView.zip
2020-09-29
AndroidTIM.zip
2020-04-09
ExpandTextView.zip
2019-10-09
Null系统资源文件
2018-08-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人