Chapter2:Android與MVC設(shè)計模式


2.1 創(chuàng)建新類

  • 右鍵單擊類包曲伊,選擇New→Java Class菜單項凰锡。
  • 生成getter方法與setter方法:右擊構(gòu)造方法后方區(qū)域,選擇Generate...→Getter and Setter菜單項。選擇變量奄容,單擊OK按鈕。

2.2 Android 與 MVC設(shè)計模式

應(yīng)用對象分為模型产徊、視圖和控制器三類昂勒。Android應(yīng)用基于模型-視圖-控制器(Model-View-Controller)的架構(gòu)模式進(jìn)行設(shè)計。MVC設(shè)計模式表明舟铜,應(yīng)用的任何對象戈盈,歸根結(jié)底都屬于模型對象、視圖對象以及控制器對象中的一種谆刨。

  • 模型對象存儲著應(yīng)用的數(shù)據(jù)和業(yè)務(wù)邏輯塘娶。模型類常用來映射與應(yīng)用相關(guān)的一些事物。模型對象不關(guān)心用戶界面痊夭,它為存儲和管理應(yīng)用數(shù)據(jù)而生刁岸。
  • 視圖對象知道到如何在屏幕上繪制自己,以及如何響應(yīng)用戶的輸入她我。凡是能在屏幕上看到的對象虹曙,就是視圖對象。
  • 控制器對象含有應(yīng)用的邏輯單元番舆,是視圖對象與模型對象的聯(lián)系紐帶根吁。在Android的世界里,控制器通常是Activity合蔽、Fragment或Service的子類击敌。

使用MVC設(shè)計模式的好處

  • 以Java類組織代碼有助于從整體視角設(shè)計和理解應(yīng)用。同樣拴事,把java類以模型層沃斤、視圖層、控制器層進(jìn)行分類組織刃宵,也有助于我們設(shè)計和理解Android應(yīng)用衡瓶。這樣我們就可以按層而非一個個類來考慮設(shè)計開發(fā)了。
  • MVC模式還便于復(fù)用類牲证。相比功能多而全的類哮针,功能單一的專用類更有利于代碼復(fù)用

2.3 更新視圖層

  • 在Android的世界里,視圖對象通常由XML布局文件生成。
  1. 新增按鈕以及對文本視圖的調(diào)整(activity.xml)
  2. 更新字符串資源定義(strings.xml)
  3. 新增字符串

2.4 更新控制器層

  • 增加按鈕變量及Question對象數(shù)組(QuizActivity.java)
    private Button mNextButton;
    private Button mPrevButton;
    private TextView mQuestionTextView;
    private Question[] mQuestionBank = new Question[]{
    new Question(R.string.question_australia,true),
    new Question(R.string.question_oceans,true),
    new Question(R.string.question_mideast,false),
    new Question(R.string.question_africa,false),
    new Question(R.string.question_americas,true),
    new Question(R.string.question_asia,true),
    };

    通過多次調(diào)用Question類的構(gòu)造方法十厢,創(chuàng)建了Question對象數(shù)組等太。
  • 使用TextView
    略...

2.5 在物理設(shè)備上運行應(yīng)用

略...


2.6 添加圖標(biāo)資源

  • 在項目中添加資源
  • 首先打開Project視圖,展開app/src/main/res目錄蛮放,會看到名為mipmap-hdpi和mipmap-xhdpi目錄將定制好的drawable-mdpi缩抡、drawable-hdpi、drawable-xhdpi包颁、drawable-xxhdpi四個目錄復(fù)制粘貼到Android Studio的app/src/main/res目錄中瞻想。
  • 在XML文件中引用資源
    為Button組件新增兩個屬性:
    android:drawableRight(可選)=“@drawable/圖片名”
    android:drawablePadding=“(4)dp”

在XML資源文件中,通過資源類型和資源名稱娩嚼,可引用其他資源蘑险。以@string/開頭的是引用字符串資源。以@drawable/開頭的是應(yīng)用drawable資源岳悟。


挑戰(zhàn)

Button組件替換成ImageButton組件漠其。

ImageButton組件繼承自ImageView。Button組件則繼承自TextView竿音。
ImageView和TextView都繼承自View和屎。

ImageButton需要調(diào)整的屬性:
android:src=“@drawable/圖片名”


To be continued...

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市春瞬,隨后出現(xiàn)的幾起案子柴信,更是在濱河造成了極大的恐慌,老刑警劉巖宽气,帶你破解...
    沈念sama閱讀 221,576評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件随常,死亡現(xiàn)場離奇詭異,居然都是意外死亡萄涯,警方通過查閱死者的電腦和手機(jī)绪氛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來涝影,“玉大人枣察,你說我怎么就攤上這事∪悸撸” “怎么了序目?”我有些...
    開封第一講書人閱讀 168,017評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長伯襟。 經(jīng)常有香客問我猿涨,道長,這世上最難降的妖魔是什么姆怪? 我笑而不...
    開封第一講書人閱讀 59,626評論 1 296
  • 正文 為了忘掉前任叛赚,我火速辦了婚禮澡绩,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘俺附。我一直安慰自己肥卡,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 68,625評論 6 397
  • 文/花漫 我一把揭開白布昙读。 她就那樣靜靜地躺著召调,像睡著了一般膨桥。 火紅的嫁衣襯著肌膚如雪蛮浑。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,255評論 1 308
  • 那天只嚣,我揣著相機(jī)與錄音沮稚,去河邊找鬼。 笑死册舞,一個胖子當(dāng)著我的面吹牛蕴掏,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播调鲸,決...
    沈念sama閱讀 40,825評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼盛杰,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了藐石?” 一聲冷哼從身側(cè)響起即供,我...
    開封第一講書人閱讀 39,729評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎于微,沒想到半個月后逗嫡,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,271評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡株依,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,363評論 3 340
  • 正文 我和宋清朗相戀三年驱证,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片恋腕。...
    茶點故事閱讀 40,498評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡抹锄,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出荠藤,到底是詐尸還是另有隱情祈远,我是刑警寧澤,帶...
    沈念sama閱讀 36,183評論 5 350
  • 正文 年R本政府宣布商源,位于F島的核電站车份,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏牡彻。R本人自食惡果不足惜扫沼,卻給世界環(huán)境...
    茶點故事閱讀 41,867評論 3 333
  • 文/蒙蒙 一出爹、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧缎除,春花似錦严就、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至轰坊,卻和暖如春铸董,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背肴沫。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評論 1 272
  • 我被黑心中介騙來泰國打工粟害, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人颤芬。 一個月前我還...
    沈念sama閱讀 48,906評論 3 376
  • 正文 我出身青樓悲幅,卻偏偏與公主長得像,于是被迫代替她去往敵國和親站蝠。 傳聞我的和親對象是個殘疾皇子汰具,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,507評論 2 359

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,283評論 25 707
  • afinalAfinal是一個android的ioc,orm框架 https://github.com/yangf...
    passiontim閱讀 15,435評論 2 45
  • ¥開啟¥ 【iAPP實現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個線程菱魔,因...
    小菜c閱讀 6,444評論 0 17
  • 青澀的時光留荔,總會想起你。 不知如何說起你來豌习,總記得我們當(dāng)時很天真存谎,很傻,幻想著可以一輩子相守肥隆,那一年我1...
    莫欺少年窮pkx閱讀 501評論 6 17
  • 很想很想你既荚! 小可愛, 我的小龍女栋艳, 所以恰聘, 我今下午耗費了千年的功力, 變身金魚來到海底龍宮看看你吸占! 親愛的晴叨, ...
    劉文娟閱讀 374評論 0 3