- 博客(9)
- 收藏
- 关注
原创 Android多点触控问题
多点触控的处理是通过 onTouchEvent 方法中的事件(如 ACTION_DOWN、ACTION_POINTER_DOWN、ACTION_MOVE、ACTION_POINTER_UP、ACTION_UP),利用触摸点的唯一 ID 来管理其记录、更新和移除。
2025-05-17 18:19:50
1041
原创 一分钟带你了解equals和==的区别
Object类默认hashCode()实现通常返回对象内存地址相关的值,这意味着每个对象都有一个唯一的哈希码,如果我们重写了equals方法,没有重写hashCode方法,那么就可能导致两个对象根据重写自定义的equals方法比较为相等,但它们的哈希码仍可能不同(因为它们的内存地址不同)。此时就可能会违反equals和hashCode的约束。如果两个对象的哈希码相同,它们可能相等,也可能不相等(需要进一步通过。如果两个对象的哈希码不同,它们一定不相等。方法),它们的哈希码必须相同。如果两个对象相等(根据。
2025-05-16 16:52:52
426
原创 快速入门Git的常用指令
Git仓库分为本地仓库和远程仓库,本地仓库就是开发人员自己电脑上的Git仓库,可能就是电脑中的一个文件夹,远程仓库可以借助一些代码托管平台来创建,例如GitHub、Gitee。一个文件夹下只能有一个Git仓库,一个本地仓库对应一个远程仓库。本地仓库的初始化有两种方式:git init和git clone [克隆地址]
2025-05-12 23:58:17
400
原创 Kotlin作用域函数apply、also、let、run、with的介绍与区别
是一个扩展函数,在代码块中,与apply不同,also将对象作为参数传递给代码块(默认命名为it而不是this),并返回该对象本身。,是一个扩展函数,在代码块中,let将调用对象作为参数传递给代码块(默认命名为it),并返回代码块的最后一行而非该对象本身。常结合安全调用操作符?,不是扩展函数,它接收一个对象和一个代码块,代码块中对象的引用为this,类似于apply,并返回代码块的最后一行。1.作为对象的扩展函数:类似于apply,但返回的是代码块的最后一行而不是对象本身,对象的引用也为this。
2025-04-29 17:29:37
553
原创 Android面试:Handler消息机制
消息的起点是Message对象,它承载了需要传递的消息,可以通过Message.obtain()获取一个Message对象(也可以使用Handler.obtainMessage()直接通过Handler获取一个Message对象);然后Handler通过sendMessage(Message msg)发送一个完整的Message对象到MessageQueue队列中(先进先出的队列,负责存储所有有待处理的消息),其内部会调用MessageQueue.enqueueMessage将消息按时间顺序插入队列;
2025-04-28 20:12:06
1120
原创 Android常见面试题:View的绘制流程
View的绘制流程是Android系统中UI显示的核心机制,主要分为三个阶段:测量(Measure)、布局(Layout)和绘制(Draw)。这三个阶段从根View开始,递归地作用于整个View树,确保每个View都能正确计算大小、确定位置并最终渲染到屏幕上。在Android面试中,面试官经常会问:讲讲View的绘制流程吧,但对于很多刚开始找实习的人来说,要详细介绍这个绘制流程还是很吃力的,所以我就简单介绍其中的核心内容帮助大家简单过一下。通常为空,普通View没有子View需要布局,
2025-04-27 20:11:26
434
原创 Kotlin:lambda表达式与高阶函数的初步了解及使用
在Kotlin中,Lambda表达式和高阶函数是函数式编程的核心特性,它们极大地提升了代码的简洁性和灵活性。现在让我们先了解以下什么是lambda表达式,什么是高阶函数。
2025-03-15 19:43:13
240
原创 Android:使用Room数据库报错[SQLITE_ERROR]SQL error or missing database(no such table)的产生原因及解决办法
在Android开发中,Room是我们常用的持久化库,但我们平时在使用它时,可能或多或少会遇到 [SQLITE_ERROR]no such table)的报错。以下是我总结的可能产生原因及解决办法。
2025-03-15 13:36:39
750
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人