为时一个月的StudyJams活动终于告一段落,较起真来计算的话,课时确实不很多,介绍的内容也还比较粗浅,但是对于一群原本就没什么基础的人来说还是挺受用的。
最后3A和3B的课程我们原本是想一次性学完,结果在学习的过程中因为大家基础都比较差因此花费了较多时间来理解和讨论方法和类等一些概念,最后有部分视频是大家自行学习的,然后又用了一次课的时间来给大家答疑一些制作最终大作业过程中遇到的问题,觉得许多问题还是要在上手的过程中才能发现,然后问题来进行一些有针对性的指导效果更佳:)
关于3A&3B
3A介绍了一些方法和类的进阶概念,而3B则主要介绍了一些之前没有深入介绍的东西,比如新的View——CheckBox、EditText以及ScrollView等,借由这些控件我们可以绘制出更加复杂的界面,然后介绍了我认为写程序最重要的一个东西——if/else的用法,程序在很多时候就是在无数个if/else中选择正确适合当下的那条路。
intent则是我觉得本次学到最重要的东西,因为借助这个东西我们可以在不同的界面中进行跳转,甚至调用系统中其他的应用,我们可以写出具备多个界面,每个界面有具备各自不同用途的东西,这样才更像一个完整的App该有的样子吧。
至于将调用的语言文字以及样式统一到xml文件中然后利用方法去判断调用,应该是体验优化的部分,我认为很重要,但不是最重要的,毕竟要先有再优嘛:)
最终大作业
一直在想最终大作业该做什么东西,介绍五个知识这件事情实在太抽象了。最后想起了一次跟朋友的聊天,那位朋友很喜欢中国古诗词这些东西,突然觉得也许可以介绍一下古代文化知识的东西,所以就写了一个介绍五种古代诗歌的App,分别介绍了“楚辞”、“汉赋”、“唐诗”、“宋词”和“元曲”。
因为是介绍古诗词所以觉得文字如果可以使用竖排版的方式应该会更有意境,因此一直在网上搜索如何将文字竖排的方法,看到了有不少实现方式和思路,最后选定了此文中的方法,目前还仅仅是拿来主义并未深入研究实现的方法,我希望在本次结业以后能有时间和能力好好研究并争取能优化该方法(毕竟这是几年前的内容了,貌似定义字号还不支持SP单位)
在搞定文字竖排的问题之后,摆在我面前最大的问题就是该如何去绘制界面,尽管界面原型早就在脑中成型,但问题在于我的设计中会需要反复使用同一个界面来展示不同内容的东西,而本次课程中学到的内容并不足以完成这样的功能,而让我给每一首诗歌都绘制一个界面然后单独定义跳转又总觉得傻傻的,虽然可以做,但总是心有不甘orz
于是在请教了马老师以后,他帮忙写了一个读取解析JSON文件的方法给我,并指导了我定义在全应用中调用的“真·全局变量”(先前的全局变量都是在类中全局调用),用这种方法来避免通过intent的方法传递过多数据,然后终于在摸索了一段时间以后磕磕绊绊地完成了数据的解析和展示,得以避免重复劳动😂
在这个过程中我发现了自己的几个问题:
- 经常忘记每一行代码末尾的“;”,坏习惯orz
- 想的比做得多,然后在实现的过程中会发现容易懵圈儿继而影响情绪和状态
- 非常非常粗心!两次被奇怪的问题卡住,最后debug之后发现都是敲错了变量名文件名之类的超低级错误(同时发现debug果然超级有用😂)