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