版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
BigNerdRanch是一家專業(yè)的移動(dòng)開發(fā)技術(shù)培訓(xùn)機(jī)構(gòu)。本書主要以其Android教學(xué)課程為基礎(chǔ),融合了幾位作者多年的心得體會(huì),是一本完全面向?qū)崙?zhàn)的Android編程指南。全書共36章,詳細(xì)介紹了8個(gè)Android應(yīng)用的開發(fā)過(guò)程。通過(guò)這些精心設(shè)計(jì)的應(yīng)用,讀者可掌握很多重要的理論知識(shí)和開第3版較之前版本增加了對(duì)數(shù)據(jù)綁定等新工具的介紹,同時(shí)新增了針對(duì)單元測(cè)試、輔助功能和MVVM架構(gòu)等的章節(jié)。如果你熟悉Java語(yǔ)言,或者了解面向?qū)ο缶幊?,那就立刻開始Android編程之 [美]BillPhillipsChrisStewartKristin 責(zé)任編輯責(zé)任印制人民郵 市豐臺(tái)區(qū)成壽寺路11100164 電子郵件 http 印刷開本:800×1000印張 彩插字?jǐn)?shù):884千 2017年6月第3印數(shù):38501—42000 2017年6月第1次印著作權(quán)合同登記號(hào)圖字:01-2017-3139
獻(xiàn)給我的DaveVadas,他激勵(lì)并支持我投身計(jì)算機(jī)行業(yè)。獻(xiàn)給我的JoanVadas,在 力量:合作者、責(zé)任編輯和支持者。沒(méi)有他們,想抓住重點(diǎn)并撰寫出這么多的素材肯定不感謝我們Android開發(fā)團(tuán)隊(duì)的同事AndrewLunsfordBolotKerimbaevBrianGardnerDavidGreenhalgh、JoshSkeen、MattCompton、PaulTurner和RashadCureton。他們一直用這些有才的團(tuán)隊(duì)一起工作,此生無(wú)憾。在BigNerdRanch工作的日子,每一天都是享受。特別感謝Andrew。他為本書同步更新了一大批AndroidStudio截圖。他很細(xì)心,不放過(guò)任ZackSimon,說(shuō)起話來(lái)輕聲細(xì)語(yǔ),是我們BigNerdRanch了不起的天才設(shè)計(jì)師。他不聲不感謝KarLoongWong,他重新設(shè)計(jì)了crime應(yīng)用列表屏。只要他多伸手,本書的應(yīng)用肯定感謝MarkDalrymple,他審閱了constraintlayout這部分內(nèi)容,使之更加準(zhǔn)確、完善。湊巧碰到他的話,如果你也在搞constraintlayout,千萬(wàn)記得請(qǐng)他把關(guān),他可是這方面的專家。感謝我們的編輯ElizabethHoladay。據(jù)說(shuō),著名的“垮掉的一代”文學(xué)作家WilliamS.要不是Liz,在遇到困惑、一時(shí)沖動(dòng)時(shí),相信我們也會(huì)這么做。在指導(dǎo)下,我們才能 的ChrisLoper。他設(shè)計(jì)并制作了本書的紙質(zhì)版和。 有這個(gè)反饋環(huán),就沒(méi)有這本書,即便有,也不會(huì)越來(lái)越完善。如果說(shuō)BigNerdRanch公司的如何學(xué)習(xí)Android學(xué)習(xí)ndri開發(fā)對(duì)每新手是一很大好像在國(guó)他學(xué)會(huì)存一。即閱讀第3版有哪些新binding 部分還包含一塊名為“深入學(xué)習(xí)”的內(nèi)容。這些內(nèi)容針對(duì)相應(yīng)章節(jié)的知識(shí)點(diǎn),提供深編碼這純屬個(gè)人偏好。我們認(rèn)為,使用內(nèi)部類,代碼可以更簡(jiǎn)練,器實(shí)現(xiàn)方法更一目了然。盡管在高性能要求的場(chǎng)景下或大型應(yīng)用中,內(nèi)部類可能會(huì)有一些問(wèn)題,但我們有理由堅(jiān)持這一點(diǎn)。相信我們,使用得當(dāng)?shù)脑?,fet就是nrd開發(fā)人員手中aiy,an版式有關(guān)此試讀版的說(shuō)本人可以幫助你找到你要的PDF,計(jì)算機(jī)類,文學(xué),藝術(shù),設(shè)計(jì),醫(yī)學(xué),理學(xué),經(jīng)質(zhì)量都很清晰,為方便讀者閱讀,每本100°/。都帶可跳轉(zhuǎn)的書簽索引和 一般情況下,半年左右就會(huì)有PDF極個(gè)別的書出PDF時(shí)間要長(zhǎng)一些如看到試讀版信息.說(shuō)明已經(jīng)有完整版,需求完整版即可。請(qǐng)?zhí)砑?或掃 添大家如果在網(wǎng)上不到的話,可以或 因PDF都有,請(qǐng)不要隨意,如果您有經(jīng)濟(jì)能力,請(qǐng)盡量正版 若以 :本人只提供代找服務(wù),每本100%索弓|書簽和 PDF publicvoidonClick(Viewv)Toast.makeText(QuizActivity.this,R.string.incorrect_toast,}AndroidAndroid4.4之前的系統(tǒng)版本,請(qǐng)參考本書第2版(Android4.1及以上版本)和第1版(Android2.3及以上版本)的相關(guān)內(nèi)容。, 開始學(xué)習(xí)前,你需要安裝AndroidStudio。基于流行的InliJIDEA創(chuàng)建,AndroidStudio是用Android Studio的與安可以從Android開發(fā)者AndroidStudio:dev 早期版本的項(xiàng)目的話,可在Android開發(fā)向?qū)Ы缑妫赒uickStart區(qū)域,選擇ConfigureSDKManager來(lái)啟圖0-1AndriodSDK管理硬件 第1章Android開發(fā)初體 Android開發(fā)基 創(chuàng)建Android項(xiàng) AndroidStudio使用導(dǎo) 組件屬 預(yù)覽布
練習(xí):為TextView添加 第3章activity的生命周 日志理解activity生命周 使用 activity生命周期實(shí)例解 設(shè)備旋轉(zhuǎn)與activity生命周 1.10關(guān)于練 練習(xí):定制toast消 第2章Android與MVC設(shè)計(jì)模 Android與MVC設(shè)計(jì)模 連接設(shè) 在XML文件中資
第4章Android應(yīng)用的調(diào) 從布局XML到視圖對(duì)從布局XML到視圖對(duì) 再探activity生命周 組 深入學(xué)習(xí):activity內(nèi)存清理現(xiàn) 1.6.2設(shè)置 練習(xí):一題多 深入學(xué)習(xí):Android編譯過(guò) 記錄棧日 設(shè)置斷 Android特有的調(diào)試工 使用Android R類的問(wèn) 練習(xí):探索內(nèi)存分配第5章第二個(gè) 創(chuàng)建新的 創(chuàng)建新的activity子 manifest配置文件 為QuizActivity添加按 啟動(dòng) activity間的數(shù)據(jù)傳 使用intent 從子activity獲取返回結(jié) activity的使用與管 練習(xí):堵住第6章AndroidSDK版本與兼 AndroidSDK版 Android編程與兼容性問(wèn) SDK最低版 SDK目標(biāo)版 SDK編譯版 安全添加新版本API中的代 使用Android開發(fā)者文 練習(xí):限制次 7章UIfragment管理 UI設(shè)計(jì)的靈活性需 引入 著手開發(fā) 兩類 AndroidStudio關(guān) 創(chuàng)建Crime 托管UI fragment的生命周 創(chuàng)建UI
定義CrimeFragment的布 創(chuàng)建CrimeFragment FragmentManager添UI fragment事 FragmentManager生命周 采用fragment的應(yīng)用架 深入學(xué)習(xí):fragment與支持 8章使用RecyclerView列 升級(jí)CriminalIntent應(yīng)用的模型 使用抽象activity托管 通用型fragment托管布 抽象activity RecyclerView、ViewHolder ViewHolder和 使用 ViewHolderAdapter 練習(xí):RecyclerView 第9章使用布局與組件創(chuàng)建用戶界 引入 使用 騰出空 添加組 約束的XML形 編輯屬 dp、sp以及屏幕像素密 樣式、及屬 Android應(yīng)用的設(shè)計(jì)原 第10章使用fragment
第12 創(chuàng)建 顯示 設(shè)置框的顯示內(nèi) fragment間的數(shù)據(jù)傳 練習(xí): 附加extra信 獲取extra信 CrimeFragment視 直接獲取extra信息的缺 fragment 附加argument給 獲取 通過(guò)fragment獲取返回結(jié) 深入學(xué)習(xí):為何要用 刷 第11章使用
第13章 在XML文件中定義菜 深入學(xué)習(xí):與操作 練習(xí):刪除crime記 ger
第14章數(shù)據(jù) FragmentStatePagerAdapter 邊 JumptoFirstJumptoLast按
定義 修改CrimeLab 使用 使用 深入學(xué)習(xí):數(shù)據(jù)庫(kù)高級(jí)介 練習(xí):刪除crime記 第15章隱式
第18章應(yīng)用本地 默認(rèn)資 18.2.1可用資源優(yōu)先級(jí)排 使用隱式 隱式intent的組 發(fā)送消 第16章使用intent拍
第19章Android輔助功 點(diǎn)擊瀏 線性瀏 置 258 19.2.2實(shí)現(xiàn)組件可聚 文件使用 指定存放位 使用相機(jī) 功能練習(xí):優(yōu)化顯 第17章雙版面主從用戶界
練習(xí):主動(dòng)通 第20章數(shù)據(jù)綁定與 為何要用MVVM架 創(chuàng)建BeatBox應(yīng) 導(dǎo)入
20.4處理 使用 fragment容 activity:fragment的托管
assets lambda表達(dá) 深入學(xué)習(xí):什么是non- 第21章音頻與單元測(cè) 創(chuàng)建 音 保留 深入學(xué)習(xí):Espresso與整合測(cè) 練習(xí):進(jìn)度控 第22章樣式與 樣 添加顏 覆蓋屬 第23章XML shape statelist layerlist XML 深入學(xué)習(xí):使用mipmap圖 深入學(xué)習(xí):使用9-patch圖
第24章深入學(xué)習(xí)intent和任 創(chuàng)建NerdLauncher項(xiàng) 解析隱式 NerdLauncher應(yīng)用作為設(shè) 深入學(xué)習(xí):并 第25章HTTP與任 創(chuàng)建PhotoGallery應(yīng) k在線程運(yùn)行代 從Flickr獲取JSON數(shù) 從 清理 k的替代方 26章Looper、Handler 配置RecyclerView以顯示批量縮略 創(chuàng)建并啟動(dòng)線 Message與message 剖析 剖析 使用 傳遞 第27章搜 搜索Flickr使用 sharedpreferences實(shí)現(xiàn)輕量數(shù)據(jù) 應(yīng) 第28章服 創(chuàng)建 查找返回結(jié) 合理控務(wù)啟動(dòng)的頻 PendingIntent管 練習(xí):可穿戴設(shè)備上 non-sticky服 sticky服 綁定服 練習(xí)Lollipop設(shè)備上使 深入學(xué)習(xí):sync 第29章broadcast
普通intent和broadcast 接收系統(tǒng)broadcast:重啟后喚 創(chuàng)建并登記standalone 使用 發(fā)送broadcast 使用私限限 broadcast收數(shù) receiver與長(zhǎng)時(shí)運(yùn)行任 深入學(xué)習(xí):本地使用 使用 深入學(xué)習(xí):探測(cè)fragment的狀 第30章網(wǎng)頁(yè)瀏 最后一段Flickr數(shù) 深入學(xué)習(xí):注入JavaScript對(duì) 網(wǎng) 練習(xí):非HTTP支 第31章定制視圖與觸摸創(chuàng)建DragAndDraw項(xiàng) 處理觸摸 第32章屬性動(dòng) 多個(gè)動(dòng) 深入學(xué)習(xí):其他動(dòng)畫 轉(zhuǎn) 練 第33章地理位置 y服 創(chuàng)建Locatr項(xiàng) y服務(wù)定位和模擬 創(chuàng)建Locatr應(yīng) 配 y服 使 y服 基于地理位置的Flickr搜 尋找并顯示 第34章使用地
Android上的地圖服 獲取MapsAPI 創(chuàng)建地 獲取地理位置數(shù) 使用地 深入學(xué)習(xí):團(tuán)隊(duì)開發(fā)和API 第35章material material elevation和Z statelist 動(dòng)畫工 circular sharedelement floatingaction 深入學(xué)習(xí)material 第36章編后 終極關(guān)于我 36.3致 1圖1-1你是澳洲人Android開發(fā)基GeoQuiz是個(gè)簡(jiǎn)單應(yīng)用,因此它只有一個(gè)名叫QuizActivityActivity子類。圖1-2QuizActivity管理著activity_quizxml文件定義的用戶界創(chuàng)建Android啟動(dòng)AndroidStudio程序,首次運(yùn)行的話,會(huì)看到如圖1-3所示的歡迎界面。 圖1-3歡迎使用Androidproject次運(yùn)行的話,選擇File→New→NewProject…菜單項(xiàng)。name)處輸入GeoQuiz。在公司( location圖1-4創(chuàng)建新項(xiàng)部附加上應(yīng)用名稱。遵循此約定可以保證包名稱的唯一性,這樣,同一設(shè)備和y商店的圖1-5設(shè)備支持配具有了重大更新。不要擔(dān)心,請(qǐng)本書forum 圖1-6選取activity類型(空?qǐng)D1-7配置AndroidStudio使用導(dǎo)window圖1-8新的項(xiàng)目窗window(eito角的灰色方形區(qū)域或單擊View→ToolButtons菜單項(xiàng)找到它。用戶界面11代代 1-1默認(rèn)的activity布局 oWorld!"/>ietvAndroidSDK內(nèi)置了多種組件,通過(guò)配置各種組件可獲得所需的用戶界面及行為。每一個(gè)組圖1-9顯示在屏幕上的默認(rèn)組圖1-10布置并顯示在屏幕上的組在項(xiàng)目工具窗口中找到app/res/layout,打開activity_quiz.xml文件。對(duì)照代碼1-2,修代代 1-2在XML文件(activity_quiz.xml)中定義組 11 oWorld!"/><LinearLayoutxmlns:android="http://s android:orientation="vertical">android:orientation="horizontal">android:text="@string/true_button"/>android:text="@string/false_button"/>可以看到,有三行以android:text開頭的代碼出現(xiàn)了錯(cuò)誤信息。暫時(shí)忽略它們,稍后會(huì)處理。hieracy圖1-11布局組件的層級(jí)結(jié)從布局的視圖層級(jí)結(jié)構(gòu)可以看到,其根元素是一個(gè)LinearLayoutLinearLayout組件必須指定AndroidXML資源文件名空間屬性,這里是若某個(gè)組件包含在一個(gè)ViewGroup中,該組件與ViewGroup即構(gòu)成父子關(guān)系。根Linear-11density-independentpixel,指與密度無(wú)關(guān)的像素,詳見(jiàn)第9)(trng.xl字內(nèi)容放置在獨(dú)立的字符串資源XML文件中,然后它們。這樣會(huì)方便應(yīng)用的本地化(支持在項(xiàng)目工具窗口中,找到app/res/values,展開,打開strings.xml代代 1-3添加字符串資源 <string<stringname="question_text">Canberraisthecapitalof<string<string有多個(gè)字符串文件。只要這些文件都放在res/values/下,含有一個(gè)resources根元素,以及多有相關(guān)文件并且無(wú)錯(cuò)誤發(fā)生,然后回到itqml文件,點(diǎn)擊代碼編輯區(qū)右邊的ee打11圖1-12在圖形布局工具中預(yù)覽布局(activity_quiz1從布局XML到視圖1在創(chuàng)建GeoQuiz項(xiàng)目的同時(shí),向?qū)б矂?chuàng)建了一個(gè)名叫QuizActivity的Activity 代代 1-4默認(rèn)QuizActivity類文件 packageimportandroid.sup importandroid.os.Bundle;publicclassQuizActivity p{protectedvoidonCreate(Bundle{super.onCreate(savedInstanceState);}} 舊版本系統(tǒng)提供兼容支持。第章會(huì)詳細(xì)介 publicvoidsetContentView(int項(xiàng)目的所有資源文件都存放在 下。在項(xiàng)目工具窗口中可以看到,activity_quiz.xml布局資源文件存放在res/layout/ 下。strings.xml字符串資源文件存放在 可以使用資源ID在代碼中獲取相應(yīng)的資源。activity_quiz.xml布局的資源ID為R.layout.查看GeoQuiz應(yīng)用的資源ID需要切換項(xiàng)目視圖。AndroidStudio默認(rèn)使用Android項(xiàng)目視圖, 圖1-13切換項(xiàng)目視會(huì)顯示出當(dāng)前項(xiàng)目的所有文件和。展開app/build/generated/source/r/debug,找到項(xiàng)目包名稱并打開其中的R.java文件,即可jaandridtui編譯用的.ava隱藏文件。當(dāng)前代碼編輯區(qū)打開的.av文件僅在應(yīng)用安裝至設(shè)備或模擬器前產(chǎn)ndridui代代 1-5GeoQuiz應(yīng)用當(dāng)前的資源 /*AUTO-GENERATEDFILE.DONOT*Thisclasswasautomaticallygeneratedbyaapttoolfromtheresourcedataitfound.shouldnotbemodifiedbypackagecom.bignerdranch.android.geoquiz;publicfinalclassR{publicstaticfinalclassanim}publicstaticfinalclassid11}publicstaticfinalclasslayoutpublicstaticfinalint}publicstaticfinalclassmipmappublicstaticfinalint}publicstaticfinalclassstringpublicstaticfinalintapp_name=0x7f0a0010;publicstaticfinalintfalse_button=0x7f0a0012;publicstaticfinalintquestion_text=0x7f0a0014;publicstaticfinalinttrue_button=0x7f0a0015;}}代代 1-6為按鈕添加資源 <LinearLayout...android:text="@string/true_button"/>android:text="@string/false_button"/>組件的實(shí)際代代 1-7添加成員變量 publicclassQuizActivity ptivityprivateButtonmTrueButton;privateButtonmFalseButton;protectedvoidonCreate(Bundle{super.onCreate(savedInstanceState);}}現(xiàn)在,將鼠標(biāo)移至代碼左邊的錯(cuò)誤提示處時(shí),會(huì)看到兩條同樣的錯(cuò)誤信息:Cannotresolvesymbol'Button'。import 11 publicViewfindViewById(int代代 publicclassQuizActivity ptivityprivateButtonmTrueButton;privateButtonmFalseButton;protectedvoidonCreate(Bundle{super.onCreate(savedInstanceState);mTrueButton=(Button)findViewById(R.id.true_button);mFalseButton=(Button)findViewById(R.id.false_button);}} 設(shè)置建的對(duì)象叫作器(listener。器會(huì)實(shí)現(xiàn)特定的器接口(listenerinterface)。無(wú)需自己動(dòng)手,AndroidSDK已經(jīng)為各種內(nèi)置了很多器接口。當(dāng)前應(yīng)用需要用代代 1-9為TRUE按鈕設(shè) 器 protectedvoidonCreate(Bundle{super.onCreate(savedInstanceState);mTrueButton=(Button)mTrueButton.setOnClickListener(new{publicvoidonClick(Viewv)//Doesnothingyet,but}mFalseButton=(Button)}}mTrueButton.setOnClickListener(new{publicvoidonClick(Viewv)//Doesnothingyet,but}代 1-10為FALSE按鈕設(shè) 器代 1-10為FALSE按鈕設(shè) 器 1mTrueButton.setOnClickListener(new1{publicvoidonClick(Viewv)//Doesnothingyet,but}mFalseButton=(Button)mFalseButton.setOnClickListener(new{publicvoidonClick(Viewv)//Doesnothingyet,but}}創(chuàng)建提示接下來(lái)要實(shí)現(xiàn)的是,分別點(diǎn)擊兩個(gè)按鈕,彈出我們稱之為toat的提示消息。ndroid的tatta11所示。圖1-14toast消息反代代 1-11增加toast字符串 <string<stringname="question_text">Canberraisthecapitalof<string<string<string<stringpublicstaticToastmakeText(Contextcontext,intresId,int在QuizActivity代碼里,分別調(diào)用makeText(...)方法,如代碼1-12所示。在添在建議列表里,選擇makeText(ContextcontextintresIDintduration)方法,代代代 1-12創(chuàng)建提示消息 mTrueButton.setOnClickListener(new{publicvoidonClick(Viewv)//Doesnothingyet,but}mFalseButton=(Button)findViewById(R.id.false_button);mFalseButton.setOnClickListener(newView.OnClickListener(){publicvoidonClick(Viewv) 11//Doesnothingyet,but}在x)里,傳入y實(shí)例作為t的參數(shù)值。注意此處應(yīng)輸入的參數(shù)是vs,不要想當(dāng)然地直接輸入s。因?yàn)轭惖氖褂?,這里的ts指是es。使用代碼自動(dòng)補(bǔ)全功能,自己也就不用導(dǎo)入Toast類了,因?yàn)锳ndroidStudio會(huì)自動(dòng)導(dǎo)入相使用模擬器運(yùn)行device擇模擬運(yùn)行Nexus5X設(shè)備,如圖1-15所示。點(diǎn)擊Next繼續(xù)。圖1-15創(chuàng)建新的圖1-16選擇系統(tǒng)鏡圖1-17模擬器參數(shù)調(diào) 1AVD創(chuàng)建成功后,我們用它運(yùn)行GeoQuiz應(yīng)用。點(diǎn)擊AndroidStudio上的Run按鈕,或(APK1假如啟動(dòng)時(shí)或在點(diǎn)擊按鈕時(shí),GeoQuiz應(yīng)用,可以在AndroidDDMS工具窗口的LogCat視圖中看到有用的診斷信息。(如果LogCat沒(méi)有自動(dòng)打開,可點(diǎn)擊AndroidStudio窗口底部的AndroidMonitor按鈕打開它。)查看日志,可看到搶眼的紅色異常信息,如圖1-18所示。圖1-18第21行代碼處發(fā)生了NullPointerException異(在較早版本的Android中,它像一個(gè)U型箭頭。需要調(diào)試變更時(shí),再通過(guò)AndroidStudio重新運(yùn)深入學(xué)習(xí) 編譯過(guò)AndroidStudio無(wú)需指示便會(huì)自動(dòng)進(jìn)行編譯。在整個(gè)編譯過(guò)程中,Android開發(fā)工具將資源文件、 /tools/publishing/preparinghtml)一部分,at(dridtcaingo)pk中。然后,在uAity類的CtBd)方法調(diào)用Ctte方法時(shí),QuizActivity使用LayoutInflater類實(shí)例化布局文件中定義的每一個(gè)View對(duì)象,如圖1-19所示。圖1-19activity_quizxml中的視圖實(shí)例有時(shí),出于某種原因,可能需要脫離AndroidStudio編譯代碼。最簡(jiǎn)單的方法是使用命令行要從命令行使用Gradle,請(qǐng)切換到項(xiàng)目并執(zhí)行以下命令:$./gradlew >gradlew.bat11$./gradlew>gradlew.bat關(guān)于練解決,可本書forum 為避免當(dāng)前項(xiàng)目,建議你在AndroidStudio中先當(dāng)前項(xiàng)目,然后在的項(xiàng)目上做 練習(xí):定制toast該方法所在網(wǎng)頁(yè)為dev Android與MVC設(shè)計(jì)模2圖2-1測(cè)試題創(chuàng)建新→2創(chuàng)建新 2圖2-2創(chuàng)建Question publicclassQuestionprivateintmTextResId;privatebooleanmAnswerTrue;publicQuestion(inttextResId,boolean{mTextResId=textResId;mAnswerTrue=}}新增的兩個(gè)變量需要getter方法與setter方法。為避免手工輸入,可設(shè)置由AndroidStudio自動(dòng)Settings菜單。依次展開Editor和CodeStyle選項(xiàng),在Java選項(xiàng)下選擇CodeGeneration選項(xiàng)頁(yè)。圖2-3設(shè)置Java代碼風(fēng)格首選剛才設(shè)置的前綴有何作用?那就是,需要AndroidStudio為mTextResId生成獲取方法時(shí),它代代 2-2生成getter方法與setter方法 publicclassQuestionprivateintmTextResId;privatebooleanmAnswerTrue;publicint{return}publicvoidsetTextResId(int{mTextResId=} publicboolean2{return2}publicvoidsetAnswerTrue(boolean{mAnswerTrue=}}圖2-4GeoQuiz應(yīng)用對(duì)象圖AndroidMVC設(shè)計(jì)圖2-5MVC數(shù)據(jù)控制流與用戶交使用MVC設(shè)計(jì)模更新視圖 22更新視圖2-6新增代代 2-3新增按鈕以及對(duì)文本視圖的調(diào)整 <LinearLayout...<LinearLayout...android:text="@string/next_button"/>代代 2-4更新字符串資源定義 <string<stringname="question_text">Canberraisthecapitalof<stringname="question_australia">Canberraisthecapitalof<string<string<string<string代代 2-5新增問(wèn)題字符串 <stringname="question_australia">Canberraisthecapitalof<stringname="question_oceans">ThePacificOceanislargerthantheAtlanticOcean.</string><stringname="question_mideast">TheSuezCconnectstheRedSeaandthenOcean.</string><stringname="question_africa">ThesourceoftheNileRiverisin<stringname="question_americas">TheAmazonRiveristhelongestriverintheAmericas.</string><stringname="question_asia">LakeBaikalistheworld\'soldestanddeepestfreshwaterlake.</string> 2更新控制2代代 2-6增加按鈕變量及Question對(duì)象數(shù)組 publicclassQuizActivity tivityprivateButtonmTrueButton;privateButtonmFalseButton;privateButtonmNextButton;privateTextViewmQuestionTextView;privateQuestion[]mQuestionBank
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 四大名著之紅樓春趣經(jīng)典解讀2
- 2023年整體家居項(xiàng)目融資計(jì)劃書
- 2023年鎢合金項(xiàng)目籌資方案
- 《SBU人力資源評(píng)估》課件
- 《個(gè)性時(shí)尚》課件
- 內(nèi)蒙古包頭市東河區(qū)2024屆九年級(jí)上學(xué)期期末考試數(shù)學(xué)試卷(含答案)
- 養(yǎng)老院老人康復(fù)設(shè)施維修人員行為規(guī)范制度
- 《票據(jù)行為》課件
- 《個(gè)人電子銀行介紹》課件
- 護(hù)理派遣合同
- 2024-2025學(xué)年人教版高一上冊(cè)物理必修一知識(shí)清單
- 金剛砂耐磨地面施工安全方案
- 期末測(cè)試(試題)-2024-2025學(xué)年六年級(jí)上冊(cè)數(shù)學(xué)蘇教版
- GB/T 36547-2024電化學(xué)儲(chǔ)能電站接入電網(wǎng)技術(shù)規(guī)定
- 品牌合作經(jīng)營(yíng)合同
- 《基于ACSI模型的客戶滿意度測(cè)評(píng)體系研究》
- 園長(zhǎng)培訓(xùn):自主游戲材料投放策略
- 2024文旅景區(qū)新春潮趣游園會(huì)龍騰中國(guó)年主題集五福活動(dòng)策劃方案
- 2024年部編版語(yǔ)文三年級(jí)上冊(cè)第五單元復(fù)習(xí)課教案
- 電影制作基礎(chǔ)知識(shí)單選題100道及答案解析
- 學(xué)校食堂安全工作匯報(bào)
評(píng)論
0/150
提交評(píng)論