Coding a Life with Mi07
Android数据结构与算法语言学习MCPAbout
Coding a Life with Mi07
Android数据结构与算法语言学习MCPAbout

highlightjs

layout: article title: anki 高亮代码 tags: [] category: DSA —

连通无向图

layout: article title: “连通图” date: 2024-09-24 tags: [“图”] category: DSA —

1. Canvas 绘制

自定义绘制的方式是重写绘制方法,其中最常用的是 onDraw() 绘制的关键是 Canvas 的使用 onDraw():负责主体内容绘制 Canvas :绘制工具 Canvas 的绘制类方法: drawXXX() (关键参数:Paint) Canvas 的辅助类方法:范围裁切和几何变换 可以使用不同的绘制方法来控制遮盖关系

1.a. Draw Path

drawPath(Path path, Paint paint) 画自定义图形

1.b 仪表盘绘制

Note: 绘制虚线弧形,不能用 path.addArc() + pathDashEffect 来画,会画出奇形怪状的图形,要用canvas.drawArc 画。

1.c 饼图

默认顺时针画出来的。 每多画一个扇形,起始角度都要加起前面几个扇形的角度,划过的角度视扇形大小而定。

2. Canvas 范围裁切

范围裁切有两个方法: clipRect() 和 clipPath() 。 clipRect ```java canvas.save(); // 保存canvas状态

ScrollView 嵌套ListView会显示不全

因为ScrollView 传递给ListView时,用的是 UNSPECIFIED , ListView 设置了 heightSize if (heightMode == MeasureSpec.UNSPECIFIED) { heightSize = mListPadding.top + mListPadding.bottom + childHeight + getVerticalFadingEdgeLength() * 2; }

文本的测量

1. Paint.getTextBounds 测量文本宽高 ```kotlin val text = “Hello, Mango !” val bounds = Rect() paint.getTextBounds(text, 0, text.length, bounds) val textWidth = bounds.width() // 获取文本的宽度 val textHeight = bounds.height() // 获取文本的高度 // 确定文本的垂直边界 val textTop = bounds.top val textBottom = bounds.bottom

Android 视图(View)框架简报

简介:

Cold flow & Hot flow 解释

在 Kotlin 的 Flow 协程中,“冷流”(Cold Flow)和“热流”(Hot Flow)是两种不同类型的数据流,它们在行为和使用场景上有着显著的区别。理解这些区别对于有效地使用 Flow 至关重要。

Lambda 表达式

属性委托Property Delegation 和 KProperty

属性委托

operator运算符重载和suspend挂起函数

` suspend operator fun invoke ` 是 Kotlin 中一种特定的函数定义方式,结合了 suspend 关键字和 operator 修饰符,用于实现函数对象的调用和协程支持。 suspend operator fun invoke(todo: Todo) = repository.insertTodo(todo)

80道面试题答案

1. 你写了很多关于java面向对象的知识,你对对象的理解是什么?

Easy-从开机到打开 App 的整个大旅程

想象你的手机是一座需要慢慢唤醒并开始工作的超级大工厂。

K-字节码是什么?DEX字节码是什么?

1. 字节码(Bytecode)是什么?

K.1-Dalvik 虚拟机 和 ART

在新的 Android 版本里(实际上是从 Android 5.0 Lollipop,大约 2014 年开始),Dalvik 虚拟机已经被完全取代了。

什么是 Bootloader?——“点火钥匙 + 发动机自检”

把手机当一辆车:

1. 系统启动链

按下电源 —— 系统启动后加载引导程序 [[BootLoader]] —— 引导程序启动该Linux内核 —— 在系统文件中寻找init.rc 文件 —— 启动 init 进程。

init.rc 介绍

1. init.rc 是什么编程语言?

servicemanager.rc 代码详解

servicemanager 本身在做什么?——10 步快览

在官方代码库搜索关键词的正确方式

1. file 正则 file: 后面在 cs.android.com 用的是 RE2 正则,* 前面必须有一个字符才代表“重复”,单写 * 会被当成“字面量星号”,于是根本匹配不到任何文件名。

Gradle 配置解释 - subprojects & clean

🔧 第一个配置:subprojects 块

sealed class 密封类

sealed class 定义了一个“加强版”的枚举类。为什么说是“加强”?

Jetpack Compose 布局速通指南

Jetpack Compose 布局速通指南 body { font-family: 'Inter', 'Noto Sans SC', sans-serif; } html { scroll-behavior: smooth; } /* Custom scrollbar for webkit browsers */ ::-webkit-scrollbar { width: 8px; } ::-webkit-scrollbar-track { background: #1f2937; /* gray-800 */ } ::-webkit-scrollbar-thumb { background: #4b5563; /* gray-600 */ border-radius: 4px; } ::-webkit-scrollbar-thumb:hover { background: #6b7280; /* gray-500 */ }

184. Elementary ‐Daily Life ‐ Fresh Start

对话内容

Conserve vs. Conservative vs. Conventional 详解用法

含义

beginnerself-studyfrench-dao-b2-yao-hua-duo-zhang-

零基础自学法语到 B2 水平,每天学习 30 分钟,需要有系统的学习计划,并将学习目标分解为以下几个阶段:

建立知识体系

我理解你的困扰。遗忘确实是学习过程中的自然现象,但我们可以通过一些科学的方法来加深记忆和理解:

解决学-忘-学的困境

Carrie的情况分析

MCP服务示例:运行本地Python脚本,将文章推送到Github博客

在上一篇文章里,我们学习了MCP的入门操作,在这篇文章,我们使用MCP服务来解决我的一个实际需求。

第一章:「我能做到吗?」—— 动词的可能性表达

/N4

MCP QuickStart Guide

MCP是什么?

MCP服务示例:运行本地Python脚本,将文章推送到Github博客

在上一篇文章里,我们学习了MCP的入门操作,在这篇文章,我们使用MCP服务来解决我的一个实际需求。

Obsidian面板里实现自动推送笔记到Github

先决条件:

什么是写时复制?

“写时复制”(Copy-on-Write, CoW)是一种延迟复制的优化技术,广泛应用于操作系统中,尤其在进程创建(如 fork)和内存管理中。它的核心思想是:多个进程共享同一份资源(如内存页),只有在需要修改时才进行复制,从而减少资源消耗。

什么是分页和交换?

分页和交换是操作系统中虚拟内存管理的两种关键机制,用于高效利用物理内存并支持比实际物理内存更大的地址空间。以下是它们的定义和区别:

在Windows下载Youtube视频的方法,yt-dlp

简单介绍一下使用 yt-dlp 下载youtube视频的方法。

ChatGPT GO 购买教程分享,印度Apple ID注册,Youtube Premium 订阅

ChatGPT GO 是什么?

谷歌的这款图像模型火了!Gemini 2.5 Flash Image (nano-banana) 体验心得分享

今天,我看到了一个让我觉得激动人心的重大更新,Gemini 2.5 Flash Image (也叫 nano-banana ) 在 Gemini API 和 Google AI Studio(面向开发者)以及 Vertex AI(面向企业)提供。定价为 每百万输出 token $30,每张图像约为 1290 输出 token(约 $0.039/张图像)。

一个简单的方式解决AndroidStudio的Proxy Authentication对话框

Android Studio 突然总是弹 Proxy Authentication,而本地代理无需鉴权,每次都要手动把对话框关掉,挺烦的,试了一些方案都没解决,今天终于用这个最简单的方式解决了。

143亿买来的首席AI官,上任就裁掉了Meta的AI元老

10月23日上午,AI明星科学家田渊栋在推特上发文:

分类

Android 数据结构与算法 语言学习 MCP 操作系统 随便挖挖

标签

AI资讯 AOSP Activity Android Compose DSA EnglishPod Kotlin Language MCP OS Obsidian Others Tools View ai kotlin words 公众号 学习策略 小说 工具 教程 日语 樱下的语法手帐 法语 源码分析 自定义View
泠 |飘风不终朝,骤雨不终日。
Carrie-L
Icon CicadaMay
Icon carrielib@qq.com