首页 > 其他分享 >Android开发&Kotlin学习笔记

Android开发&Kotlin学习笔记

时间:2024-05-12 10:52:56浏览次数:13  
标签:Google Kotlin 笔记 案例 switch Compose Android

为了做《基于安卓定位的考勤系统》,学了一些杂乱的知识,在这里简单记录一下。除了在C#桌面应用开发中感性的体会到了些XML布局的知识以及课上学习的Java知识,其他也算是零基础了。

Google Android Developer的课程

2023/10/25 :跟着官方文档先快速入门一下基本内容。截至目前来看官方文档写得还挺不错的。

摇骰子(Dice Rooler)案例

在这里会学习到一个寻找资源的方式,即通过ID寻找

 以及如何设置一个事件监听器:

 以及Kotlin中一个特殊的语法: when语句

when有点类似于switch,但是又比switch高级一些。一个使用用例如下:

 这意味着他会传回一个值。在每个case后亦可执行语句。

计算小费(TipTime)案例

这个案例能学习到如何在xml对页面进行编辑,包括添加横向纵向约束等。并且Radio和switch组件在这个案例中首次使用。

到这里之后,看到Google把高级篇教程全部删掉了。发现Google早已玩起了Compose。于是花费数日与Compose大战数回合,看*不懂。且之后试着调用高德API时,发现高德的官方API文档更是一股古香古色的味道。于是乎与Compose的缘分就此暂告段落。

继续回归View

这个案例中,同时也介绍了Kotlin中类的创建与继承。略微新颖的就是构造函数的写法:

 以及继承此类时,你的函数仍可以保留参数:

 以及Kotlin中,With的用法。它可以让你免去重复的写类名,而只需键入成员

 最重要的是,他提供了一个新的视图绑定的方法!可以免去总是findviewById的烦恼!

step1

 step2

 

step3

 至于为什么这样写,google这样解释:

 

标签:Google,Kotlin,笔记,案例,switch,Compose,Android
From: https://www.cnblogs.com/L1ngYi/p/17788388.html

相关文章

  • ThreadLocal入门笔记
    ThreadLocal入门笔记最近学习小傅哥的面经手册,学习到ThreadLocal,这里做个笔记加深印象,也方便日后复习。ThreadLocal是除了加锁这种同步方式之外的一种规避多线程访问出现线程不安全的方法,它的核心思想是:共享变量在每个线程都有一个副本,每个线程操作的都是自己的副本,对另外的线程......
  • 读天才与算法:人脑与AI的数学思维笔记25_涌现理论
    1. 人工智能新闻1.1. 人工智能新闻报道算法的核心是如何将未经处理的原始数据转换成新闻报道1.2. 很少有记者为美联社决定使用机器来帮助报道这些新闻持反对意见1.2.1. 像“Wordsmith”这样的算法,具有自动化的洞察力、科学的叙事能力,现在正被应用于基于大量数据的分析报道......
  • [NOI2009] 二叉查找树 & 笛卡尔树学习笔记
    这个题:二叉搜索树原理认识+区间dp;只要熟练相关算法就一定可以做出来。但我不行。。。我们学习一下笛卡尔树:什么垃圾东西,不学了。发现这个题是l蓝书上一道题jqb。二叉查找树又有一个性质:二叉查找树的中序遍历是其代表的序列从小到大排序的结果。而无论Treap如何旋转,其都......
  • 数据结构学习笔记-递归求解森林高度
    森林的高度递归求解问题描述:设计算法求解森林的高度【算法设计思想】两个函数,一个用于计算单个二叉树的高度,另一个用于计算二叉树森林(即一组二叉树)的最大高度。下面是对两个函数的详细解释:1.treeHeight函数这个函数用于计算单个二叉树的高度。二叉树的高度定义为从根节点到......
  • FFT 学习笔记
    应用FFT,中文“快速傅里叶变换”,用来加速多项式乘法和卷积,可以将\(O(n^2)\)的复杂度优化至\(O(n\logn)\)。多项式系数表示法一个\(n\)次\(n+1\)项的多项式\(f(x)\)可以表示为\(f(x)=\sum\limits_{i=0}^{n}a_ix^i\)。也可以用每一项的系数表示\(f(x)\),即\(f......
  • Vue3笔记
    1.man.js文件//引入一个工厂函数createAppimport{createApp}from'vue'importAppfrom'./App.vue'//创建应用实例对象app---类似于vue2中的vm,但app比vm更'轻'constapp=createApp(App)console.log('app',app)app.mount('#app......
  • 笛卡尔树学习笔记
    笛卡尔树引入是一种二叉树,每个节点由一个二元组\((k,w)\)形成。\(k\)满足二叉搜索树的性质,\(w\)满足堆的性质。上面这棵笛卡尔树相当于把数组元素值当作键值\(w\),而把数组下标当作键值\(k\)。显然可以发现,这棵树的键值\(k\)满足二叉搜索树的性质,而键值\(w\)满足小根......
  • 复习笔记
    1.对变量延迟初始化延迟初始化使用的是lateinit关键字,它可以告诉Kotlin编译器,我会在晚些时候对这个变量进行初始化,这样就不用在一开始的时候将它赋值为null。当你对一个全局变量使用了lateinit关键字时,请一定要确保它在被任何地方调用之前已经完成了初始化工作,否则Kotlin将无法......
  • 软件测评笔记04--操作系统
    编译原理高级语言源程序中的错误分为两类:语法错误和语义错误,其中语义错误可分为静态语义和动态语义错误语法错误:语言结构上的错误静态语义错误:编译时能发现的程序含义上的错误动态语义错误:只有程序运行时才能表现出来 程序编译过程过程:词法分析、语法分析、语义分析词法......
  • 分块 学习笔记
    什么是分块分块,顾名思义是一种将数据分成多块,以实现一些功能的算法。分块算法实质上是一种是通过将数据分成多块后在每块上打标记以实现快速区间修改,区间查询的一种算法。其均摊时间复杂度为\(O(\sqrt{n})\)分块的具体操作分块voidcreate(){ t=sqrt(n); for(inti=1;i<......