自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(134)
  • 资源 (5)
  • 收藏
  • 关注

原创 list遍历

和这是“可变迭代器”,用于列表(如添加/删除元素)

2025-05-29 16:04:25 324

原创 flow的操作符号

方法去除重复方式场景举例过滤连续相同的值基础类型、data class根据字段值过滤对象只按id去重(自定义)全局唯一去重不管是否连续,都过滤重复distinctUntilChanged是提供新值和旧值给你自己比较的问:flow是一个冷流,也没有存储,他怎么判断这个发送的值是否和上次的相同。

2025-05-21 10:48:19 158

原创 @ColorRes和@ColorInt什么区别

ColorRes和@ColorInt都是,用于标记你传递的参数到底是什么类型的“颜色”信息——。

2025-05-20 20:15:10 215

原创 Kotlin一些迷惑的语法

和如何写法是一样的,因为编译成java的时候,参数中是带有当前的对象的。疑惑点:为什么传入的方法是无参数的,但是为什么调用的时候传入值?

2025-05-20 13:57:04 371

原创 kotlin-协程(什么是一个协程)

可以也行,但不是全部,job只是管理了协程流程相关的功能,比如开启结束等,但是像协程的名字等是没有的。CoroutineScope是信息最多的,包含可以获取协程的调度器,job等,以及调用launch 和 async去启动一个新的协程,而。job.join() //当前的协程阻塞,等待job的协程结束后,再执行当前协程的代码。// ,的时候得使用job.start方法才会启动协程,才会调用block的代码。job.children //子协程的job对象。job.parent //父协程的job对象。

2025-05-12 09:42:08 318

原创 shareFlow和StateFlow

指定当 buffer 满时,

2025-05-09 09:46:37 217

原创 Flow原理

因为我们是使用flow方法返回的SafeFlow对象去调用的,所以我们看下SafeFlow的collect方法。SafeFlow是继承AbstractFlow的类,所以我们看这个类就行。接下来我们分析下collect方法。可以看见是一个方法,返回的是一个SafeFlow对象,然后把我们传入。再接着查看collectSafely方法,发现调用到了我们传入的闭包。SafeFlow的collectSafely方法才行。我们先看创建flow的方法。然后,这个对象提供一个方法。的传入到了这个对象中。

2025-04-28 23:28:35 604

原创 对象的初始化

Java:kotlin:

2025-04-21 10:36:04 125

原创 Retrofit的使用步骤

7. 配置 OkHttp 拦截器(可选),设置拦截器是通过设置自定义的。4. 创建 Retrofit 实例。5. 创建 API Service。如果需要日志输出,可以添加。3. 定义 API 接口。

2025-04-01 15:49:35 224

原创 kotin-<常用的一些函数>

runCatching 使用来替换java 的try catch的。

2025-03-25 10:39:21 80

原创 绘制流程图软件

draw.io免费的

2025-03-21 20:16:17 90

原创 Android studio无法查看源码

想要查看 sdk的源码的时候,发现没有办法查看,发现的是一个 class文件,而不是java文件。1、检查对应版本SDK API Sources是否下载。如果没有下载,下载下就可以。

2025-03-20 13:55:46 353

原创 koltin在android 开发

kotlin

2025-03-12 22:06:51 467

原创 Context的解析

context

2025-03-10 13:40:45 324

原创 android 快速定位当前页面

(3)查看当前栈顶的Activity的Fragment :adb shell dumpsys activity your.package.name。查看当前栈顶的Activity :adb shell dumpsys activity |查看帮助:adb shell dumpsys activity -h。

2025-02-21 16:51:26 760

原创 Gradle JDK 和项目JDK的区别

有什么区别呢?当你在build.gradle文件中设置sourceCompatibility和targetCompatibility为JavaVersion.VERSION_1_8时,你告诉编译器,你的Java源代码是按照Java 8的语法和特性来编写的,并且你希望编译出来的字节码是与Java 8兼容的。这就意味着你的应用可以在运行Java 8或更高版本的JVM上运行。

2025-02-17 14:51:57 217

原创 android 网络安全配置

允许明文流量:即允许通过 HTTP 协议进行网络通信(不加密)。信任的证书源:信任 Android 系统自带的证书以及用户自己安装的证书。

2025-02-14 18:11:42 980

原创 android 的抓包工具

https://www.charlesproxy.com/latest-release/download.do charles

2025-02-14 10:21:49 568

原创 android的gradle

的一部分,它们的作用是让项目可以使用 Gradle 而无需提前在系统中安装 Gradle。这里有个gradlew很有用,因为这个可以在窗口中运行gradlew脚本。./gradlew -v ---查看当前的gradle版本信息。

2025-01-26 16:59:19 619

原创 Android的签名

是指通过哈希函数对任意长度的数据(二进制数据源)进行处理后生成的固定长度的输出值(哈希值)。消息摘要的主要目的是确保数据的完整性,即用来验证数据在传输或存储过程中是否被篡改。.JKS 是 Java KeyStore 的缩写,是 Java 平台下的一种密钥存储格式,里面存有公钥和私钥。还有android的打包流程。

2025-01-26 16:27:36 282

原创 android 的aab包

AAB (Android App Bundle) 是 Google 推出的新一代 Android 应用发布格式,用于取代传统的 APK 格式。AAB 的全称是 Android App Bundle,扩展名为 ,它并不是直接可以安装的文件,而是用于上传到 Google Play 的发布包。1. AAB 的核心特性动态交付 (Dynamic Delivery):更小的下载包:3. AAB 的工作原理当你上传 文件到 Google Play 后,Google Play 会对其进行处理:分拆资源和代码:动态生成适

2025-01-26 11:14:36 1780

原创 android studio生成jsk

文件(Java KeyStore)是 Android 开发中用于签名 APK 的密钥库文件。它包含用于签名的私钥和公钥,并保护其不被未授权使用。如何查看jks的信息呢?窗口中输入命令,前提是配置好java的环境变量。keytool -list -v -keystore 你的jks路径。红色的名字是自己写的,记得加后缀,标识的都是必须项。或者Android studio生成。keytool是jdk的工具。

2025-01-24 11:10:45 871

原创 快速点位页面

adb shell dumpsys activity your.package.name

2025-01-22 16:05:45 115

原创 BuildConfig

Gradle 插件 7.0.0 开始,出于性能优化的考虑,默认情况下不再自动生成 BuildConfig 类。这是为了加快构建速度,特别是在大型项目中。所以如果我们需要主动生成。编译完buildConfig就会生成对应的信息。类,有几种方法可以重新启用它。如果需要配置一些信息。

2025-01-22 15:05:55 266

原创 The maximum compatible Gradle JVM version is 17.

这句话 “The maximum compatible Gradle JVM version is 17” 表明在你的项目构建环境中,Gradle 所能兼容的最高 Java 虚拟机(JVM)版本是 17。Gradle 本身是用 Java 和 Kotlin 编写的构建工具,它运行在 JVM 上。编写构建脚本,Gradle 都需要一个 JVM 来解析和执行这些脚本。(传统的 Gradle 构建脚本语言)还是。gradle的编译为什么会用到java呢?这个时候修改下本地的jdk版本就行。

2025-01-22 10:41:40 1109

原创 You need to use a Theme.AppCompat theme (or descendant) with this activity.

说明你的 Activity 正在使用需要支持库主题(如。)的组件,但你没有为它指定基于。

2025-01-21 19:12:53 1468

原创 getResources().getDimension引起的问题

getDimension()会自动把数值解析成xp单位,因为view的宽高本来接受的就是xp,所以不会变化,但是 setTextSize接受的单位默认是sp。相当于getDimension()把sp转成xp,会放大,setTextSize又会将转换后的值变成xp,又放大了。想着应该没问题吧,结果动态代设置的字体比xml中设置的大很多,而宽高确没变化。

2024-07-05 17:59:59 286

原创 Dialog的知识点

Dialog仅在在第一次启动时候会执行onCreate()方法(之后无论该Dialog执行Dismiss(),cancel(),stop(),Dialog都不会再执行onCreate()方法)。原文链接:https://blog.youkuaiyun.com/qizewei123/article/details/78232752。cancel() 是在点击BACK按钮或者Dialog外部时触发,然后依次执行onDismiss() 和 stop()。再次点击显示按钮,然后执行Dialog.dismiss() 方法。

2024-07-04 16:02:11 318

原创 android的surface

Surface 是Android系统中真正的画布,Activity上的所有UI都是在Surface 上完成绘制的,每一个Surface 对象都在SurfaceFlinger中有对应的图层(Layer),SurfaceFlinger 负责把这些Layer按需混合处理后输出到Frame Buffer中,再由Display设备(屏幕或显示器)把Frame Buffer里的数据呈现到屏幕上。在ViewRootImpl调用view的draw方法之前创建的。canvas怎么来的,canvas是由surface创建的。

2024-06-19 18:32:32 521

原创 HarmonyOS-9(stage模式)

【代码】HarmonyOS-9(stage模式)

2024-05-29 17:39:31 540

原创 HarmonyOS-5(style样式)

假如你要用textview的一些特有属性得用,这个有一个区别就是 @Extend装饰器只能用于全局的方法,不能用于组件内方法。但是style装饰器封装的属性只能是公共的属性。

2024-04-17 16:54:50 281

原创 Scrollview的 一些简单介绍

与ScrollView相比,NestedScrollView的主要区别是增加了对嵌套滚动的支持。insideOverlay Overlay(覆盖的意思)在Scrollview内容的最右边, 不会改变改变padding的大小,浮在Scrollview内容view的上面,会遮挡内容view -这是Scrollview的默认的。insideInset 将滚动条插入到Scrollview内容的view的后面,会增大Scrollview的padding值的大小,但是会压缩Scrollview内容view的大小。

2024-02-21 10:38:31 1096

原创 待处理的研究内容

requestLayout会重新测量布局,走了ViewRoot的一系列方法,也会走。invalidate方法不会,因为不会走检测线程的方法。ViewRootImp的requestLayout()android之所以不能在子线程中更新Ui是因为。android是不是可以在子线程中更新UI。android的openGL 的学习。

2024-02-18 11:10:10 585

原创 android最全的动画讲解

android的动画一共分为三种,view动画,帧动画,属性动画。

2023-08-04 17:35:08 6906 1

原创 Dialog被软键盘遮挡

有时候我们需要在dialog中有EditText,假如手机是横屏的话,软键盘可能会全屏显示,遮挡了整个界面,这个时候无论是设置。onEvaluateFullscreenMode()返回值会false即可。其实Editext为我们提供了解决方法的。

2023-08-02 16:27:31 938

原创 安卓packageinfo的知识点

PackageInfo类包含AndroidManifest.

2023-06-08 16:23:47 3621

原创 LiveData不走回调

新项目使用的LiveData这个框架,有一天发现LiveData注册的监听回调,永远只走一次,后面的都不走了,这个很奇怪。最后发现是try catch引起的。所以现在问题就很明确了,就是因为调用方法的 时候奔溃了,导致直接走了catch,后面的代码没有执行完,从而导致。debug后发现只要第一次奔溃后,后面永远都不会走这个回调。如下方法中标记所示,只有在整个方法执行完才会置为false。我们查看LiveData中分发事件的方法。并且debug在如下标记的位置,发现。我的代码大概如下所示:方法中使用了。

2023-03-22 16:53:22 1492

原创 基于新版本Gradle上传jitpack开源项目

上传andoroid仓库到云端

2022-11-01 15:10:04 1395

原创 Android监听应用切换到后台和前台

监听app的状态

2022-08-15 16:30:35 2488

原创 Gradle和Android Gradle Plugin

gradle

2022-07-01 10:03:18 86

android 的宽高限定符适配

android 的宽高限定符适配

2022-10-18

FileUtil.java

这是一个文件管理的工具类

2021-02-24

SlideRecyclerView.java

一个完美的侧滑显示删除按钮的recycleView

2021-02-02

DBMigrationHelper.java

可以自动解决数据库升级保留数据的一些操作,方便开发

2019-05-15

查看SQLite数据库文件方法.zip

解决在android开发中不能很好的查看数据库的问题,让可视化话的面对程序员。

2019-05-15

java设计模式.zip

该资源为java的设计模式的一本书,讲解的非常仔细和清楚。

2019-05-09

空空如也

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

TA关注的人

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