淺談Android源代碼改進(jìn)問(wèn)題
下面介紹下有關(guān)Android源代碼的內(nèi)容和編程技巧,但是首先要讓大家了解下什么是Android操作系統(tǒng),所謂的Android系統(tǒng):基于Linux平臺(tái)的開(kāi)源手機(jī)操作系統(tǒng)。
實(shí)際上,TestCase這個(gè)類用于在Android源代碼擔(dān)當(dāng)所有獨(dú)特的TestCase的基類的作用,它是一個(gè)Abstract Class。Android單元測(cè)試類繼承關(guān)系圖如下所示:
之所以有那么多XXXTestCase主要是為了簡(jiǎn)化工作。例如當(dāng)你想對(duì)一個(gè)訪問(wèn)數(shù)據(jù)庫(kù)的功能進(jìn)行測(cè)試時(shí),首先需要自己?jiǎn)?dòng)并初始化數(shù)據(jù)庫(kù)。在這里是類似的,如果你想測(cè)試一個(gè)Activity,首先要啟動(dòng)它。而ActivityTestCase就會(huì)自動(dòng)幫你做完這些事情。
而 ActivityUnitTestCase會(huì)更注重測(cè)試的獨(dú)立性,它會(huì)讓測(cè)試與Android源代碼的聯(lián)系降到***。其余的類可以查看相關(guān)的Javadoc 來(lái)按需挑選。要編寫(xiě)測(cè)試,就是找到合適的XXXTestCase作為基類來(lái)繼承。
并且編寫(xiě)自己的測(cè)試方法。很明顯的,最簡(jiǎn)單的編寫(xiě)測(cè)試的方法就是繼承Android源代碼寫(xiě)一個(gè)自己的TestCase。然后為自己的一組TestCase寫(xiě)一個(gè)Activity界面。由界面控制 TestCase的啟動(dòng),運(yùn)行和結(jié)果報(bào)告。
但是,你很快會(huì)發(fā)現(xiàn),為何要給測(cè)試寫(xiě)一個(gè)界面呢?這太詭異了。這時(shí)就需要一種技術(shù),它可以利用命令行(Shell)來(lái)啟動(dòng)一組測(cè)試,并且通過(guò)命令行的形式給出結(jié)果。這就是所謂的Instrumentation。
除了上次我們簡(jiǎn)單介紹的內(nèi)容外可以看到Motodev studio for Android在創(chuàng)建新文件時(shí),多出了不少選項(xiàng),比如Android Activity、Broadcast Receiver、Service、Content Provider,幾乎Android源代碼的主要框架都包含在內(nèi)了。
不過(guò)僅僅是基礎(chǔ)代碼的生成,從另一個(gè)側(cè)面可以看到這點(diǎn)Google畢竟是從Web起家的,對(duì)于開(kāi)發(fā)人員來(lái)說(shuō)微軟這方面作為軟件帝國(guó)想的就十分周到。Motodev只是做了小幅的補(bǔ)充。經(jīng)過(guò)簡(jiǎn)單的試用可以看到對(duì)于標(biāo)準(zhǔn)的Android源代碼來(lái)說(shuō)。
試用Motodev還合適,不過(guò)考慮到目前moto的經(jīng)濟(jì)狀況,長(zhǎng)久考慮還是推薦使用Eclipse+ADT的方式穩(wěn)當(dāng),總體而言和Google官方的開(kāi)發(fā)工具相比沒(méi)有太大的改進(jìn),至少工作在Java VM上的產(chǎn)物穩(wěn)定性仍然是一個(gè)問(wèn)題。
【編輯推薦】