編輯:關於Android編程
今天看了一個Android的Training生命周期轉換的例子,頓覺得他的設計非常巧妙,我的分析如下:
1.在com.example.android.lifecycle包中有:
3個正常的全屏activity,一個類似dialog的activity
2.在com.example.android.lifecycle.util包中有:
StatusTracker.java, 用於將activity產生的已執行的周期函數和當前的狀態存儲在兩個list中
Utils.java, 用一個線程動態的更新activity中的兩個顯示當前周期函數調用棧幀和當前activity所處的狀態
當讀到這個代碼時,覺得寫的很順意,很快就知道這是怎麼回事兒,我把它歸結為:
activity中產生數據(消息),切換狀態
StatusTracker.java 存儲數據(消息)
Utils.java 讀取或是說消費數據,也可以說是將消息展示出來。
這似乎和出名的MVC相像,但有不全像,但此種設計確非常的清晰,而且非常的高效
這裡把數據的產、存、消分開寫,思路很不錯
在android的開發中,我覺得也應用到MVC,他將數據與邏輯分離,這樣看起來思路清晰
Activity無時無刻不在與用戶接觸,接受用戶的事件,數據等,然後響應,做出一定的改變,
對此,我覺得應該也把相應的數據和邏輯分出來,這樣不至於第二次看代碼時,還不知道這
部分是干嘛用的,還得苦心思去冥想這個類在此扮演了什麼角色。
Android中,呈現數據的效果無疑不是xml文件,這個可以做為view,沒有邏輯
在activity中有一堆的事件監聽,我認為可以把獲得用戶的事件的消息分離出來,另外寫一個
包或類控制器來處理,監聽事件中只負責接受消息,將消息傳入控制器,根據控制器來更新view
模型當然是獨立的了,有控制器來連接,主要用來做數據的存儲、封裝等
總的來說,xml文件為試圖view ,監聽器做為控制器的一部分, 而模型應當獨立出來,這樣我覺得代碼
的維護就比較簡單了。
貢獻/下載源碼:https://github.com/mmlovesyy/PopupWindowDemo本文簡單模仿微信朋友圈的點贊和評論彈出框,布局等細節請忽略,著重實
一、前言現在要說的就是最後一篇了,如何應對Android中一些加固apk安全防護,在之前的兩篇破解文章中,我們可以看到一個是針對於Java層的破解,一個是針對於nativ
前言這篇文章是這個系列的開篇,作為移動開發者,開發的應用不免會對網絡進行訪問,雖然現在已經有很多的開源庫幫助我們可以輕而易舉的訪問網絡,但是我們仍要去了解網絡訪問的原理,
開篇先介紹幾個放在眼前卻經常忽視的快捷鍵如圖:展現出android Studio超強的搜索能力,提高大工程的開發維護效率。雙擊Shift按鍵效果Ctrl+Shift+N