編輯:關於android開發
生命周期:因為Presenter是View創建的,我們需要確保完全地理解View的生命周期,特別是因為它將最有可能去處理狀態更新和異步數據。舉個例子,每一個Presenter應該在View destroyed的情況下有一個取消異步任務的方式,或者應該在用戶暫停或者恢復視圖事件時重置到原始狀態等等。最後但同樣重要的是,當View已經被銷毀,試圖從Presenter去更新View元素,始終需要注意可怕的NPEs。
保持Views盡可能地愚蠢:我們的Views應該不再包含任何業務相關的邏輯。它應該只包含Android框架inflate和設置View的這些最低限度的東西。任何用戶交互應該派發到Presenter。根據經驗,如果你的views有任何其它方法去更新UI元素或者響應用戶觸發的事件,那麼你可能應該去檢查它們的實現。
保持Presenter盡可能地純粹:這一點,我們的意思時你應該盡可能地避免有Android相關的代碼在你的presenters中。為這些組件編寫純粹的單元測試,而不需要使用其它如Robolectric等測試框架,這明顯地得到了簡化。這明顯說起來比做起來容易得多,因為你終歸會在某些地方遇到這種情況,舉個例子,你將需要有一個Context的引用用來比如數據加載、訪問strings文件等等。
Intent(三)向下一個活動傳遞數據,intent傳遞 向下傳遞活動很簡單,可以我采用putExtra()方法的重載,把
Android 動態創建Fragment,androidfragmentFragment是activity的界面中的一部分或一種行為。可以把多個Fragment組合到一個
Android反編譯和二次打包實戰 作為Android開發者,工作中少不了要反編譯別人的apk,當然主要目的還是為了學習到更多,取彼之長,補己之短。今天就來總結一下A
上一節講了使用WebView控件訪問網絡的方法,而除這種方法之外,我們還可以使
Android WindowManager實現懸浮窗效果 (一)——與當