前言
比较Kotlin OR Flutter 谁好, 就像在比较[程序员]和[画家]谁[唱歌]比较好听
Kotlin是语言,完美平复了我对Java的恨铁不成钢的心情。
Flutter是框架,完美实现了我一套代码,六端运行的梦想。
Flutter是和Android一个等级的,它们都是运行在设备上的框架
Kotlin是和Dart一个等级的,它们都是新时代的编程语言
那谁更香? 别问,问就都香。
如果你还在Kotlin和Flutter之间犹豫不定
那我就为你指条路: 去研究[数据结构和算法分析]
研究到想吐的时候再来选择,如果还是在Kotlin和Flutter犹豫不定
那我就为你指条路: 去研究[数据结构和算法分析]
研究到想吐的时候再来选择,如果还是在Kotlin和Flutter犹豫不定
那我就为你指条路: 去研究[数据结构和算法分析]
研究到想吐的时候再来选择,如果还是在Kotlin和Flutter犹豫不定
...
这样最终你就会成为一个[数据结构和算法分析]的大师
而这样的大师拥有同时掌握Kotlin和Flutter的耐力和技术支持
通过本篇想说明: 不是什么技术好不好,而是你能干什么。
就像作文模板、中文汉字你都认识,却无法写出流芳百世的佳作
限制你的并非是语言/框架本身,而是你的思维分析和解决问题的能力
王侯将相宁有种乎? 何必贴上好坏的标签,非争个天下第一? 香不就行了吗!
Kotlin
Flutter
Android-Kotlin 篇
一、自定义控件
1.类的定义
[1] 类通过[class]关键字定义,类名[大驼峰]
[2] 构造器关键字[constructor],可直接跟在类名后
[3] 继承通过 : 指定父类
class HandleView constructor(context: Context, attrs: AttributeSet? = null) : View(context, attrs){
}
2.初始函数与变量定义
[1] 通过[var]关键字指定变量,
[2] 通过[privite]关键字修饰私有权限
[3] 创建对象[不需要] new 关键字
[4] 一条语句的末尾[不需要] ;
[5] init代码块内可以盛放数据初始逻辑
[6] 对于对象的get/set方法,可使用简写方式
class HandleView constructor(context: Context, attrs: AttributeSet? = null) : View(context, attrs){
private var paint:Paint = Paint()
init {
paint.color = Color.BLUE
paint.isAntiAlias=true
paint.style=Paint.Style.FILL
}
}
3.方法的覆写
[1] 方法的关键字[fun]
[2] 复写的关键字[override]
[3] 入参格式 [名称:类型 ]
class HandleView constructor(context: Context, attrs: AttributeSet? = null) : View(context, attrs){
//英雄所见...
override fun onDraw(canvas: Canvas) {
super.onDraw(canvas)
canvas.dra