20172310 2017-2018-2 《程序设计与数据结构》第十一周学习总结
20172310 2017-2018-2 《程序設(shè)計(jì)與數(shù)據(jù)結(jié)構(gòu)》第十一周學(xué)習(xí)總結(jié)
作業(yè)要求
1.教材第23-26章(Java和Android開(kāi)發(fā)學(xué)習(xí)指南)
- 代碼托管到git@OSC,參考一下使用開(kāi)源中國(guó)托管代碼
- 有問(wèn)題去藍(lán)墨云班課或者答疑論壇提問(wèn),盡量不在微信群和QQ群解答學(xué)習(xí)問(wèn)題
教材學(xué)習(xí)內(nèi)容總結(jié)
第23章 Android簡(jiǎn)介
- 通過(guò)這章,我學(xué)習(xí)到的是一些Android的基礎(chǔ)知識(shí)
- Android操作系統(tǒng)是一種多用戶(hù)的Linux系統(tǒng),每個(gè)應(yīng)用程序作為單獨(dú)的Linux進(jìn)程中的一個(gè)不同的用戶(hù)而運(yùn)行。
- 有4種 Android應(yīng)用程序組件
- 活動(dòng)(Activity):包含用戶(hù)組件的一個(gè)窗口
- 服務(wù)( Service):在后臺(tái)長(zhǎng)時(shí)問(wèn)運(yùn)行的操作
- 廣播接收者( Broadcast receiver):一個(gè)監(jiān)聽(tīng)器,負(fù)責(zé)對(duì)系統(tǒng)或應(yīng)用程序聲明做出響應(yīng)
- 內(nèi)容提供者( Cantent provider):管理要和其他應(yīng)用程序分享的一組數(shù)據(jù)的一個(gè)組件
- 每個(gè)應(yīng)用程序都必須有一個(gè)應(yīng)用清單,描述該程序,以XML的文件形式給出,使用mainfest作為其根元素。
Android清單文件示例:
<?xml version="1.0" encoding="utf-8"?>
Android基礎(chǔ)知識(shí)點(diǎn)-Manifest清單文件
還了解了一些Android的版本信息,現(xiàn)在仍在更新。Android系統(tǒng)版本號(hào)和Android API level對(duì)應(yīng)表
第24章 初始Android
- app :包含應(yīng)用程序中所有的組件,有三個(gè)節(jié)點(diǎn) manifests、java、res。
- manifests:包含了一個(gè)AndroidManifests.xml文件,它描述了應(yīng)用程序。
- java:包含了所有的Java應(yīng)用程序和測(cè)試類(lèi)。
- res:包含了資源文件。在這個(gè)目錄下還有一些目錄:drawable(包含了用于各種屏幕分辨率的圖像)、
layout(包含了布局文件)、menu(包含了菜單文件)、mipmap(包含了用于各種屏幕分辨率的app圖標(biāo))、還有value(包含了字符串和其他值)
- 在實(shí)驗(yàn)中我也碰到過(guò)R文件出bug的問(wèn)題,它其實(shí)是一個(gè)看不見(jiàn)的通用的Java類(lèi),其包含了所有的資源的資源ID,
每次你添加、修改或刪除資源的時(shí)候,都會(huì)重新生成R;R的作用是讓你能夠引用代碼中的一個(gè)資源。 Android的調(diào)試和IDEA中的調(diào)試很像,都是先要設(shè)置斷點(diǎn)。
第25章 活動(dòng)
掌握活動(dòng)的生命周期非常重要,因?yàn)橐粋€(gè)正常的android應(yīng)用,會(huì)有很多的活動(dòng),如何在這些活動(dòng)之間進(jìn)行切換、數(shù)據(jù)的交互等,
就經(jīng)常會(huì)用到活動(dòng)的生命周期這一塊的知識(shí)。可以說(shuō),只要掌握了活動(dòng)的生命周期,才能更流暢的寫(xiě)android的程序。
從上面說(shuō)的可以看出,活動(dòng)分為;
完整生存期:onCreate()方法和onDestroy()之間,總共調(diào)用了6個(gè)方法。
可見(jiàn)生存期:活動(dòng)在onStart()方法和onStop()之間,總共4個(gè)方法,再加上重新運(yùn)行的onRestart()方法,總共5個(gè)。
前臺(tái)生存期:活動(dòng)在onResume()方法和onPause()方法,總共2個(gè)方法。
- 修改應(yīng)用程序圖標(biāo) :
1.在res/drawable中保存jepg文件或者png文件,png首選,其支持透明度。
2.編輯清單文件manifests的android:icon屬性,以指向新的圖像,可以使用如下格式修改引用圖像文件:@drawable/filename,
其中,filename不帶擴(kuò)展名的圖像文件名稱(chēng)。 - 啟動(dòng)另一個(gè)活動(dòng):可以通過(guò)調(diào)用startActivity方法直接做到。如startActivity(intent),其中intent是Android.content.Intent類(lèi)的一個(gè)實(shí)例。
- 通過(guò)傳遞給意圖一個(gè)活動(dòng)類(lèi)而構(gòu)造的意圖,叫做顯式意圖。也可以創(chuàng)作一個(gè)隱式意圖,在這種情況下我們沒(méi)有指定一個(gè)意圖類(lèi),相反,我們給Intent類(lèi)的構(gòu)造方法傳遞一個(gè)動(dòng)作,讓系統(tǒng)來(lái)決定啟動(dòng)哪一活動(dòng),如果有多個(gè)活動(dòng)可以處理,系統(tǒng)會(huì)讓用戶(hù)來(lái)進(jìn)行選擇。
第26章 UI組件
使用Android Stutio 創(chuàng)建UI只需打開(kāi)一個(gè)活動(dòng)的布局文件,并將其拖拽到布局上即可。活動(dòng)的布局文件位于應(yīng)用程序的res/layout目錄中。
工具窗口分為三個(gè):左邊是微件,分別為L(zhǎng)ayout、Widgets、Text Fields和Containers等不同種類(lèi)。每個(gè)微件和布局都有一組屬性,這些屬
性派生自View類(lèi)或者添加到實(shí)現(xiàn)類(lèi)。使用UI工具所做的事,都會(huì)反應(yīng)到布局文件中去,以XML元素的形式體現(xiàn)出來(lái)。Toast:是Android中用來(lái)顯示顯示信息的一種機(jī)制,Toast是Android中用來(lái)顯示顯示信息的一種機(jī)制,Toast是沒(méi)有焦點(diǎn)的,而且Toast顯
示的時(shí)間有限,過(guò)一定的時(shí)間就會(huì)自動(dòng)消失。而且Toast主要用于向用戶(hù)顯示提示消息。anroid.wedget.Toast類(lèi)是創(chuàng)建Toast的模板,要?jiǎng)?chuàng)建
一個(gè)Toast,調(diào)用它的構(gòu)造方法,接收Context作為一個(gè)參數(shù)。Toast還提供了兩個(gè)靜態(tài)的makeText方法來(lái)創(chuàng)建Toast實(shí)例。通知:通知是出現(xiàn)在狀態(tài)欄里的一條消息,和Toast不同,通知是持久的,并且將保持顯示,直到關(guān)閉它或者是關(guān)閉設(shè)備。
教材學(xué)習(xí)中的問(wèn)題和解決過(guò)程
問(wèn)題1: Andriod中的布局文件是什么?怎么創(chuàng)建一個(gè)新的布局文件?這是在學(xué)習(xí)課本修改頁(yè)面布局時(shí)想的問(wèn)題,
因?yàn)榇a是直接導(dǎo)入的(因?yàn)槟切┐a實(shí)在有些看不懂),所以也不知道怎么創(chuàng)建一個(gè)布局文件。問(wèn)題1解決方案:
在4.0以前版本中一共有五種布局,都是ViewGroup的子類(lèi)。分別是AbsoluteLayout、RelativeLayout、LinearLayout、(FrameLayout)、TableLayout。而TableLayout是LinearLayout的子類(lèi)。(中文分別是:絕對(duì)布局、相對(duì)布局、線性布局、幀布局、表格布局)。
2、在2.2操作系統(tǒng)中將AbsoluteLayout過(guò)期。而目前TableLayout也逐漸少用。
3、在4.0之后又新增GridLayout。(GridLayout最經(jīng)典的案例是計(jì)算器界面)
總之,Android中一共有六種布局。
在Android Studio中l(wèi)ayout下的文件都是布局文件,創(chuàng)建一個(gè)布局文件
- 問(wèn)題2:UI組件是什么?
- 問(wèn)題2解決方案:UI是指為主活動(dòng)構(gòu)建用戶(hù)交互
對(duì)上面兩個(gè)問(wèn)題,有一篇很好的參考資料android六大布局和UI組件
代碼調(diào)試中的問(wèn)題和解決過(guò)程
- 問(wèn)題1:因?yàn)槲募菍?dǎo)入的,所以遇到了這樣一個(gè)問(wèn)題R.menu出錯(cuò)
問(wèn)題1解決方案:但我的工程的res目錄下已有menu文件夾,為什么電腦給出的是找不到對(duì)應(yīng)的文件?同學(xué)給出了clean的建議,結(jié)果成功了。
clean我之前以為是要清除文件,但其實(shí)1.Make Project:編譯Project下所有Module,一般是自上次編譯后Project下有更新的文件,不生成apk。
2.Make Selected Modules:編譯指定的Module,一般是自上次編譯后Module下有更新的文件,不生成apk。
3.Clean Project:刪除之前編譯后的編譯文件,并重新編譯整個(gè)Project,比較花費(fèi)時(shí)間,不生成apk。
4.Rebuild Project:先執(zhí)行Clean操作,刪除之前編譯的編譯文件和可執(zhí)行文件,然后重新編譯新的編譯文件,不生成apk,這里效果其實(shí)跟Clean Project是一致的,這個(gè)不知道Google搞什么鬼~~
5.Build APK:前面4個(gè)選項(xiàng)都是編譯,沒(méi)有生成apk文件,如果想生成apk,需要點(diǎn)擊Build APK。
6.Generate Signed APK:生成有簽名的apk。
代碼托管
上周考試錯(cuò)題總結(jié)
錯(cuò)題1及原因,理解情況(3)
解析:一個(gè)抽象的數(shù)據(jù)類(lèi)型包含一個(gè)數(shù)據(jù)結(jié)構(gòu)和操作和訪問(wèn)數(shù)據(jù)結(jié)構(gòu)的方法。在這些列表中,只有向量結(jié)合了這兩個(gè)方面。雖然數(shù)組是一個(gè)數(shù)據(jù)結(jié)構(gòu),但是沒(méi)有方法(例如插入方法或搜索方法),而引用變量和原始類(lèi)型是數(shù)據(jù),不是數(shù)據(jù)結(jié)構(gòu)。
錯(cuò)題2及原因,理解情況(4)
解析:其實(shí)上述答案都是面向?qū)ο筇匦缘念?lèi)型。但在這里抽象數(shù)據(jù)類(lèi)型封裝了數(shù)據(jù)結(jié)構(gòu)和操作數(shù)據(jù)結(jié)構(gòu)的方法,從而保留了信息隱藏。因此,所有的ADT
都使用隱藏的信息,這樣數(shù)據(jù)結(jié)構(gòu)就不能直接從ADT外部操縱,其他面向?qū)ο蟮奶匦跃筒皇顷P(guān)鍵。錯(cuò)題3及原因,理解情況(16)
解析:一個(gè)簡(jiǎn)單的線性列表被定向,從它的起始節(jié)點(diǎn)到它的結(jié)束節(jié)點(diǎn)。
圖和圖都沒(méi)有起始節(jié)點(diǎn),但是樹(shù)確實(shí)有樹(shù)的根。所以,一個(gè)簡(jiǎn)單的線性列表就是一個(gè)退化樹(shù)的例子,它有一個(gè)分支因子,
每個(gè)節(jié)點(diǎn)都有一個(gè)單獨(dú)的繼承者,從根開(kāi)始,到單個(gè)葉子(結(jié)束節(jié)點(diǎn))結(jié)束。錯(cuò)題4及原因,理解情況(20)
解析:數(shù)組是一種數(shù)據(jù)結(jié)構(gòu),可以用來(lái)存儲(chǔ)一系列值,但是數(shù)組中沒(méi)有已經(jīng)實(shí)現(xiàn)的操作來(lái)執(zhí)行列表操作,比如添加到末尾,或者刪除給定的值。
和第三題的錯(cuò)誤原因是一樣的。錯(cuò)題5及原因,理解情況(21)
錯(cuò)題6及原因,理解情況(26)
解析:在Java中,所有的數(shù)據(jù)都是原始類(lèi)型或類(lèi)。ADT是一種數(shù)據(jù)結(jié)構(gòu),因此它不僅僅是一種原始類(lèi)型,而是一種不同類(lèi)型的結(jié)構(gòu)。因此,
ADT必須在類(lèi)中定義。并不是所有的類(lèi)都是ADTs,但是所有的ADTs都被定義為類(lèi)。錯(cuò)題7及原因,理解情況(36)
解析:chmod 777 pdds,不是 chomd 777 pdds。emmm,好吧,確實(shí)有點(diǎn)坑。
錯(cuò)題8及原因,理解情況(39、40、41)
這幾道題目會(huì)錯(cuò)全是因?yàn)閷?duì)Linux的命令行操作大都不記得了。
39:用rm –f /dky/D*強(qiáng)制刪除/dky目錄下所有D開(kāi)頭的文件。
41:用tar –cf dky.tar dky把文件dky打包成dky.tar。錯(cuò)題9及原因,理解情況
我只想說(shuō)題目出的真的有點(diǎn)坑,和36題一樣,但是還是因?yàn)樽约鹤鲱}太粗心,一看到hjkl就認(rèn)為是對(duì)的,沒(méi)有去考慮他們是不是對(duì)應(yīng)好的,
其實(shí)上下左右順序依次應(yīng)該是kjhl。
結(jié)對(duì)及互評(píng)
點(diǎn)評(píng)過(guò)的同學(xué)博客和代碼
- 本周結(jié)對(duì)學(xué)習(xí)情況
- 20172309
- 博客中值得學(xué)習(xí)的或問(wèn)題:
- 除了老師要求的,還總結(jié)了27和28章。
- 能從教材的細(xì)微的地方發(fā)現(xiàn)自己的知識(shí)漏洞,并進(jìn)行理解,還給同伴帶來(lái)了幫助(讓我學(xué)到了新知識(shí)?(?>?<?)? )
- 結(jié)對(duì)學(xué)習(xí)內(nèi)容
- Andriod的開(kāi)發(fā),課本23-26章的學(xué)習(xí)。
- 實(shí)驗(yàn)四的完成。
- 上周博客互評(píng)情況
- 20172309
- 20172310
其他(感悟、思考等,可選)
這學(xué)期的學(xué)習(xí)接近尾聲,可以說(shuō)在本學(xué)期的學(xué)習(xí)中Java占去了我大部分的時(shí)間。這周的學(xué)習(xí)內(nèi)容里我們有接觸了一個(gè)全新的東西Android,也不能說(shuō)完全的陌生,但我確實(shí)從沒(méi)有以開(kāi)發(fā)者的角度去使用Android,剛開(kāi)始接觸新東西的時(shí)候肯定是困難重重的,就像當(dāng)初的虛擬機(jī)和IDEA,裝新軟件的過(guò)程中總是有這樣那樣的問(wèn)題,不過(guò)這次的Android還是很有趣的。
眼看考試周就要到了,我們Java的學(xué)習(xí)強(qiáng)度也稍有下降,但是我們?nèi)耘f在解鎖新的知識(shí),所以說(shuō)學(xué)習(xí)Java的腳步不能停止,我要繼續(xù)加油。
學(xué)習(xí)進(jìn)度條
| 目標(biāo) | 5000行 | 30篇 | 400小時(shí) | |
| 第一周 | 127/127 | 1/1 | 25/25 | |
| 第二周 | 278/405 | 1/2 | 20/45 | |
| 第三周 | 442/847 | 1/3 | 20/65 | |
| 第四周 | 1063/1910 | 2/5 | 30/95 | |
| 第五周 | 840/2750 | 1/6 | 27/122 | |
| 第六周 | 631/3381 | 1/7 | 20/142 | |
| 第七周 | 914/4295 | 1/8 | 20/162 | |
| 第八周 | 2534/6829 | 2/10 | 30/192 | |
| 第九周 | 252/7081 | 3/13 | 26/218 | |
| 第十周 | 630/7711 | 1/14 | 27/245 | |
| 第十一周 | 0/7711 | 2/16 | 20/265 |
參考資料
Java和Android開(kāi)發(fā)學(xué)習(xí)指南
Android系統(tǒng)版本號(hào)和Android API level對(duì)應(yīng)表
Android基礎(chǔ)知識(shí)點(diǎn)-Manifest清單文件
android六大布局和UI組件
轉(zhuǎn)載于:https://www.cnblogs.com/Qiuxia2017/p/9105040.html
總結(jié)
以上是生活随笔為你收集整理的20172310 2017-2018-2 《程序设计与数据结构》第十一周学习总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: kvm安装配置
- 下一篇: LeetCode(30):与所有单词相关