其实这几个礼拜还真的是挺忙的,老婆在职研论文答辩,她的课题设计有我一起参与,所以也要一起帮忙准备论文答辩的内容,自己下周六还要参加中级职称考试,另外还要担任奶爸的工作,所以除了平时上班之外,在业余时间,我要:帮忙准备论文答辩,看书复习准备职称考试,在家带孩子以及学习L3课程。多管齐下的结果就是业余时间不够用了,反而在论坛看看视频学习编程,倒成了放松和转换思维休息一下的方式。我还是沿用一贯的学习小结的方式,多分享自己的心得,少重复课程的内容,因为课程的内容配上教师笔记,真的已经很详尽了。
在报名本期学习班的时候,作为零基础的编程小白,我以为我学的 Google Android 的编程,怀着对 Google 的热情和向往报的名,学到 L3 我发现其实学的是 Java 。听说程序员之间也有一条鄙视链,不知道 Java 处在一个什么位置。好吧,反正对我们这种零基础的学员来说,什么语言都一样。
L3的课程分为两段,虽然看起来时间比L2少,但是内容的难度和深度则有了很大的提高。我学下来的感觉 3A 和 3B 主要介绍了两个内容,一是遇到不会的怎么自己解决,二是 Java 语言大体的编程概念。
第一点我觉得其实是 Google Study Jams 活动贯穿始终也是最重要的内容,在视频课程中不厌其烦地一遍又一遍地展示,遇到问题怎么通过 Google 搜索,自己动手去解决问题,怎么通过搜索文档去寻找需要的内容,授人以鱼不如授人以渔啊。毕竟自己动手丰衣足食才是最有乐趣的,我还想提示一下大家,Google 开发文档其实是有中文版的,在https://developer.android.google.cn
第二个是这次课程学习之后我自己对 Java 语言的心得。首先是 Java 写的编程语言怎么看,视频里很形象,用盒子(变量名)里放个数字(数值)来展示,但真的到app里,第一次看到
quantity = quantity + 1
还是傻眼了,这不符合常识啊。在整个 L3 课程学习过程中我都是十分痛苦的,后来我发现,其实所有(可能有点绝对)写的这些,(应该怎么说?语言程序?)所表达的意思,从右往左看就好了,就很容易理解了,比如上面的就是理解为“把quantity+1的数值赋值到quantity上”,虽然 quantity 看起来一样,但其实已经一不一样了。而且这个不仅适用于等号左右两边,就连有多个 . 都是的情况都是适用的,比如
Toast.makeText(this, "You cannot have less than 1 coffees", Toast.LENGTH_SHORT).show();
一开始看不知道是什么鬼,从右往左看就很好理解了,先忽略括号里的内容,就变成了 Toast.makeText.show ,所以最后是 show ,就是要展示一个什么东东, makeText 后面括号里跟着一大串内容,估计就是要显示的内容,那 Toast 可能就是“通过什么方式”的意思了。
再比如
String name = nameField.getText().toString();
同样的,从右往左看,toString 应该是把什么转变成文本,那到底什么转变成文本呢,就是 .号前面的内容,具体什么内容往左看,然后就明白了,是从 nameField 中利用 getText 得到的内容,然后赋值给 name 。
以上,就是我对于程序语言的理解方式,可能会有不对的地方。
另外在看 L3 课程过程中,我已经根据视频的要求,先自己动手写,写完之后再继续看视频比对结果,所以有时候会得到很多“运行结果一样,但写的内容不一样”的结果,比如在结算加奶油和巧克力价格的时候,我是直接在 Order 按钮里添加了计算方法,因为 quantity 一直作为全局变量存在,而视频中是在计算价格的方法中添加新的变量,把计算价格的部分全部集中在一起。
最后还是合照一张,因为是备用机,没有设置邮箱,点击 Order 之后跳转邮箱显示是设置一个新邮箱,所以还是展示一个订单详情的页面。
学完了 L3 课程,我感觉我学会编程了,至少是开始上路了,哈哈。