android app 架構設計01,androidapp
1:本文有摘抄,
12345 |
- 開發過程中,需求、設計、編碼的一致性- 整個程式具有統一的風格,比如對話方塊樣式,按鈕風格,色調等UI元素- 整個程式具體統一的結構,比如不同模組訪問網路,它們的調用方式一致,例如非同步訪問都用回調方式通知結果,相同的功能應該提取成共通模組。- 開發人員能很好的執行需求人員和設計人員的意圖。- 有完整的文檔,需求文檔,設計文檔,測試文檔,處理流程的文檔等。 |
2:
如何保持概念完整性
2345 |
- 在制度上給予保證,產品的負責人必須建立技術上的絕對權威- 技術負責人員(SE,SL)必須嚴格執行項目的需求,設計,必須深入到編碼細節- 在不同階段,保持與所有人員的持續溝通,鼓勵開發人員提意見。- 讓開發人員參與設計,但不決定設計- 通過持續的反饋和溝通來實現模組重用 |
3:在開發的過程中,我們必須保證一些該統一資源 字型 顏色等的統一,
2345 |
- 在制度上給予保證,產品的負責人必須建立技術上的絕對權威- 技術負責人員(SE,SL)必須嚴格執行項目的需求,設計,必須深入到編碼細節- 在不同階段,保持與所有人員的持續溝通,鼓勵開發人員提意見。- 讓開發人員參與設計,但不決定設計- 通過持續的反饋和溝通來實現模組重用 |
Android架構設計的思想與原則是什?
rlei分析了Android的設計哲學:
理解好Intent,就可以理解Android哲學(所有應用生來平等)的一部分。舉個簡單的例子,iOS裡面應用要整合SNS如facebook/twitter/sina weibo等,都需要應用自己實現(iOS5也只是整合twitter一家);Android上只需要廣播一個share內容的intent。從理解Intent如何工作開始,你就在慢慢理解Activity Manager, Package Manager, Services這些Android的重要組件是如何工作的。
另外Binder是Android架構裡非常核心的一塊。Android基於Intent的訊息傳遞和組件/應用解耦,下面的基礎都是Binder IPC。在這一點上,Android實際上是光榮的傳承了BeOS和Palm OS 6(悲催的OS6...)未能發揚光大的一部分。
MVC(Content Provider, Activity, Layout, Adapters)這個比較基礎,也不算Android特有的。
Content Provider對資料訪問的抽象也是比較有意思的一塊。理想情況下,content provider可以讓用戶端用URI以語義化的方式訪問資料(URI本身即表示資料層次結構和查詢條件),而下面資料庫表的結構可以任意變動,不影響用戶端代碼。當然實做的時候content provider還是會被各種複雜的where子句暴露出SQL的實現細節
至於Android的許可權管理,其實比較簡單,主要是利用現成的Linux安全模型,進程之間相互隔離。API層級的許可權管理和JVM類似。
Billy Cui重點解析了許可權系統的設計:
Android的許可權系統是基於Linux,但又增加了很多自己的控制模組。
總體上來說,其分為以下幾部分許可權系統:
1. userid : 繼承於linux,對於多個app,通過shareuid的方式可以使用同一個userid,主要承擔一些目錄存取權限之類的工作,比如私人目錄只能由同一uid應用訪問。
2. 安裝level:system level or app level,這個是根據應用的安裝位置決定的,在system/app下安裝的應用就是system level,在許可權訪問中會得到更多的許可權,比如靜默安裝應用的許可權等。
3. permission : 這個是最主要的許可權控制,一般開發人員開發應用主要是接觸這個部分,在這部分中,會根據應用在AndroidManifest.xml中聲明的use-permission而在訪問相應api或資源時判斷其是否有存取權限,比如常用的android.permission.INTERNET等。
4. signature: 簽名,是Android許可權系統中的重要組成部分,對於系統簽名的應用,會有一些特殊的功能,而shareuid等特性也是需要同一簽名作為基礎。此外,permission在設定/自訂其許可權時也經常會使用到簽名,比如控制只有我自己的應用才可以訪問我自己定義的公開API。
除此以外,其實Android在uid的裡面設定了一些預定義有特殊功能的uid,比如system/media等,在配置其system level的services的時候會用到。
董兆輝則認為Android主要是基於組件搭配思想:
說到Android架構的設計思想和原則,按我的理解主要是組件搭配,即在使用者看來,所有的module或者組件,都是可以重複利用和簡......餘下全文>>
android手機app開發流程?
首先你要懂的android app開發語言有哪些(java,c++),其次,我在啟匯網路上面看到一些關於app軟體開發的步驟:1:應用規劃,2:架構設計,3:介面設計,4:資料操作與儲存,5:業務實現,6:頁面跳轉。當然,這隻是比較簡單的概括,如果你想知道更詳細的情況,得自己再去網上找資源才行。七月中 的感言: 贊!很贊!非常贊!從來沒有這麼贊過!