
Android
文章平均质量分 83
hc.Geng
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
移动端开发 登录请求 token过期原理
/ 登录接口// 刷新Token接口// 数据类val expiresIn: Long // 秒为单位的过期时间。原创 2025-07-22 14:13:04 · 906 阅读 · 0 评论 -
获取View坐标位置
获取View坐标在Android开发中非常常见。今天详细给大家讲解 获取View获取控件 相对 窗口Window 的位置。原创 2025-04-24 08:48:35 · 352 阅读 · 0 评论 -
Gradle 依赖配置详解:`api`、`compile`、`compileOnly`、`implementation` 的区别
在 Gradle 构建系统中,理解依赖配置对于优化项目结构和构建速度至关重要。随着 Gradle 版本的演进,compile配置已经被废弃,取而代之的是更现代的api和配置。此外,用于特定场景。这篇文章将详细介绍这些依赖配置的用法及其区别。compileapi。原创 2025-02-26 16:55:21 · 968 阅读 · 0 评论 -
Android程序自身重启程序的几种方法
可以创建一个新的 Intent 对象,将需要重新启动的 Activity 添加到 Intent 中,并使用 FLAG_ACTIVITY_CLEAR_TOP 和 FLAG_ACTIVITY_SINGLE_TOP 标志,其中 FLAG_ACTIVITY_CLEAR_TOP 是用来清除 Activity 堆栈的,而 FLAG_ACTIVITY_SINGLE_TOP 表示只是重新使用已有的 Activity,而不是创建新的 Activity。使用 recreate() 方法。原创 2025-02-18 15:18:06 · 668 阅读 · 0 评论 -
Android-目前最稳定和高效的UI适配方案
为了更形象的展示,假设我们在布局文件中把一个ImageView的宽度设置为360dp,那么在下面两张图中表现是不一样的:图一是1080P,480dpi的手机,图二是1080P,420dpi的手机从上面的布局中可以看到,同样是1080P的手机,差异是比较明显的。在这种情况下,我们的UI可能需要做一些微调甚至单独适配。原创 2025-01-15 15:15:39 · 1009 阅读 · 0 评论 -
Android string.xml中特殊字符转义
进行显示、在XML中空格符不是用HMTL中的表示、而是用编码表示。针对特殊字符:@号 冒号等,直接写肯定不行,需转译。项目中要在string.xml 中显示特殊符号。(一个中文宽度,但用起来会比中文字宽一点点)(半个中文宽度,但两个空格比一个中文略大)(中文全角空格 (一个中文宽度))(普通的英文半角空格但不换行)不要忘记,需一同带上。原创 2025-01-14 16:49:26 · 1476 阅读 · 0 评论 -
Fragment setMaxLifecycle方法
ViewPager2中最新的Fragment代码淘汰了方法,转而支持用方法,言外之意是设置最大生命周期,懂行的人应该知道,Fragment一直都是无法直接设置生命周期,必须通过addattachremovedetachshowhide方法间接干预,本来就此功能,简单介绍一下的原理和上手效果;定义在中,和之前的addattachremovedetachshowhide等方法是并列关系;fragment即需要操作的Fragment对象,前提条件是这个fragment必须已经加到中;state。原创 2025-01-14 15:41:00 · 686 阅读 · 0 评论 -
WebView多进程错误
Crash信息:项目中开启了两个进程:com.xxx.app.test 和 com.xxx.app.test.pushcore错误原因:Android P行为变更,不可多进程使用同一个目录webView,需要为不同进程webView设置不同目录。原创 2024-11-06 14:15:15 · 1249 阅读 · 0 评论 -
ImageView scaleType属性
(1)当图片大于ImageView的宽高:以图片的中心点和ImageView的中心点为基准,按比例缩小图片,直到图片的宽高有一边等于ImageView的宽高,则对于另一边,图片的长度大于或等于ImageView的长 度,最后用ImageView的大小居中截取该图片。(2)当图片小于ImageView的宽高:以图片的中心店和ImageView的中心点为基准,按比例扩大图片,直到图片的宽高大于或等于ImageView的宽高,并按ImageView的大小居中截取该图片。小图放大两边都大等于IV,大的一边裁切掉)原创 2024-08-15 09:34:44 · 1303 阅读 · 0 评论 -
Android 15 适配之16K Page Size
15来了 适配问题也就来了,之前讲过里面有简单提到过16K内存适配,本文就针对16KB页面设备适配详细介绍一下,原创 2024-07-29 16:42:32 · 3237 阅读 · 0 评论 -
Android源码目录结构介绍
Android源码包含比较多的文件,比如Android系统的所有页面,里面的所有app程序,还包含了sdk,各种镜像img等等。完整Android源码基本在200多G左右,而且这还是比较初始的设计板,里面几个基本功能的app程序。Android源码编译得到镜像文件img并不是很大,一般1-2G,把这几个镜像烧录到我们的Android设备上,Android设备就可以运行起来,就像我们正常使用的手机那样。原创 2024-06-25 14:26:38 · 1031 阅读 · 0 评论 -
安卓项目中so库选择
NDK编译出来的。一些重要的或者核心协议一般都用c写然后给java调用。这样可以避免反编译后查看到应用的源码。放置so文件的正确方式:• 为了减小 apk 体积,只保留 armeabi 和 armeabi-v7a 两个文件夹,并保证这两个文件夹中 .so 数量一致• 对只提供 armeabi 版本的第三方 .so,原样复制一份到 armeabi-v7a 文件夹。原创 2024-07-08 23:51:50 · 839 阅读 · 0 评论 -
android adb常用命令集
adb shell monkey -p 包名 --throttle 100 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --ignore-native-crashes --monitor-native-crashes -v -v -v –s 1718955812918 100 monkey测试。"-X:" 分析和打印时,打印的每个数据包的报头,打印十六进制和ASCII的数据,每一个数据包(减去其链路层报头)原创 2024-06-21 16:42:36 · 891 阅读 · 0 评论 -
Android简单实现ButterKnife Bind View功能
前言ButterKnife想必大家都不陌生,大大简化了视图绑定操作,但毕竟是第三方项目,有些公司出于安全考虑可能不太愿意用第三方开源库,难道就不能“偷懒”了吗?当然不是,让我们一起来实现一个简单的视图绑定器,和ButterKnife一样的方便。实现创建注解接口@Target(ElementType.FIELD)@Retention(RetentionPolicy.RUNT...原创 2020-04-02 07:52:51 · 569 阅读 · 0 评论 -
http链接地址坑
今天遇到Http链接地址很坑的问题。如果使用URL请求网络链接,要使用安全的访问链接http://www.baidu.com 这种不安全的链接地址要在androidMainfest.xml清单文件中加一句 android:usesCleartextTraffic="true"确保信息流 加密 。...原创 2020-03-28 12:23:15 · 604 阅读 · 0 评论 -
Android studio Maven仓库使用
原文:How to distribute your own Android library through jCenter and Maven Central from Android Studio转自:翻译http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0623/3097.html如果你想在Android Studi...转载 2020-03-28 05:34:16 · 1106 阅读 · 0 评论 -
ContentProvider、ContentResolver、ContentObserver 区别
1、ContentProvider——内容提供者 对外提供数据,通过ContentProvider把应用中的数据共享给其他应用访问,其他应用可以通过ContentProvider 对你应用中的数据进行添删改查。2、ContentResolver——内容解析者 按照一定规则访问内容提供者的数据(其实就是调用内容提供者自定义的接口来操作它的数据)。3、ContentObs...原创 2020-01-16 12:03:30 · 1105 阅读 · 0 评论 -
Android Studio 修改 Java 语言版本到 1.8
在 AS 中需要使用 Java 的 lamda 表达式时,需要将 Module 的 Java语言版本 修改到 1.8 以上,可以按如下步骤设置:File -> Project Structure -> Modules -> Properties -> 修改 Source 和 Target Compatibility 到 1.8操作截图如下:打开项目...原创 2020-01-10 16:14:03 · 14095 阅读 · 1 评论 -
android adb 命令详解
原理:ADB是一个C/S架构的应用程序,由三部分组成: adb client --运行在pc端 运行adb命令:尝试定位ADB服务器,找不到则启动一个服务器; adb client向ADB servcer发送服务请求。adb server--运行在pc端的后台进程作用:(1)检测USB端口感知设备的连接/拔除和模拟器实例的启动或停止;(2)监听adb ...转载 2019-11-22 10:37:20 · 2677 阅读 · 0 评论 -
获取当前时间的不同系统发区别System.currentTimeMillis()与System.elapsedRealtime()与System.uptimeMillis()
一、声明:public final class SystemClock extends Object 是一个不可变类。二、结构:java.lang.Object ↳ android.os.SystemClock 三、概述:它是一个核心的技术设备。三种不同的时钟是可用的,他们不应该混淆:1、System.currentTimeMillis()是...原创 2019-10-18 10:52:21 · 1852 阅读 · 0 评论 -
Java中Class.forName和ClassLoader.loadClass的区别
Class.forName("xx.xx")等同于Class.forName("xx.xx",true,CALLClass.class.getClassLoader()),第二个参数(bool)表示装载类的时候是否初始化该类,即调用类的静态块的语句及初始化静态成员变量。ClassLoader loader = Thread.currentThread.getContextClassLoader(...转载 2019-06-13 23:04:07 · 241 阅读 · 0 评论 -
IPC RPC LPC
进程间通信(IPC,Inter-Process Communication),指至少两个进程或线程间传送数据或信号的一些技术或方法。进程是计算机系统分配资源的最小单位。每个进程都有自己的一部分独立的系统资源,彼此是隔离的。为了能使不同的进程互相访问资源并进行协调工作,才有了进程间通信。这些进程可以运行在同一计算机上或网络连接的不同计算机上。 进程间通信技术包括消息传递、同步、共享内存和远程过程调用...转载 2019-05-28 20:16:01 · 300 阅读 · 0 评论