Android自定义View-平移缩放旋转 发表于 2021-08-11 更新于 2021-08-13 分类于 Android , Framework 阅读次数: Valine: 概述上篇文章写了几种支持 高亮展示固定行并滑动文本的自定义View, 效果如下: 阅读全文 »
Android自定义View-可高亮滚动文本 发表于 2021-08-10 更新于 2021-08-13 分类于 Android , Framework 阅读次数: Valine: 概述实现效果如下图: 能够显示指定的文本(如果是 String 列表呢),超出的内容可滚动(自动或手动)显示 高亮固定的行 能够调节字体大小,高亮字体颜色,滚动速度 阅读全文 »
Android-Dagger2之进阶用法 发表于 2021-07-02 更新于 2022-01-04 分类于 Android , 框架 阅读次数: Valine: 概述 Android-Dagger2之基础用法 Android-Dagger2之进阶用法 基础用法里讲了 Dagger 的一些基础用法,但实际项目开发中很多不会这么使用,比如在 Android 实际开发中,我们需要用到许多 Activity 与 Fragment, 当进行依赖注入时都需要进行许多重复性的操作,比如在 @Component 的组件中加入 inject 方法,并在对应的 Activity 或 Fragment 等中调用注入的方法。于是 Android 与 Dagger 团队一起为这些场景提供了更简便的实现方式,这在实际开发中更有实用价值。 另外这篇文章还会学习一下 Dagger 中一些注解的用法。 阅读全文 »
Android-Dagger2之基础用法 发表于 2021-07-02 分类于 Android , 框架 阅读次数: Valine: 概述Dagger 的名字取自有向无环图 DAG (directed acyclic graph),因为程序里的依赖关系拼接起来就是一个或者多个有向无环图。 首先理解一下什么是依赖注入。一个类 UserRepository 中有一个 UserRemoteDataSource 类型的属性, 那 UserRemoteDataSource 便是 UserRepository 的依赖,初始化这个依赖可以有两种方法,一种是在类内部自己初始化,另一种是由外部初始化(即是依赖注入,关键在于初始化是谁做的)。 这种由外部初始化的方式都可以叫做依赖注入,而 Dagger 则为依赖注入提供了一种更简单的方式。 阅读全文 »
Android-NDK开发之JNI 发表于 2021-06-01 分类于 Android , NDK 阅读次数: Valine: 概述JNI 是 Java Native Interface 的简写,可以译作 Java 原生接口。 JNI 定义了两个关键数据结构,即 JavaVM 和 JNIEnv, 两者本质上都是指向函数表的二级指针。 JavaVM: Java 虚拟机在 JNI 层的代表,理论上每个进程可以有多个 JavaVM, 但在 Android 中一个进程只允许有一个 JavaVM。 JNIENV: 代表了 Java 在本线程的运行环境,每个线程都有一个。无法在线程之间共享 JNIEnv, 如果一段代码无法通过其他方法获取自己的 JNIEnv,则应该共享相应的 JavaVM,然后使用 GetEnv 发现线程的 JNIEnv。 阅读全文 »
Android-NDK开发之概述 发表于 2021-06-01 更新于 2021-07-16 分类于 Android , NDK 阅读次数: Valine: 概述 Android Studio 用于构建原生库的默认工具是 CMake,需要提供 CmakeList.txt 用于构建原生代码。 Android Studio 还支持 ndk-build 构建原生库,需要提供 Android.mk 构建脚本。 阅读全文 »
Kotlin笔记之flow工作原理 发表于 2021-05-20 更新于 2022-11-23 分类于 语言 , Kotlin 阅读次数: Valine: 概述最近想学习一下 Kotlin 中 flow 的用法, Google 上搜了搜发现很多比较 RxJava 和 flow 的文章,其实我在实际业务中从来没有用过 RxJava, 倒不是因为它不好,而是…我一直傻傻不太会用 RxJava 的操作符,看不太懂,又一直没花时间(懒惰)去研究它那些操作符的原理,就一直不怎么敢用。这次看到了 flow, 想着还是先去了解了解它内部几个操作符的原理吧,不然用起来总是不太踏实。 需要注意的是 Flow 需要在协程中使用, 分析 flow 工作流程离不开协程的工作原理,关于 Kotlin 协程的解析可以参考下列文章: Kotlin协程之基础使用 Kotlin协程之深入理解协程工作原理 Kotlin协程之协程取消与异常处理 Kotlin协程之再次读懂协程工作原理 阅读全文 »
Kotlin笔记之协程工作原理 发表于 2021-05-19 分类于 语言 , Kotlin 阅读次数: Valine: 协程的状态机这一章会以下面的代码为例解析一下协程启动,挂起以及恢复的流程: 阅读全文 »