1.学会的技术
1.1Git
Git 应该是这次软工实践收货最大,也是应用最熟练的一门技术了。之前面向对象课程的时候也只是简单的使用了一下 git 的命令行,现在想起来当时真是没学进去。
-
完整的看了一遍 “Git 廖雪峰教程”,知道了 Git 其实就是本地的版本控制软件,Github就是服务器的备份,如果条件允许,可以搭建一个私人的服务器。
-
Git 命令行的操作运用到软工作业:同学录当中。从组织建立,fork,到本地的开发,push到Github,发送 Pull Request 到 组织的对应分支。这之间的操作大大小小的经历过不下 30 遍吧。
-
Git 图形界面 GitKraken 的使用。 GitKraken 是一个非常直观的 Git 图形界面客户端。能够直接看到自己、组织中的每一个人的 commit 鼠标点击即可实现,在学过命令行操作之后,上手GitKraken 速度飞快。团队编程中,也把自己的经验也分享给同伴,共同进步。
- 干净简洁的 Commit , 这一点我是团队第一个出错的,在Github上面的Commit 出现多余的一条(造成这种情况的原因可能很多),对于组织的管理者来说,肯定不希望有一个多余的 Commit,上网搜索了一些资料,结合自己的理解,在回退,强制push的操作下,了解了如何弄出一个干净简洁的commit。
1.2 Android 开发
Android 开发应该是这次让我印象最深刻的了,在 Android 开发中,也是深深的体会到老师说的:“Learning by doing” 这一点的重要性。
学会的技术如下
1. Android 四大组件基本都了解掌握
本次开发中用到的组件并不多,只用到了活动,碎片。服务和内容提供器都没有涉及。底部导航栏采用 MD 风格,结合碎片让各个界面切换之间更加的流畅。
2. Jsoup 爬去网页内容
由于服务器要专心的做算法推荐这一块的内容,爬去用户记录以及文章内容的任务交给的 Android ,Jsoup类似与JQurey(大概是找前端 的按钮之类的,设置监听,没有具体了解过)。Android主要使用Jsoup,能加载html文件,网页,html源码。查找到对应文章的标题,发布时间,作者,内容之后,返回给服务器。并进行本地缓存。
3. 使用 OKHttp 与服务器,七牛云进行交互。
OKHttp与服务器交互,发送的请求有post get,put,delete方式,这些用Okhttp来实现非常的简单,把需要的数据发送给服务器,对服务器返回错误代码,以及数据进行解析就能够完成与服务器的完整交互。与七牛云的交互类似
4. 线程切换
线程切换,这一块只是简单的学习了一下线程,以及线程的回调处理。接下来一段时间打算学习RxJava框架。
5. Gson 库的使用,用于产生 Json 数据包。
Gson库是谷歌的一个开源库,用户解析和生成Json数据,并且映射到类当中。试发送和解析变得更加方便。
6. 加强了Android SQLite数据库操作。
使用第三方开源库,LitePal 进行数据库操作,保存用户的记录,对从服务器获取的文章,进行本地缓存。
7. RecyclerView 的加强
能够按照需求,设计出对应的 RecyclerView 子项,并从数据库,或者服务器加载出对应的数据进行显示。
8. 调用系统组件,用于项目中
由于需要用到图片上传功能,调用系统的相册,上传七牛云,获取文件外链插入编辑器中。
9. 熟练的从 GitHub 搬运开源项目
也不知道算不算一个技能哈,这次的富文本编辑器是从Github上面一堆的开源库中找到的一个比较好的。一开始还连 Github 上的项目都运行不出来,后面修改了对应的 Build Tool 运行起开源项目就非常的得心应手了。之后读了源码之后对相应的模块进行修改调整。
二、一点点的经验 & 感受。
这次团队项目中担任底部栏框架,文章模块,记录模块的开发,任务稍重,冲刺阶段有好几天都在12小时以上的编程。在冲刺阶段的磨练下,自己的 Android 技术也正在不断的进步,收货巨大。