① android常用設計模式或者框架有哪些我說的是最常用的,像j2ee中的SSH框架。
android內暫時沒有什麼框架。
自己按照mvc分層的原則做好就好,有些開源的像facebook也有很多的開源庫。你可以考慮一下使用。
② Android 開發中常用到的設計模式有哪些
設計模式總共是23種,常用的有下面幾種 :
1 單例模式,application 就是單例 可以存儲一些數據例如記錄activity的啟動數量 ;
2 觀察者模式: button的onClickListener ,監聽button的響應;
3 適配器模式 :例如recyclerView 的adapter ;
4 命令模式: 例如開源庫eventBus ,把數據封裝好 發送出去,然後接收; 等等等等,很多
③ android 需要看什麼設計模式
1 Android設計模式系列-組合模式
2 Android設計模式—策略模式
3 Android設計模式系列-單例模式
4 Android設計模式系列--工廠方法模式
5 Android設計模式系列-適配器模式
6 Android設計模式系列--原型模式
7 Android設計模式系列--觀察者模式
8 Android設計模式系列--模板方法模式
④ MVC設計模式是什麼怎麼理解
什麼是MVP
View :是指顯示數據並且和用戶交互的層。在安卓中,它們可以是一個Activity,一個Fragment,一個android.view.View或者是一個Dialog。
Model :是數據源層。比如資料庫介面或者遠程伺服器的api。
Presenter:是從Model中獲取數據並提供給View的層,Presenter還負責處理後台任務。
MVP是一個將後台任務和activities/views/fragment分離的方法,讓它們獨立於絕大多數跟生命周期相關的事件。這樣應用就會變得更簡單,整個應用的穩定性提高10倍以上,代碼也變得更短,可維護性增強,程序員也不會過勞死了~~。
為什麼要在安卓上使用MVP原因一: 盡量簡單
如果你還沒有閱讀過這篇文章,閱讀它: Kiss原則(https://people.apache.org/%7Efhanik/kiss.html)。- kiss是Keep It Stupid Simple或者Keep It Simple, Stupid的縮寫。
.絕大多數的安卓程序都只使用了View-Model架構。
.程序員被絞盡了復雜的界面開發中,而不是解決事務邏輯。
在應用中使用Model-View的壞處是「每個東西之間都是相互關聯的」如下圖:
如果上面的圖解看起來還不夠復雜,那麼想想這些情況:每個view可能在任意的時間出現或者消失,view數據需要保存與恢復,在臨時的view上掛載一個後台任務。
而與「每個東西之間都是相互關聯的」的相反選擇是使用一個萬能對象(god object)。註:god object是指一個對象/常式在系統中做了太多的事情,或者說是有太多不怎麼相關的事情放在一個對象/常式裡面來完成。
god object過於復雜,他的不同部分無法重用、測試,無法輕易的debug和重構。
使用MVP
復雜的任務被分割成簡單的任務。
.更小的對象,更少的bug。
.更好測試
MVP的view層變得如此簡單,在請求數據的時候甚至不需要使用回調。view的邏輯變得非常直接。
原因二: 後台任務
當你需要寫一個Activity,Fragment或者一個自定義View的時候,你可以將所有和後台任務相關的方法放在一個外部的或者靜態的類中。這樣你的後台任務就不會再與Activity相關聯,不會在泄漏內存同時也不會依賴於Activity的重建。我們稱這樣的一個類為「Presenter」。註:要理解此話的含義最好先看懂第一個MVP示例的代碼。
雖然有一些方法可以解決後台任務的問題,但是沒有一種和MVP一樣可靠。
為什麼這是可行的
下面的圖解顯示了在configuration改變或者發生out-of-memory事件的情況下應用的不同部分所發生的事情。每一個開發者都應該知道這些數據,但是這些數據並不好發現。
| Case 1 | Case 2 | Case 3
|A configuration| An activity | A process
| change | restart | restart
---------------------------------------- | ------------- | ------------ | ------------
Dialog | reset | reset | reset
Activity, View, Fragment | save/restore | save/restore | save/restore
Fragment with setRetainInstance(true) | no change | save/restore | save/restore
Static variables and threads | no change | no change | reset
情景1:configuration的改變通常發生在旋轉屏幕,修改語言設置,鏈接外部的模擬器等情況下。要知道更多的configuration change事件請閱讀:configChanges(developer.android.com/reference/android/R.attr.html#configChanges)。
情景2:Activity的重啟發生在當用戶在開發者選項中選中了「Don't keep activities」(「中文下為 不保留活動」)的復選框,然後另一個Activity在最頂上的時候。
情景3:進程的重啟發生在應用運行在後台,但是這個時候內存不夠的情況下。
結論
現在你可以發現,一個擁有setRetainInstance(true)的Fragment並沒有帶來幫助 - 我們還是要保存和/恢復這種fragment的狀態。因此我們可以去掉可保持Fragment的情景,把問題簡單化。Occam's razor(https://en.wikipedia.org/wiki/Occam%27s_razor)
⑤ Spring MVC架構在Android中怎樣才能被使用
Android中的mvc和spring區別不大,思想是完全一樣的,例如listview的adapter,就是一個標準的mvc設計模式,adapter是c層,m是數據,listview是v層。
⑥ Android開發有MVC的框架嗎Android 開發該怎麼分包
現在都使用mvp進行android開發。
詳細例子請參考android學習手冊,360手機助手中可以下載,裡面有108個android例子,源碼文檔都可在裡面看,裡面有詳細介紹這個的框架。
MVP模式是什麼?MVP 是從經典的模式MVC演變而來,它們的基本思想有相通的地方:Controller/Presenter負責邏輯的處理,Model提供數據,View負責顯示。
MVC和MVP的區別?
為什麼會出現MVP模式呢?這是因為原有的MVC模式有一些短板。比如在android開發中,activity充當著MVC中Controller的角色,但是在實際開發中處理view的邏輯和角色。當業務界面復雜時我的activity會顯得很龐大。於是出現了MVP模式,它新增了一個Presenter角色用於處理數據和界面的模型以及邏輯,Activity僅僅用於展示界面和用戶交互,這樣就解決了MVC中角色不清的局面。
所以,MVP與MVC的重大區別:在MVP中View並不直接使用Model,它們之間的通信是通過Presenter (MVC中的Controller)來進行的,所有的交互都發生在Presenter內部,而在MVC中View會直接從Model中讀取數據而不是通過 Controller。
在MVC里,View是可以直接訪問Model的!從而,View里會包含Model信息,不可避免的還要包括一些業務邏輯。 在MVC模型里,更關注的Model的不變,而同時有多個對Model的不同顯示,即View。所以,在MVC模型里,Model不依賴於View,但是View是依賴於Model的。不僅如此,因為有一些業務邏輯在View里實現了,導致要更改View也是比較困難的,至少那些業務邏輯是無法重用的。
MVC模式結構
Model 業務邏輯和實體模型
Controller 對應Activity
View 視圖以及布局文件
MVP模式結構
Model: 業務邏輯和實體模型
View:用戶交互和視圖顯示,在android中對應activity
Presenter: 負責完成View於Model間的邏輯和交互
小節:MVP模式相當於在MVC模式中又加了一個Presenter用於處理模型和邏輯,將View和Model完全獨立開,在android開發中的體現就是activity僅用於顯示界面和交互,activity不參與模型結構和邏輯,
####實戰
谷歌官網給了我們一個MVP模式實戰的例子,它是一個類似記事本的app,源碼地址在:https://github.com/googlesamples/android-architecture
官方案例的框架圖如下:
⑦ 什麼是MVC設計模式,為什麼使用MVC
MVC(Model-View-Controller)把系統的組成分解為M(模型)、 V(視圖)、C(控制器)三種部件。視圖表示數據在屏幕上的顯示。控制器提供處理過程式控制制,它在模型和視圖之間起連接作用。控制器本身不輸出任何信息和做任何處理,它只負責把用戶的請求轉成針對Model的操作,和調用相應的視圖來顯示Model處理後的數據。
用戶界面邏輯的更改往往比業務邏輯頻繁,尤其是在基於Web的應用程序中。例如,可能添加新的用戶界面頁,或者可能完全打亂現有的頁面布局。對顯示的更改,盡可能地不要影響到數據和業務邏輯。
目前大部分Web應用都是將數據代碼和表示混在一起。經驗比較豐富的開發者會將數據從表示層分離開來,但這通常不是很容易做到的,它需要精心的計劃和不斷的嘗試。MVC從根本上強制性的將它們分開。盡管構造MVC應用需要一些額外的工作,但它帶來的好處是無庸質疑的
⑧ MVC設計模式是什麼怎麼理解
MVC就是
M:Model 模型
V:View 視圖
C:Controller 控制器
模型就是封裝業務邏輯和數據的一個一個的模塊,控制器就是調用這些模塊的(java中通常是用Servlet來實現,框架的話很多是用Struts2來實現這一層),視圖就主要是你看到的,比如JSP等.
當用戶發出請求的時候,控制器根據請求來選擇要處理的業務邏輯和要選擇的數據,再返回去把結果輸出到視圖層,這里可能是進行重定向或轉發等.MVC我感覺主要就是把一個軟體或網站清晰地分成幾部分,每一部分都實現自己的功能,當某一部分需要修改時就可以只修改這一部分,不會去修改整體,當後期維護的時候MVC的作用也是很大的,耦合度太高就會導致牽一發而動全身,開銷也就會非常大了,現在的很多軟體都是要很多人完成的,不過不把軟體清晰的分層,不把軟體模塊化,大家就很難做好自己的那一塊,好多人都可能做了同一部分,而且沒辦法整合到一起,所以MVC我感覺是一種軟體架構思想,我也是新手,可能理解的不是很深,我就把我體會到的說了一下哈,希望大牛們批評更正哈!!!
⑨ android可以使用MVC設計模式嗎是不是和java的MVC設計模式一樣的
可以 其實設計模式都是配置這里 配置那裡 只要你會一種 另外一種配置相信也不成問題