0%

Android

View的事件分发流程

Android View 的事件分发流程是 Android 中处理触摸事件的核心机制,它决定了用户的触摸事件(如点击、滑动等)如何从顶层容器传递到具体的子 View 并最终被消费或处理。事件分发流程主要涉及以下三个方法:

  1. **dispatchTouchEvent(MotionEvent ev)**:事件分发方法,负责将事件传递到合适的子 View 或自身进行处理。
  2. **onInterceptTouchEvent(MotionEvent ev)**:用于拦截事件,决定是否要拦截事件并阻止它传递给子 View(只有 ViewGroup 才有此方法,View 没有)。
  3. **onTouchEvent(MotionEvent ev)**:事件处理方法,决定当前 View 是否处理该事件。
阅读全文 »

Android

在 Android 平台有两种方法可以构建 OpenGL 环境:通过系统自带的 GLSurfaceView 组件和通过 EGL 。GLSurfaceView 内部自带了 OpenGL 的渲染线程,通过 EGL 需要自己创建渲染线程。

Android 平台通过 OpenGL 渲染图像的本质是通过一系列的 GPU 指令将绘制的图形或者获得的图像帧(本地/网络视频解码或摄像头采集)渲染到设备屏幕上的过程,这个屏幕在系统中被抽象为 Surface ,而图形和图像则被抽象为 Texture (纹理),纹理通过顶点和片段着色器映射到 Surface 上。顶点着色器可以简单理解为确定每个点在屏幕上的坐标,而片段着色器可以简单理解为确定每个点的颜色,即一个计算位置,一个计算颜色。OpenGL 的编程模式为线性编程,即上一段程序的输出是下一段程序的输入。

阅读全文 »

学习的痛苦之处在于,要在接受内容的同时,理解、怀疑、思考和联结内容。看这本书的过程就是如此。但真正有价值的学习,不在于知识的记忆和重复,而在于经历这种痛苦的过程,产生对事物本质的个体化思考,即“本己化”。

卡尔·雅斯贝尔斯,最初研究精神病学,后研究哲学。少年时期,雅斯贝尔斯就对哲学问题产生了兴趣,并试图和他的父亲讨论哲学问题,但并没有从他的父亲那里得到回应。他从他的父母那里接受了良好的教育,关于宗教、原则、经济等。这些教育让他对一些问题能进行严肃的思考。

阅读全文 »

“我们在衡山只住了大约四个月,1938年春迁往昆明——最西南的边陲。在衡山只有短短的几月,精神上却深受激励。其时,正处于我们历史上最大的民族灾难时期;其地,则是怀让磨砖做镜、朱熹会友论学之处。我们正遭受着与晋人南渡、宋人南渡相似的命运。可是我们生活在一个神奇的环境:这么多的哲学家、著作家和学者都住在一栋楼里。遭逢世变,投止名山,荟萃斯文:如此天地人三合,使这一段生活格外的激动人心,令人神往。”

阅读全文 »

没读《金瓶梅》之前,道听途说,《金瓶梅》是一本淫书。读完以后,才发现《金瓶梅》确实是一本淫书,不仅如此,金瓶梅更是一本奇书。

以现代眼光看,《金瓶梅》算得上《水浒传》的同人作品,但是这个同人作品的艺术价值和现实意义却远远超越了《水浒传》。毫不夸张地说,在我读过的所有中国古代小说里,《金瓶梅》是绝对的神作,甚至高于《红楼梦》。

阅读全文 »

JNI 语法

JNI 的 C 函数

1
JNIEXPORT void JNICALL Java_HelloJNI_sayHello(JNIEnv *, jobject);

命名规则:Java_{package_and_classname}_{function_name}(JNI_arguments)

  • JNIEnv*: reference to JNI environment, which lets you access all the JNI functions.
  • jobject: reference to “this” Java object.
阅读全文 »

自定义View

组合控件

https://www.jianshu.com/p/8b0c145acef2

在 Android 中,通过组合控件的方式自定义 View,可以将多个基础控件组合在一起形成一个新的控件。这种方法可以用于封装常见的 UI 组件,以提高代码的可重用性和可维护性。以下是一个详细的示例,演示如何创建一个组合控件,包括一个图片、一个标题和一个描述文本。

创建自定义组合控件类

首先,创建一个自定义的 View 类,继承自 LinearLayout,并在其中组合多个基础控件。

阅读全文 »

Git

放弃修改

https://blog.csdn.net/ustccw/article/details/79068547

Windows 下创建定时运行的脚本

Windows 键 + R 调出此窗口,输入 compmgmt.msc 任务计划程序库 - 创建基本任务

注意:起始于:后面的目录必须是脚本所在目录,不能不填。

git push -u origin main -u 参数的作用是建立本地分支对远程分支的引用,git pull 的时候可以不用加任何参数。

阅读全文 »