利用 Kotlin 委托实现一个简单的依赖注入
1. 从 by lazy 开始委托是一种软件设计模式,Kotlin 通过关键字 by 实现委托模式。常用的延迟初始化 by lazy 就是一种委托,如下所示:class KD_1 { val name: String by lazy { "张三" }}使用 by lazy 来实现延迟初始化,实际上是委托了 lazy 这个函数来帮我们来延迟初始化。接下来我们就先从实现一个 MyLazy ...
作者 Viifo 发布于 2022年03月06日
交叉编译GCC源码 (i686-elf)
1. 编译环境准备在 Windows 上为 i686-elf 编译 GCC 是一个痛苦的过程,期间可能会有大量的错误需要解决。所以选择 debian-11.0-i386 操作系统来编译 32 位的 gcc 工具,系统镜像下载地址如下所示:# debian-11.0-i386 下载地址http://gemmei.ftp.acc.umu.se/cdimage/archive/11.0.0/i38...
作者 Viifo 发布于 2021年11月27日
Windows 环境下使用 Linux 工具
1. 下载 CygwinCygwin 是一个在 Windows 平台上运行的类UNIX模拟环境,即 Cygwin 可以让我们在 Windows 上使用 Linux 中的命令。下载cygwin,点击安装,选择只下载不安装,如图 1.1 所示。选择下载位置,如图 1.2 所示。选择从哪个网站下载,如图 1.3 所示。国内建议选择网易163或者阿里云,下载速度较快。搜索 coreutils,选择下...
作者 Viifo 发布于 2021年11月20日
SideSlipLayout 整体侧滑菜单
SideSlipLayout 是参照安卓原生控件 DrawerLayout 打造的一个整体侧滑菜单,本文将主要介绍其实现效果、大致实现过程及滑动冲突的解决方式。1. 预览 单独使用 与三方库一起使用 2. 新建控件我们先新建 SideSlipLayout 控件,由于我们定义的控件需要包含子控件,所以要继...
作者 Viifo 发布于 2021年10月16日