2015-12-03 13:57:14 1777浏览
无论哪家公司,新入职的同事都会有一个热身的过程,不论你是刚刚毕业,还是业内大牛,流程上必要的一些过程,都有助于你快速熟悉新的工作环境,尽早进入工作状态。本文更多的是讲解一下Android开发入门教程,这里仅仅就开发新人技术热身的角度,抽取一些共通的东西,给大家分享下我们的Android入职热身练习题。需要说明的是,练习的重点是最后的check list, 如果这些东西你早已了然于胸,过完check list即可,热身立马结束,当然如果有些东西你不够熟悉,还是值得花点时间重新温习下,毕竟所谓磨刀不误砍柴工。
对于已经开始做Mentor的、有经验的Android开发同学,可以借鉴其中的思路,结合自家实际情况完善流程,避免每来一个新人都要耗费你不少时间讲些重复的东西。而对于Android应用开发初学者来说,这也是一份不错的基础练习题。
练习题
1、Linux基础练习题
由于安卓开发环境搭建使用是Linux系统,为了帮助大家更好的进行Android开发,需要学习Linux的一些基础知识,捋顺Android学习路线。
本练习题旨在帮助大家学习在Terminal终端如何通过命令行进行基本的文件操作,请大家按照如下步骤进行:
按“Ctrl + Alt + T”,打开Terminal终端,开始练习。
输入“pwd”查看当前路径,输入“mkdir test_project”在当前路径下新建文件夹test_project;
输入“cd test_project”切换路径到test_project文件夹;
输入“vim HelloWorld.java”,编写一个打印“Hello World”的java程序,退出vim并保存文件;
通过“javac”和“java”命令编译并运行HelloWorld.java,并将运行结果保存到result.txt中;
输入“ls”查看当前目录下有多少文件和文件夹;
通过“zip”或者“tar”命令将当前目录下的文件和文件夹打包;
新建文件夹another,切换路径到another文件夹中;将test_project中的打包文件拷贝过来,解压;
输入“cd ..”切换到上级目录test_project中,查找当前目录下所有名为“HelloWorld.java”的文件;
通过“grep”命令查找当前目录及其子目录下所有文件是否含有“Hello”字符串,并打印出来;
输入“history > exercise01_result.txt”,将练习结果保存到exercise01_result.txt中;
输入“exit”退出Terminal终端,结束练习。
练习结束之后,请将exercise01_result.txt发给自己的Mentor。
Tips: 对于不熟悉的Linux命令,可以man XX来查看详细帮助信息,比如“man grep”就可以查看grep命令的帮助。
2、Git练习题
在分布式协作开发的项目中,Git可以很好的进行版本控制,掌握Git的使用对提高开发效率有很大的帮助。
本练习题旨在考察工作中常用的Git基础知识,请按照要求完成下面的三个练习题。
练习一:自定义Git配置
使用git config –list查看配置信息;
设置color.ui,建议设置为auto;
设置core.editor,建议设置为vim;
设置user.name和user.email;
设置merge.tool和diff.tool.
练习二:使用Git管理本地项目
使用Git初始化“Linux基础练习题”中建好的test_project目录,开始练习。
修改test_project下面的.gitignore文件,忽略.class类型的文件以及another目录;
将test_project目录下的所有文件添加到暂存区,查看当前工程的状态;
将暂存区的内容提交到Git仓库,查看当前工程的状态;
查看提交历史,找到上面提交的Commit Id,假定该Commit Id为Commit01;
查看Commit01的详细修改信息;
修改HelloWorld.java,添加打印“This is a git test!”,查看当前工程的状态;
将上面的修改提交到Git仓库,假定该Commit Id为Commit02;
查看当前分支信息(假定为master分支),新建分支new_branch,并切换到新分支;
查看新分支的提交历史,检查是否存在Commit01和Commit02;
如果不存在以上两个提交,请将以上两个提交cherry-pick过来;
重置当前分支new_branch的HEAD到Commit01,并且撤销Commit02的所有修改;
再次修改HelloWorld.java,将打印信息“This is a git test”改成“This is a git test on new_branch.”;
提交上面的修改,假定为Commit03;
切换分支到之前的master分支,将Commit03 cherry-pick到该分支;这里会有冲突,请解决冲突,保留Commit03的修改,提交;
删除exercise01_result.txt;运行history > exercise02_result.txt;
查看当前工程的状态,将新增的、删除的文件都提交到Git仓库;
打包test_project为exercise02.zip,将该zip包发给自己的Mentor,本次练习结束。
练习三:结合Gerrit进行代码审核
将TestProject2从codeserver上clone下来,开始练习。
修改某一个文件,提交到本地git仓库,查看对应的Commit Id,假定为Commit01;
将Commit01 push到Gerrit服务器;
追加提交到Commit01,修改Commit01的commit message;
再次查看对应的Commit Id,查看Commit Id是否发生了变化;
再次将你的提交push到Gerrit服务器;
请登录Gerrit账号查看自己的changes,如果你生成了两个changes,说明你Commit01中没有设置Change-Id;
请拷贝自动化生成Change-Id的脚本commit-msg到.git/hooks目录下面;
再次追加提交信息到你的提交,然后查看自己的提交历史,可以看到提交信息的最下面已经有了Change-Id;
再次push你的提交到Gerrit服务器,这时会在Gerrit上看到生成了一个change;
再次追加信息后提交到Gerrit服务器,再次查看,不会有新的change产生,但是之前提交的那个change会生成一个新的patch;
在Gerrit上添加你的Mentor进行Code Review;
将Gerrit上的change提交merge到codeserver上;
在本地同步最新的代码,然后找到自己的提交,revert该提交;
将revert之后的提交push到Gerrit,请Mentor再次review,通过之后,merge到codeserver,本次练习结束。
Tips:对于不清楚的Git命令,可以通过git help XX来查看帮助信息,比如git help status就可以查看“git status”的帮助。
3、Repo练习题
Repo在管理多个Git项目时很方便,请到Github上找一个用Repo管理的项目,同步下来开始练习。
本次练习要求掌握如下操作:
Repo初始化工程;
Repo同步项目代码;
Repo切换所有子项目的分支;
Repo查看所有子项目的状态;
Repo提交所有项目代码;
Repo为所有子项目执行某git命令。
Android练习题
目标:开发一款RSS阅读器
要求:
可以通过界面手动添加和删除RSS源;
界面支持在已订阅的RSS源间切换,以显示不同的文章列表;
文章列表用ListView实现;
点击某一文章项后可以展示原网页;
可以刷新以获取RSS源更新内容;
App进来时显示上次退出时显示的文章列表;
App有设置界面,设置项包括;
是否打开应用时刷新文章列表;
ListView 文字大小设置;
About页面;
Check List;
本Check List用于检查Ramp Up的程度,要求自入职开始每天晚上下班前更新本Check List,并作为Daily Report发送给自己的Mentor。
上文讲解的知识点如果大家还有疑问,推荐大家可以观看扣丁学堂顶级讲师录制的Android开发课程视频,里面会更详细的介绍关于Android开发与实战的知识要点。