- 博客(12)
- 收藏
- 关注
原创 Flutter Widget
从flutter的架构图中不难看出widget是整个视图描述的基础,Flutter 的核心设计思想便是everything is a widget.即一切为Widget,与原生开发中“控件”不同的是,Flutter中的Widget的概念更广泛,它不仅可以表示UI元素,也可以表示一些功能性的组件如:用于手势检测的 GestureDetector widget、用于APP主题数据传递的Theme等等,而原生开发中的控件通常只是指UI元素。Flutter 中的 widget 可以用两条规则来约束:
2021-11-17 20:57:04
4548
原创 Flutter 架构
该文章旨在提供更深入的 Flutter 架构概览,包含其设计层面的核心原则及概念。在开发中,Flutter 应用会在一个 VM(程序虚拟机)中运行,从而可以在保留状态且无需重新编译的情况下,热重载相关的更新。对于发行版 (release) ,Flutter 应用程序会直接编译为机器代码(Intel x64 或 ARM 指令集),或者针对 Web 平台的 JavaScript。 Flutter 的框架代码是开源的,遵循 BSD 开源协议,并拥有蓬勃发展的第三方库生态来补充核心库功能。接下来我们主要分为
2021-11-17 20:27:11
4430
转载 深入了解空安全
原文:https://dart.cn/null-safety/understanding-null-safety#summary一. 前言自 Dart 2.0 替换了静态可选类型系统为 健全的静态类型系统 后,空安全是 Dart 作出最大的改变。在 Dart 初始之际,编译时的空安全是一项少有且需要大量时间推进的功能。时至今日,Kotlin、Swift、Rust 及众多语言都拥有他们自己的解决方案,空安全已经成为 屡见不鲜的话题。让我们来看下面这个例子:// Without null saf
2021-06-04 19:53:28
943
原创 Dart 基础五:异步支持及异常
一、Dart基础目录:1.1 思维导图1.2 Dart基础将分五篇讲解:一主要讲解关键字、变量、内置类型、操作符、控制流程语句二主要讲解函数三主要讲解类四主要讲解泛型、库及可见性五主要讲解异步支持、异常二、Dart 线程模型编程中的代码执行,通常分为同步与异步两种。同步:简单说,同步就是按照代码的编写顺序,从上到下依次执行,这也是最简单的我们最常接触的一种形式。但是同步代码的缺点也显而易见,如果其中某一行或几行代码非常耗时,那么就会阻塞,使得
2021-03-14 20:54:40
785
原创 Dart 基础四:泛型、库
一、Dart基础目录:1.1 思维导图1.2 Dart基础将分五篇讲解:一主要讲解关键字、变量、内置类型、操作符、控制流程语句二主要讲解函数三主要讲解类四主要讲解泛型、库及可见性五主要讲解异步支持、异常二、泛型在 API 文档中你会发现基础数组类型 List 的实际类型是 List<E> 。 <…> 符号将 List 标记为 泛型 (或 参数化) 类型。 这种类型具有形式化的参数。 通常情况下,使用一个字母来代表类型参数,
2021-03-07 16:09:02
770
原创 Dart 基础三:类
一、Dart基础目录:1.1 思维导图1.2 Dart基础将分五篇讲解:一主要讲解关键字、变量、内置类型、操作符、控制流程语句二主要讲解函数三主要讲解类四主要讲解泛型、库及可见性五主要讲解异步支持、异常二、类Dart 是一种基于类和 mixin 继承机制的面向对象的语言。 每个对象都是一个类的实例,所有的类都继承于 Object. 。 基于 Mixin 继承意味着每个类(除 Object 外) 都只有一个超类, 一个类中的代码可以在其他多个继承类
2021-03-01 20:08:28
317
原创 Dart 基础二:函数
一、Dart基础目录:1.1 思维导图1.2 Dart基础将分五篇讲解:一主要讲解关键字、变量、内置类型、操作符、控制流程语句二主要讲解函数三主要讲解类四主要讲解泛型、库及可见性五主要讲解异步支持、异常二、函数Dart 是一门真正面向对象的语言, 甚至其中的函数也是对象,并且有它的类型 Function 。 这也意味着函数可以被赋值给变量或者作为参数传递给其他函数。 也可以把 Dart 类的实例当做方法来调用。 有关更多信息,参考 Callabl
2021-02-20 21:01:42
845
原创 Android中的MVC MVP MVVM框架模式
前言谈起MVC,MVP和MVVM这三个最耳熟能详的Android框架,相信大家对它们都不陌生,但在实际的情况下,我们很难去界定和定义MVC、MVP和MVVM,从本质上来讲他们的目的都是分层解耦,结构上也都是分为三部分,而且三者都有着一些相似的特性,对于一些新手来说,可能理解和区分它们三个都有困难,更别说在实际的项目中应用了,现在我们来分别理解它们,并看看它们之间有什么相同点和不同点!1...
2018-06-13 09:22:28
423
原创 走向灵活软件之路-面向对象的六大原则
前言关于设计模式六大设计原则的资料网上很多,但感觉很多地方解释地都太过于笼统化,特此再总结一波。优化第一步-单一职责原则SRP 单一职责原则(Single Responsibility Principle, SRP):一个类只负责一个功能领域中的相应职责,或者可以定义为:就一个类而言,应该只有一个引起它变化的原因。经典问题: 类T负责两个不同的职责:职责P1,职责P2。...
2018-05-17 10:30:28
289
转载 Android 屏幕刷新机制
转载于:请叫我大苏的 Android屏幕刷新机制我主要的目的是跟着文章的思路从新走一遍,让自己更好的理解相关的知识点。建议该文章最好能读三遍,第一遍快速阅读,了解主要讲解了什么内容,第二遍细读,了解实现的细节,第三遍结合文章在源码上了解相关的细节及流程。注: 本文中会将原文中图片替换成源码,额外添加一些注解与图片。提问环节阅读源码还是得带着问题或目的性的去阅读,这样阅读过程中比...
2018-05-05 14:35:33
788
原创 Android 屏幕适配方案
前言本文为自身的总结与结合其他文章引用而成,分别为: * wangwangli6:Android开发:最全面、最易懂的Android屏幕适配解决方案 * jiashuai94:安卓屏幕完美适配方案——独家秘笈 * 司小三石:android 屏幕适配的总结,适合面试 * 宇宝守护神:ImageView的scaleType的属性理解自身的思考&amp;实践&nbsp;...
2018-04-27 22:06:00
4831
原创 Android SharedPreferences的理解与使用
Android 五种数据存储的方式分别为: 1. SharedPreferences:以Map形式存放简单的配置参数; 2. ContentProvider:将应用的私有数据提供给其他应用使用; 3. 文件存储:以IO流形式存放,可分为手机内部和手机外部(sd卡等)存储,可存放较大数据; 4. SQLite:轻量级、跨平台数据库,将所有数据都是存放在手机上的单一文件内,占用内存小; 5....
2018-04-22 16:22:01
48672
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人