- 博客(23)
- 收藏
- 关注
原创 [Android][Compose]Groovy DSL升级Gradle版本
在Android开发领域,Groovy DSL (Domain Specific Language) 主要指的是使用Groovy语言编写的特定领域语言,特别指用于构建配置的Gradle脚本。自从Android Studio 3.0及更高版本以来,Google推荐使用Groovy DSL来编写Android项目的Gradle构建脚本,现在也引入了Kotlin DSL作为替代选项。本文使用Groovy DSL来进行Gradle版本的升级,并且对其进行compose的环境搭建。
2025-03-27 13:20:34
384
原创 [Android][Compose]Compose的UI适配
*** 获取状态栏高度 (dp)*/} else {val defaultStatusBarHeightInDp = 24f // 这个数值可能根据设备和系统版本有所不同。
2025-01-17 15:46:54
1046
1
原创 [Android]实现RecyclerView水平透明度梯度组件
通过实现这个接口,开发者可以添加额外的视觉元素(如分割线、阴影等)到。的各个项目之间或周围,从而增强列表的视觉表现力。是 Android 中。的一个接口,用于自定义。
2024-12-13 16:36:35
172
原创 [Android][kotlin]Flow数据流
Flow 是一个异步数据流,它可以顺序地发出数据,通过流上的一些中间操作得出结果;若出错可抛出异常。这些 “流上的中间操作” 包括但不限于mapfiltertakezip等等方法。这些中间操作是链式的,可以在后面再次添加其他操作方法,并且也不是挂起函数,它们只是构建了一条链式的操作并实时返回结果给后面的操作步骤。流上的终端操作符要么是挂起函数,例如collectsingletoList等等,要么是在给定作用域内开始收集流的launchIn操作符。前半句好理解,后半句啥意思?这就得看一下launchIn。
2024-08-19 11:48:56
1162
原创 [Android]内存管理
onTrimMemoryonTrimMemory是Android系统提供给应用程序的一个回调方法,位于ComponentCallbacks2接口中,主要用于帮助应用程序管理其内存使用。当系统的整体内存情况发生变化时,系统会调用此方法通知应用程序,使得应用程序能够根据当前内存状况采取相应的措施来释放不再需要的内存资源。这对于维护应用程序的稳定性和提升用户体验至关重要,尤其是在内存资源紧张的情况下。onTrimMemory方法接受一个整型参数level,该参数代表了当前内存紧张的程度,不同的level值
2024-07-10 15:50:00
1014
原创 [Android][Compose]ExoPlayer
请求资源结果的类OpResult是密封类,封装了两种处理方式:请求图片资源成功和请求图片资源失败两种子类。} else {else -> {当视频正在播放时候得要把视频第一关键帧的图像隐藏,当视频不播放时候显示出来。
2024-07-10 15:46:31
1022
原创 [Android][Compose]coil视频帧缓存优化
coil的ImageLoader会先将data参数转化成url或者file。我们屏保视频帧通常是从本地来加载视频,所以接收的数据是File。!.....................build()//判断是否是video文件if (!&&!
2024-07-10 15:41:04
345
原创 [Android][Compose]Coil框架
Coil 是一个 Android 图片加载库,通过 Kotlin 协程的方式加载图片。更快: Coil 在性能上有很多优化,包括内存缓存和磁盘缓存,把缩略图存保存在内存中,循环利用 bitmap,自动暂停和取消图片网络请求等。更轻量级: Coil 只有2000个方法(前提是你的 APP 里面集成了 OkHttp 和 Coroutines),Coil 和 Picasso 的方法数差不多,相比 Glide 和 Fresco 要轻量很多。更容易使用。
2024-07-10 15:39:46
869
原创 [Android][Compose]Kotlin Multiplatform Mobile初步使用
KMM 即 Kotlin Multiplatform Mobile是一个SDK,旨在简化跨平台移动应用程序的开发。通过KMM开发者可以在iOS和Android应用程序之间共享通用代码,并仅在必要时编写特定于平台的代码。
2024-04-08 10:36:10
388
原创 [Android] kotlin 协程的个人理解
Kotlin协程是Kotlin语言中的一种非阻塞的、顺序执行的编程构造,可以在不阻塞线程的情况下执行异步任务。它与Java中的线程和JavaScript中的Promise类似,但是更轻量级,并且可以更简单地管理异步操作。Kotlin 协程是一种在Kotlin中处理异步编程和并发任务的强大工具。它们提供了一种轻量级的线程管理方式,允许开发者以同步编程的直观性来写异步代码。
2024-04-07 17:29:52
800
原创 [Android]CameraX
在这个额外的步骤中,应用可以执行额外的处理工作,例如不受限制地缩放和旋转视频。,在这种情况下用于分析图像的总时间低于 CameraX 帧的时长(例如,60fps 用时 16 毫秒),那么上述两种操作模式均可提供顺畅的总体体验。在某些情况下,阻塞模式仍非常有用,例如在处理非常短暂的系统抖动时。可能更为适用,因为在这种情况下,系统必须针对分析路径进行丢帧,但要让其他同时绑定的用例仍能看到所有帧。捕获系统通常会录制视频流和音频流,对其进行压缩,对这两个流进行多路复用,然后将生成的流写入磁盘。
2023-10-10 14:44:48
613
原创 [Android]Vector的简单使用
随着android L的发布,带来了VectorDrawable,矢量图的支持Android studio有几种方式添加矢量图。
2023-10-10 14:29:50
561
原创 [PHP] RSA加解密篇
RSA算法属于非对称加密算法,非对称加密算法需要两个秘钥:公开密钥(publickey)和私有秘钥(privatekey).公开密钥和私有秘钥是一对,如果公开密钥对数据进行加密,只有用对应的私有秘钥才能解密;如果私有秘钥对数据进行加密那么只有用对应的公开密钥才能解密.因为加密解密使用的是两个不同的秘钥,所以这种算法叫做非对称加密算法.简单的说就是公钥加密私钥解密,私钥加密公钥解密。通过读取文件获取RSA公开密钥(publickey)和私有秘钥(privatekey)。
2023-07-04 16:20:23
1301
原创 [Adnroid] RSA加解密篇
如果私有秘钥对数据进行加密那么只有用对应的公开密钥才能解密.因为加密解密使用的是两个不同的秘钥,所以这种算法叫做非对称加密算法.简单的说就是公钥加密私钥解密,私钥加密公钥解密。来获取RSA的公钥与私钥,1024长度的密钥最大解密密文大小为128,最大加密密文大小为127。2048长度的密钥最大解密密文大小为256,最大加密密文大小为255。本文使用2048长度的key,密文过大是会使用分段加解密。2048长度的密钥最大解密密文大小为256,最大加密密文大小为255(本文使用2048长度的key)。
2023-07-04 16:05:09
1584
原创 [Android][Fragment]初识Fragment
3、开启一个事务transaction,一般调用fragmentManager里的beginTransaction(4、一个Fragment可以放在多个Activity中,一个Activity中也可以放置多个Fragments。1、Fragment具有生命周期,而且受到它所在的宿主Activity的生命周期的影响。4、使用transaction进行fragment的替换。2、Fragment必须委托在activity中运行。3、Fragments可以接收它自己的事件。1、创建一个待处理的fragment。
2022-11-28 11:13:12
463
原创 java栈和堆
Java中堆与栈的区别有:栈内存存储的是局部变量而堆内存是实体,栈内存的更新速度高于堆内存,栈内存的生命周期一结束就会被释放而堆内存会被垃圾回收机制不定时回收
2022-11-10 14:36:19
353
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人