自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Pb文件过大,导致打不开

后来上网查了一下,发现是IDEA对能关联的文件大小做了限制,主要是为了保护内存,默认值为2500kb或者5000kb,对于一般的java文件也够用了,只是这里我用protocbuf生成的java文件过大,所以要对它这个默认的值进行修改。这使得我的代码其他地方无法对它进行调用,所以程序一运行,调用到它的地方就会报错,(因为我的这个代码是用protobuffer协议自动生成的java文件,比较大,大概有5M多)。最近在做一个项目的时候,出现了一个很奇怪的问题,我的java文件前面出现了一个奇怪的蓝色j,

2026-01-26 14:24:23 8

原创 android切换语言

首先需要在在中通过添加来声明你的应用支持RTL。👉它,也。1️⃣ 没有会发生什么?或默认没写(默认就是false写了会发生什么?

2025-12-30 11:02:31 235

原创 isAutoMirrored的使用

有些人这样使用发现没有用其实autoMirrored是给drawble使用的,不是给ImageView使用的,ImageView中都没有autoMirrored方法,所以要想使图片镜像。两种方式:2.自定义imagview,代码设置autoMirrored

2025-11-25 16:30:56 217

原创 Okhttp的抛出异常

【代码】Okhttp的抛出异常。

2025-11-18 10:57:19 223

原创 git的submodule

不知道sourceTree是怎么操作的,之后用git。直接拉主项目是拉不了submodule的东西的。

2025-07-28 14:19:23 293

原创 WebSocket请求

协议:http://https://ws://wss://ftp://file://✅ 一、引入依赖✅ 二、定义 WebSocket 监听器✅ 三、创建并连接 WebSocket。

2025-07-24 19:33:59 502

原创 android 的软件盘

这三个方法都是提供的,用于控制 Android 的软键盘(输入法)。

2025-07-11 10:48:40 392

原创 协程-----如何挂起协程

✅ 常用挂起方式✅ 方式 1:调用已有的suspend函数(最常用)✅ 方式 2:自定义挂起点 —

2025-07-04 16:09:48 274

原创 什么情况会导致栈溢出

因为从子线程切到主线程其实是相当于发送了一个message到主线程的消息池了,如果子线程无限制地调用一个主线程中耗时 1 秒的方法,会导致主线程消息队列严重阻塞、调用栈堆积,最终引发。加入一个连接一个socket,这个socket不停的收到消息,但是主线程的处理速度很慢会在成栈溢出吗?本质原因是主线程被同步阻塞,无法及时消费消息队列中的任务。这种情况才是真正的栈溢出。每次递归调用一个方法,它在。,栈帧就一个个堆上去,超过线程最大栈空间就。❌ 用递归、同步调用搞主线程“死循环”那什么情况会导致栈溢出呢?

2025-07-04 15:45:14 172

原创 list - <kotlin>

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

2025-05-29 16:04:25 476

原创 flow的操作符号

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

2025-05-21 10:48:19 306

原创 @ColorRes和@ColorInt什么区别

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

2025-05-20 20:15:10 328

原创 Kotlin一些迷惑的语法

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

2025-05-20 13:57:04 505

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

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

2025-05-12 09:42:08 376

原创 shareFlow和StateFlow

指定当 buffer 满时,

2025-05-09 09:46:37 423

原创 Flow原理

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

2025-04-28 23:28:35 690

原创 对象的初始化

Java:kotlin:

2025-04-21 10:36:04 170

原创 Retrofit的使用步骤

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

2025-04-01 15:49:35 386

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

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

2025-03-25 10:39:21 120

原创 绘制流程图软件

draw.io免费的

2025-03-21 20:16:17 138

原创 Android studio无法查看源码

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

2025-03-20 13:55:46 459

原创 koltin在android 开发

kotlin

2025-03-12 22:06:51 649

原创 Context的解析

context

2025-03-10 13:40:45 352

原创 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 919

原创 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 339

原创 android 网络安全配置

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

2025-02-14 18:11:42 1464

原创 android 的抓包工具

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

2025-02-14 10:21:49 692

原创 android的gradle

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

2025-01-26 16:59:19 722

原创 Android的签名

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

2025-01-26 16:27:36 384

原创 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 2479

原创 android studio生成jsk

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

2025-01-24 11:10:45 1163

原创 快速点位页面

adb shell dumpsys activity your.package.name

2025-01-22 16:05:45 144

原创 BuildConfig

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

2025-01-22 15:05:55 414

原创 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 1889

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

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

2025-01-21 19:12:53 2582

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

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

2024-07-05 17:59:59 349

原创 Dialog的知识点

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

2024-07-04 16:02:11 444

原创 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 580

原创 HarmonyOS-9(stage模式)

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

2024-05-29 17:39:31 607

原创 HarmonyOS-5(style样式)

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

2024-04-17 16:54:50 311

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关注的人

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