欧美亚州日韩国产_亚洲一级三级片免费看_国产精品成人黄片_国产精品手机在线亚洲_久久毛片亚洲精品视频_亚洲成人av资源_国产电影欧美日韩_免费黄色网站视频在线观看_黄色视频免费观看网址_大秀亚洲日韩主播欧美

咨詢熱線:400-818-1122
首頁
致遠(yuǎn)軟件專題首頁 > 最新更新
大連Android軟件應(yīng)用系統(tǒng)開發(fā)
上傳日期:2019-10-18 15:25 文章來源:

      大連Android軟件應(yīng)用系統(tǒng)開發(fā)的體系結(jié)構(gòu)非常適于使用MVP模式進(jìn)行開發(fā)。與MVC模式不同,Android中的Activity 并不是一個標(biāo)準(zhǔn)的 Controller,它的首要職責(zé)是加載應(yīng)用的布局和初始化用戶界面,同時接受并處理來自用戶的操作請求,進(jìn)而作出響應(yīng)。隨著界面及其邏輯的復(fù)雜度不斷提升, Activity類的職責(zé)不斷增加,以致于變得龐大臃腫。當(dāng)我們將其中復(fù)雜的邏輯處理移至另外一個類(Presneter)中時,Activity其實(shí)就是MVP模式中View,它負(fù)責(zé)UI元素的初始化,建立UI元素與Presenter的關(guān)聯(lián)(Listener之類),同時自己也會處理一些簡單的邏輯(復(fù)雜的邏輯交由Presenter處理)。

      通過這種職責(zé)的分離,一方面代碼的可讀性得到了提高,另一方面我們可以更為方便地通過Mock Activity的方式對各種邏輯(Presenter 中的方法)進(jìn)行測試。

      對于測試環(huán)境的搭建和測試Android相關(guān)的代碼,我們則借助于Robolectric的幫助。

      致遠(yuǎn)服軟認(rèn)為:http://www.soft8.com.cn/Robolectric在其所提供的測試框架中完全模擬了Android SDK的JAR 文件(不會再有惱人的 Stub 異常),它使得我們的測試可以運(yùn)行于 JVM 之上(速度得到大幅度地提升),因此我們可以用它對 Android 應(yīng)用進(jìn)行測試驅(qū)動開發(fā)。Roblectric 同時實(shí)現(xiàn)了 Android 中對 XML的解析,模擬了View、Layout以及資源的加載,它使得Android的環(huán)境對于開發(fā)人員來說更像是一個黑盒,從而使大連遠(yuǎn)程會議系統(tǒng)開發(fā)人員不用大量使用Mock就可以方便地對資源狀態(tài)和Android相關(guān)的代碼進(jìn)行測試。

      Robolectric使用了Javassist 在運(yùn)行時動態(tài)修改Android.jar中類的Byte code,Robolectric會在JVM加載        Android.jar包的時候,重寫其中類的方法。Roblectroic會讓這些方法有返回值(null 或是0)而不是拋出異常,或者將這些方法調(diào)用轉(zhuǎn)向Shadow Objects來模擬Android SDK的實(shí)現(xiàn)。Shadow Objects是Robolectric 在運(yùn)行時插入到Android.jar包相應(yīng)的類中的,它們會實(shí)際處理方法的調(diào)用并記錄相應(yīng)的狀態(tài),以備在assert的時候進(jìn)行查詢。Robolectric提供了大量的Shadow Objects,覆蓋了大連Android軟件應(yīng)用系統(tǒng)開發(fā)測試開發(fā)過程中絕大多數(shù)邏輯功能的需要。

      基于大連Android軟件應(yīng)用系統(tǒng)開發(fā)的測試需要使用其特定的Test Runner(RobolectricTestRunner)來運(yùn)行,我們可以通過擴(kuò)展 RobolectricTestRunner 來創(chuàng)建一個自己的 Test Runner,同時在其構(gòu)造函數(shù)中設(shè)定需要加載的AndroidManifest.xml和resource目錄。

免責(zé)聲明:網(wǎng)站內(nèi)涉及到圖片及相關(guān)文字如涉及到侵權(quán),請及時聯(lián)系我們處理
< 返回列表
最新更新推薦
致遠(yuǎn)服軟讓IT更簡單,更安全,更有價值
咨詢熱線:400-818-1122