- 博客(126)
- 资源 (5)
- 收藏
- 关注
原创 Retrofit的使用步骤
7. 配置 OkHttp 拦截器(可选),设置拦截器是通过设置自定义的。4. 创建 Retrofit 实例。5. 创建 API Service。如果需要日志输出,可以添加。3. 定义 API 接口。
2025-04-01 15:49:35
161
原创 Android studio无法查看源码
想要查看 sdk的源码的时候,发现没有办法查看,发现的是一个 class文件,而不是java文件。1、检查对应版本SDK API Sources是否下载。如果没有下载,下载下就可以。
2025-03-20 13:55:46
274
原创 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
680
原创 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
166
原创 android 网络安全配置
允许明文流量:即允许通过 HTTP 协议进行网络通信(不加密)。信任的证书源:信任 Android 系统自带的证书以及用户自己安装的证书。
2025-02-14 18:11:42
748
原创 android 的抓包工具
https://www.charlesproxy.com/latest-release/download.do charles
2025-02-14 10:21:49
545
原创 android的gradle
的一部分,它们的作用是让项目可以使用 Gradle 而无需提前在系统中安装 Gradle。这里有个gradlew很有用,因为这个可以在窗口中运行gradlew脚本。./gradlew -v ---查看当前的gradle版本信息。
2025-01-26 16:59:19
591
原创 Android的签名
是指通过哈希函数对任意长度的数据(二进制数据源)进行处理后生成的固定长度的输出值(哈希值)。消息摘要的主要目的是确保数据的完整性,即用来验证数据在传输或存储过程中是否被篡改。.JKS 是 Java KeyStore 的缩写,是 Java 平台下的一种密钥存储格式,里面存有公钥和私钥。还有android的打包流程。
2025-01-26 16:27:36
262
原创 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
1383
原创 android studio生成jsk
文件(Java KeyStore)是 Android 开发中用于签名 APK 的密钥库文件。它包含用于签名的私钥和公钥,并保护其不被未授权使用。如何查看jks的信息呢?窗口中输入命令,前提是配置好java的环境变量。keytool -list -v -keystore 你的jks路径。红色的名字是自己写的,记得加后缀,标识的都是必须项。或者Android studio生成。keytool是jdk的工具。
2025-01-24 11:10:45
730
原创 BuildConfig
Gradle 插件 7.0.0 开始,出于性能优化的考虑,默认情况下不再自动生成 BuildConfig 类。这是为了加快构建速度,特别是在大型项目中。所以如果我们需要主动生成。编译完buildConfig就会生成对应的信息。类,有几种方法可以重新启用它。如果需要配置一些信息。
2025-01-22 15:05:55
212
原创 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
821
原创 You need to use a Theme.AppCompat theme (or descendant) with this activity.
说明你的 Activity 正在使用需要支持库主题(如。)的组件,但你没有为它指定基于。
2025-01-21 19:12:53
1024
原创 getResources().getDimension引起的问题
getDimension()会自动把数值解析成xp单位,因为view的宽高本来接受的就是xp,所以不会变化,但是 setTextSize接受的单位默认是sp。相当于getDimension()把sp转成xp,会放大,setTextSize又会将转换后的值变成xp,又放大了。想着应该没问题吧,结果动态代设置的字体比xml中设置的大很多,而宽高确没变化。
2024-07-05 17:59:59
259
原创 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
262
原创 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
501
原创 HarmonyOS-5(style样式)
假如你要用textview的一些特有属性得用,这个有一个区别就是 @Extend装饰器只能用于全局的方法,不能用于组件内方法。但是style装饰器封装的属性只能是公共的属性。
2024-04-17 16:54:50
271
原创 Scrollview的 一些简单介绍
与ScrollView相比,NestedScrollView的主要区别是增加了对嵌套滚动的支持。insideOverlay Overlay(覆盖的意思)在Scrollview内容的最右边, 不会改变改变padding的大小,浮在Scrollview内容view的上面,会遮挡内容view -这是Scrollview的默认的。insideInset 将滚动条插入到Scrollview内容的view的后面,会增大Scrollview的padding值的大小,但是会压缩Scrollview内容view的大小。
2024-02-21 10:38:31
1079
原创 待处理的研究内容
requestLayout会重新测量布局,走了ViewRoot的一系列方法,也会走。invalidate方法不会,因为不会走检测线程的方法。ViewRootImp的requestLayout()android之所以不能在子线程中更新Ui是因为。android是不是可以在子线程中更新UI。android的openGL 的学习。
2024-02-18 11:10:10
577
原创 Dialog被软键盘遮挡
有时候我们需要在dialog中有EditText,假如手机是横屏的话,软键盘可能会全屏显示,遮挡了整个界面,这个时候无论是设置。onEvaluateFullscreenMode()返回值会false即可。其实Editext为我们提供了解决方法的。
2023-08-02 16:27:31
890
原创 LiveData不走回调
新项目使用的LiveData这个框架,有一天发现LiveData注册的监听回调,永远只走一次,后面的都不走了,这个很奇怪。最后发现是try catch引起的。所以现在问题就很明确了,就是因为调用方法的 时候奔溃了,导致直接走了catch,后面的代码没有执行完,从而导致。debug后发现只要第一次奔溃后,后面永远都不会走这个回调。如下方法中标记所示,只有在整个方法执行完才会置为false。我们查看LiveData中分发事件的方法。并且debug在如下标记的位置,发现。我的代码大概如下所示:方法中使用了。
2023-03-22 16:53:22
1447
原创 Kotlin之let,apply,with,run函数区别
Kotlin之let,apply,with,run函数区别 - 简书let 首先let()的定义是这样的,默认当前这个对象作为闭包的it参数,返回值是函数里面最后一行,或者指定return代码示例: apply apply函数是这样的,调用某...https://www.jianshu.com/p/e7abbfb109ac.........
2022-05-28 11:29:35
5
原创 伪类选择器(CSS-4)
伪类是一种专门标识元素的一种特殊状态比如:点击过的文本,获取焦点的文本框等等状态当我们需要为这些特殊状态设置样式的时候就用到了伪类
2022-03-28 10:20:51
334
原创 kotlin-----协程
【码上开学】Kotlin 协程的挂起好神奇好难懂?今天我把它的皮给扒了_哔哩哔哩_bilibili码上开学 ( kaixue.io ) 之:Kotlin 的协程第 2 期。看完有啥想法,来留言讨论啊!https://www.bilibili.com/video/BV1KJ41137E9?spm_id_from=333.999.0.0...
2022-02-23 17:51:57
610
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人