#编程

这个主题下的全部文章。
  1. WanAndroid 项目迁移 KMP

    前言 WanAndroid 是笔者的一个个人项目,在此项目中尝试 MVP、MVVM 等代码架构,实践一些主流开源库。目前最新的版本是基于 Kotlin + MVVM + 协程。最近,笔者希望开启一个新的大版本迭代,整体将项目改造为一个 KMP + Compose Multiplatform 的跨平台项目,能够运行在 Android、iOS、Desktop、Web 等多个平台上。这篇文章记录了项目迁…

  2. 🤖 04 强大的列表控件 RecyclerView

    2017.10.19 完成初稿 2024.3.22 加入海树,调整排版和部分文字 2024.4.2 重写部分内容 2024.8.31 使用 Kotlin 重写代码,并更新博客,增加了多布局样式的内容 前言 移动设备屏幕比较小,能展示的内容不多,如果有大量数据需要展示时,通常需要以列表来展示。 在早期的 Android 开发中,会使用 ListView 和 GridView 控件来实现大量数据的展示…

  3. 🤖 03 基础控件与布局

    在软件开发中,界面设计与功能开发同样重要,美观的界面可以吸引更多的用户。Android 提供了大量的 UI 开发工具,让开发者可以编写出各种各样的界面。本章我们一起来学习 Android 的 UI 开发。 目前 Android 有两种编写界面的方式,一种是在 Android 诞生之初就存在并且沿用至今的 View 体系 ,另一种是 Android 新晋推出的新一代 Android UI 开发框架 …

  4. 🟪 关于 Kotlin

    Kotlin 诞生于 2011 年,由著名的 IDE 公司 Jetbrains 打造并开源。官网地址是 https://kotlinlang.org/ 。Kotlin 是一门现代的语言,它的口号是 Concise. Cross‑platform. Fun. ,是一门现代的,开发者友好的编程语言。 2017 年 Google 宣布将 Kotlin 作为 Android 开发的一级语言,2019 年,…

  5. 🟪 Kotlin 环境搭建与基本语法

    修改记录 日期 内容 2023.9.18 创建文档 前言 上一篇文章中,我们介绍了 Kotlin 的一些基本信息,相信大家对 Kotlin 有了一个粗略的认认识。从这篇文章开始,我们将介绍 Kotlin 的语法知识,带领大家由浅入深地学习 Kotlin 这门语言。 这篇文章中,我们会主要介绍如何搭建 Kotlin 的开发环境,运行最简单的 Kotlin 工程,以及一些 Kotlin 最基本的语法概…

  6. 🍇 Git 入门(1) Git 介绍

    作为一个后知后觉的程序猿,在学习 Android 开发一年多后才逐渐意识到对代码进行版本控制的重要性。之前几个人一块进行项目开发的时候,都必须要手动把别人的代码 CtrlC CtrlV 一点点地贴到最终的代码中,如果对方有个什么改动,又需要在贴一遍,实在是费时费力。所以,学习 Git 就相当有必要啦。 在学习的过程中,我看的资料是廖雪峰老师的 Git 教程 ,通俗易懂,可以非常快速地帮助大家入门。…

  7. 🍇 Git 入门(2) 安装 Git

    哈哈,上一篇的 🍇 Git 入门(1) Git 介绍 已经是 2017 年写的了,现在都已经是 2021 年 5 月,才回过头来继续整理这个系列的笔记,我实在是太过咸鱼了。OK,闲话少叙,我们进入正题,这篇文章就来简单写写如何安装 Git。 上面这张图是 Git 官网 的截图,点击页面上 Downloads 下方的不同平台(W…

  8. 🤖 01 Android 启程

    欢迎来到 Android 开发的世界。Android 是目前世界上市场占有率最高的移动操作系统,和苹果的 iOS 系统占据了移动操作系统的绝大部分市场份额。随着移动互联网的兴起,移动端开发正在变得如火如荼。 Android 的历史 2003 年 10 月,Andy Rubin 等人创办了 Android 公司,开发 Android 操作系统。2005 年 8 月谷歌收购了这家仅仅成立了 22 个月…

  9. 🤖 02 应用界面 Activity

    上一篇 🤖 01 Android 启程 的文章中,Android Studio 在创建项目时自动创建了一个 MainActivity,界面上展示的 Hello World 文案就是在 MainActivity 中。这篇文章将更加详细地介绍 Activity 的相关知识。 Activity 是什么 首先第一个问题是「Activ…

  10. 🤖 Android 系统版本大全

    这个表格整理了 Android 系统诞生以来,所有的版本及主要特性介绍。 Android 版本 发布时间 系统代号 API Level 说明 Android 1.0 2008 年 9 月 1 包括一系列基本应用程序,如拨打电话、发送短信、浏览器、地图等 Android 1.5 2009 年 Cupcake - 虚拟键盘 - 插件框架,支持第三方输入法 - 录音机应用 - 程序自动旋转屏幕的支持 A…

  11. 221126 造轮子学习法

    这篇文章是我自己对于造轮子学习法的感受。第一次接触这个学习编程的方法是看到一篇解析 ButterKnife 原理的文章《 带你手撸一个Kotlin版的EventBus 》,不同于其他讲流程、贴源码的解析文章,它是从头写一个简单的 ButterKnife,从而讲解实现原理。读者可以按照那篇文章动手来实现一个简单的 View 注入框架,也就是造一个自己的 ButterKnife 轮子。我跟着那篇文章实…

  12. 🦋 Flutter Web 解决中文乱码

    现象 在 Flutter Web 开发中,笔者注意到一个现象:如果有中文文字,会先显示乱码,需要过一会才能正确展示,英文文字通常没有这个问题。 乱码如图所示: 在 Flutter Web 中有三种渲染模式: auto 、 html 和 canvaskit 。点击运行按钮(运行 flutter build web 命令)时,选择的渲染模式是 auto,它在移动端使用 html 渲染,在 PC 端使用…

  13. 🦋 AS 中生成 Flutter 模板代码的技巧

    在开发 Flutter 时,常常需要创建新的页面或新的 Widget,每次都重新手写总是很麻烦,这篇文章介绍一些减少手写样板代码的方式。 笔者使用的是 Android Studio,所以这里的技巧都是在 AS 中使用的。 快捷输入 Android Studio 的 Flutter 插件提供了一些在代码编辑区域的快捷输入,根据这些输入可以快速生成模板代码。最常用的快捷输入是 stless 和 stf…

  14. 220928 如何提升编程能力

    这是 B 站上一位 Up 主 @HexUp 关于提升编程能力的一系列视频,我觉得很不错,看完收获挺大,因此整理一遍笔记。 一些总结 动手写代码非常重要 没有快速提升编程能力的捷径,只有长期坚持学习,才能逐步提升。 造轮子法对于学习计算机编程非常有效,「What I cannot create, I do not understand」 渐进式提升编程能力,核心在于平滑提升训练难度,每次练习都恰好超…

  15. ❤️ Flutter 制作爱心小动画并部署 Github Page

    前言 又到了一年一度的 520,大家都有没有被虐狗呢?赶紧学会下面这个小动画,去赢取女神的芳心吧。 动画效果展示如下: 这个动画的效果和实现思路主要来自 B 站上的这个视频, 【Bilibili】【HTML+CSS】8分钟实现砰砰的爱心动画,快学起来送给喜欢的人吧! 我使用 Flutter 来复刻了一下。 爱心动画 我们来分析一下这个效果: 有 9 个竖直放置的圆角矩形,颜色是对称的,并且排列出一…

  16. 🥳 边学边玩,Flutter 制作 2048 游戏

    前言 最近在学习 Flutter 的一些知识,想着独立写一个小示例来运用一下所学的东西,所以就有了这个Flutter 版本 2048 小游戏的项目。完整代码请戳 Github 。 2048 小游戏曾经也是风靡一时,应该很多人都玩过,不过我们还是简单说一下这个游戏的机制,这里有个网页版的 2048 ,大家可以实际体验一下。一般来说,它是一个 4 * 4 的棋盘,共有 16 个小块,每个小块中,要么是…

  17. 🦋 Flutter Nil 库使用

    背景 在 Flutter 构建 UI 界面时,常常需要使用条件判断,比如某个条件不符合时,不展示某个 Widget,这时往往不能返回一个 null ,而必须要有个 Widget 实例,通常我们会返回一个 SizedBox ,但 SizedBox 还是会创建 RenderObject,即使它没有绘制任何东西,还是会造成一些绘制上的损耗。 这个时候可以使用 Nil 库来代替,Nil 是个 Widget…

  18. 🦋 Flutter Plugin shared_preferences 使用

    在 Flutter 中如果想保存一些简单的数据,我们需要使用 shared_preferences 插件,它可以用来持久化 key-value 格式的数据。 shared_preferences 插件在 Android 上使用 SharedPreferences,iOS 上使用 NSUserDefaults,数据会异步地存到设备磁盘中。 使用方式 在 pubspec.yaml 中添加 shared…

  19. 🟪 Kotlin 变量和常量

    修改记录 日期 内容 2022.2.15 完成初稿 2024.4.17 重新组织变量部分,移除部分内容 这篇文章,我们继续介绍 Kotlin 的基础语法知识,包括 Kotlin 的变量、常量、表达式等内容。 在程序开发中,变量和常量用来储存和传递数据。类型用来描述变量或常量中保存的是什么样的数据。 变量 Kotlin 中的变量可以分为两类: 可变变量 和 只读变量(read-only variab…