2015-12-03 13:57:14 2729瀏覽
無論哪家公司,新入職的同事都會有一個熱身的過程,不論你是剛剛畢業(yè),還是業(yè)內(nèi)大牛,流程上必要的一些過程,都有助于你快速熟悉新的工作環(huán)境,盡早進入工作狀態(tài)。本文更多的是講解一下Android開發(fā)入門教程,這里僅僅就開發(fā)新人技術(shù)熱身的角度,抽取一些共通的東西,給大家分享下我們的Android入職熱身練習(xí)題。需要說明的是,練習(xí)的重點是最后的check list, 如果這些東西你早已了然于胸,過完check list即可,熱身立馬結(jié)束,當(dāng)然如果有些東西你不夠熟悉,還是值得花點時間重新溫習(xí)下,畢竟所謂磨刀不誤砍柴工。
對于已經(jīng)開始做Mentor的、有經(jīng)驗的Android開發(fā)同學(xué),可以借鑒其中的思路,結(jié)合自家實際情況完善流程,避免每來一個新人都要耗費你不少時間講些重復(fù)的東西。而對于Android應(yīng)用開發(fā)初學(xué)者來說,這也是一份不錯的基礎(chǔ)練習(xí)題。
練習(xí)題
1、Linux基礎(chǔ)練習(xí)題
由于安卓開發(fā)環(huán)境搭建使用是Linux系統(tǒng),為了幫助大家更好的進行Android開發(fā),需要學(xué)習(xí)Linux的一些基礎(chǔ)知識,捋順Android學(xué)習(xí)路線。
本練習(xí)題旨在幫助大家學(xué)習(xí)在Terminal終端如何通過命令行進行基本的文件操作,請大家按照如下步驟進行:
按“Ctrl + Alt + T”,打開Terminal終端,開始練習(xí)。
輸入“pwd”查看當(dāng)前路徑,輸入“mkdir test_project”在當(dāng)前路徑下新建文件夾test_project;
輸入“cd test_project”切換路徑到test_project文件夾;
輸入“vim HelloWorld.java”,編寫一個打印“Hello World”的java程序,退出vim并保存文件;
通過“javac”和“java”命令編譯并運行HelloWorld.java,并將運行結(jié)果保存到result.txt中;
輸入“l(fā)s”查看當(dāng)前目錄下有多少文件和文件夾;
通過“zip”或者“tar”命令將當(dāng)前目錄下的文件和文件夾打包;
新建文件夾another,切換路徑到another文件夾中;將test_project中的打包文件拷貝過來,解壓;
輸入“cd ..”切換到上級目錄test_project中,查找當(dāng)前目錄下所有名為“HelloWorld.java”的文件;
通過“grep”命令查找當(dāng)前目錄及其子目錄下所有文件是否含有“Hello”字符串,并打印出來;
輸入“history > exercise01_result.txt”,將練習(xí)結(jié)果保存到exercise01_result.txt中;
輸入“exit”退出Terminal終端,結(jié)束練習(xí)。
練習(xí)結(jié)束之后,請將exercise01_result.txt發(fā)給自己的Mentor。
Tips: 對于不熟悉的Linux命令,可以man XX來查看詳細(xì)幫助信息,比如“man grep”就可以查看grep命令的幫助。
2、Git練習(xí)題
在分布式協(xié)作開發(fā)的項目中,Git可以很好的進行版本控制,掌握Git的使用對提高開發(fā)效率有很大的幫助。
本練習(xí)題旨在考察工作中常用的Git基礎(chǔ)知識,請按照要求完成下面的三個練習(xí)題。
練習(xí)一:自定義Git配置
使用git config –list查看配置信息;
設(shè)置color.ui,建議設(shè)置為auto;
設(shè)置core.editor,建議設(shè)置為vim;
設(shè)置user.name和user.email;
設(shè)置merge.tool和diff.tool.
練習(xí)二:使用Git管理本地項目
使用Git初始化“Linux基礎(chǔ)練習(xí)題”中建好的test_project目錄,開始練習(xí)。
修改test_project下面的.gitignore文件,忽略.class類型的文件以及another目錄;
將test_project目錄下的所有文件添加到暫存區(qū),查看當(dāng)前工程的狀態(tài);
將暫存區(qū)的內(nèi)容提交到Git倉庫,查看當(dāng)前工程的狀態(tài);
查看提交歷史,找到上面提交的Commit Id,假定該Commit Id為Commit01;
查看Commit01的詳細(xì)修改信息;
修改HelloWorld.java,添加打印“This is a git test!”,查看當(dāng)前工程的狀態(tài);
將上面的修改提交到Git倉庫,假定該Commit Id為Commit02;
查看當(dāng)前分支信息(假定為master分支),新建分支new_branch,并切換到新分支;
查看新分支的提交歷史,檢查是否存在Commit01和Commit02;
如果不存在以上兩個提交,請將以上兩個提交cherry-pick過來;
重置當(dāng)前分支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;
查看當(dāng)前工程的狀態(tài),將新增的、刪除的文件都提交到Git倉庫;
打包test_project為exercise02.zip,將該zip包發(fā)給自己的Mentor,本次練習(xí)結(jié)束。
練習(xí)三:結(jié)合Gerrit進行代碼審核
將TestProject2從codeserver上clone下來,開始練習(xí)。
修改某一個文件,提交到本地git倉庫,查看對應(yīng)的Commit Id,假定為Commit01;
將Commit01 push到Gerrit服務(wù)器;
追加提交到Commit01,修改Commit01的commit message;
再次查看對應(yīng)的Commit Id,查看Commit Id是否發(fā)生了變化;
再次將你的提交push到Gerrit服務(wù)器;
請登錄Gerrit賬號查看自己的changes,如果你生成了兩個changes,說明你Commit01中沒有設(shè)置Change-Id;
請拷貝自動化生成Change-Id的腳本commit-msg到.git/hooks目錄下面;
再次追加提交信息到你的提交,然后查看自己的提交歷史,可以看到提交信息的最下面已經(jīng)有了Change-Id;
再次push你的提交到Gerrit服務(wù)器,這時會在Gerrit上看到生成了一個change;
再次追加信息后提交到Gerrit服務(wù)器,再次查看,不會有新的change產(chǎn)生,但是之前提交的那個change會生成一個新的patch;
在Gerrit上添加你的Mentor進行Code Review;
將Gerrit上的change提交merge到codeserver上;
在本地同步最新的代碼,然后找到自己的提交,revert該提交;
將revert之后的提交push到Gerrit,請Mentor再次review,通過之后,merge到codeserver,本次練習(xí)結(jié)束。
Tips:對于不清楚的Git命令,可以通過git help XX來查看幫助信息,比如git help status就可以查看“git status”的幫助。
3、Repo練習(xí)題
Repo在管理多個Git項目時很方便,請到Github上找一個用Repo管理的項目,同步下來開始練習(xí)。
本次練習(xí)要求掌握如下操作:
Repo初始化工程;
Repo同步項目代碼;
Repo切換所有子項目的分支;
Repo查看所有子項目的狀態(tài);
Repo提交所有項目代碼;
Repo為所有子項目執(zhí)行某git命令。
Android練習(xí)題
目標(biāo):開發(fā)一款RSS閱讀器
要求:
可以通過界面手動添加和刪除RSS源;
界面支持在已訂閱的RSS源間切換,以顯示不同的文章列表;
文章列表用ListView實現(xiàn);
點擊某一文章項后可以展示原網(wǎng)頁;
可以刷新以獲取RSS源更新內(nèi)容;
App進來時顯示上次退出時顯示的文章列表;
App有設(shè)置界面,設(shè)置項包括;
是否打開應(yīng)用時刷新文章列表;
ListView 文字大小設(shè)置;
About頁面;
Check List;
本Check List用于檢查Ramp Up的程度,要求自入職開始每天晚上下班前更新本Check List,并作為Daily Report發(fā)送給自己的Mentor。
上文講解的知識點如果大家還有疑問,推薦大家可以觀看扣丁學(xué)堂頂級講師錄制的Android開發(fā)課程視頻,里面會更詳細(xì)的介紹關(guān)于Android開發(fā)與實戰(zhàn)的知識要點。
查看更多關(guān)于“Android資訊”的相關(guān)文章>>
Android開發(fā)培訓(xùn)之0基礎(chǔ)學(xué)習(xí)基礎(chǔ)課程