終于下決心開始寫了。寫的目的是給自己安卓學(xué)習(xí)之路留下點(diǎn)痕跡瑞凑。
目前在進(jìn)行的學(xué)習(xí)內(nèi)容是抄書《瘋狂安卓講義》中的例子末秃。去年該項(xiàng)工作的進(jìn)行是斷斷續(xù)續(xù),今年吸取教訓(xùn)籽御。
為了繼續(xù)刷書练慕,自己需要降低目前的sdk版本。就以安卓4.0為目標(biāo)技掏。
然后自己的avd還是和自己目前的手機(jī)對(duì)應(yīng)铃将,用6.0,但是6.0有bug哑梳,應(yīng)用7.0吧劲阎。
最高的進(jìn)行嘗試,如果api19鸠真,android4.4悯仙,編譯出來(lái)的在自己手機(jī)上能運(yùn)行,那就這樣吠卷。
如果不能锡垄,將最高的升級(jí)到android6.0;
avd的版本中沒(méi)有4.0祭隔,只有4.4偎捎。就用4.4吧。
自己目前的targetSdkVersion為19序攘。
然后自己目前的學(xué)習(xí)過(guò)程是先看書茴她,明確自己要學(xué)什么,概念和方法程奠。
然后抄代碼丈牢,在抄的過(guò)程中理解概念和方法。
抄完代碼后瞄沙,然后歸納概念和方法對(duì)應(yīng)的具體代碼己沛。
在歸納的基礎(chǔ)上慌核,然后總結(jié)什么樣的功能可以通過(guò)什么樣的代碼實(shí)現(xiàn)。
而在自己目前的學(xué)習(xí)中申尼,整個(gè)過(guò)程沒(méi)有連貫起來(lái)垮卓。沒(méi)辦法,之前的精力在每天保證學(xué)習(xí)時(shí)間上师幕,現(xiàn)在才有精力來(lái)考慮這些了粟按。
- 安卓應(yīng)用程序三個(gè)重要的組件:activity,service霹粥,BroadcastReceiver
- intent用于啟動(dòng)組件并在組件之間進(jìn)行通信灭将。
- activity的啟動(dòng)方法有兩種:startActivity()和startActivityForResult()
- service的啟動(dòng)方法有兩種后控。還看不懂。
- BroadcastReceiver的啟動(dòng)方法有六種。不太懂。
- Intent對(duì)象的主要屬性有七種。分別是Component,Action,Category友瘤,Data被丧,Type邮旷,Extra探入,F(xiàn)lag植旧。
- Component屬性明確要啟動(dòng)的對(duì)象亥鬓。
- 設(shè)置該屬性。兩類嵌戈,直接賦值覆积,調(diào)用方法。
該屬性接受ComponentName對(duì)象熟呛。ComponentName對(duì)象有三種構(gòu)造方法宽档。
intent有三種設(shè)置Component的方法。
setClass(Context packageContext,Class cls)
setClassName(Context packageContext,String className)
setClassName(String packageName,String className)
安卓應(yīng)用的context對(duì)象與包名一一對(duì)應(yīng)庵朝。
Intent根據(jù)是否指定Component屬性分為顯式與隱式吗冤。
- 實(shí)際使用中,這一步融合在Intent的構(gòu)造器中九府。
- Intent(Context context, Class XX.class)椎瘟;
- Action和Category屬性用于指定Intent要實(shí)現(xiàn)的動(dòng)作,配合Manifest中的intent-filter來(lái)實(shí)現(xiàn)侄旬。
- 在Activity甲中定義Intent的Action屬性降传。
- 在Activity乙的Manifest中配置intent-filter標(biāo)簽。兩個(gè)值相同勾怒,就可以通過(guò)甲來(lái)啟動(dòng)乙了婆排。
示例代碼声旺。
為了上傳示例代碼,參考世鋒日上的文章設(shè)置了gitHub分享段只,記錄自己的過(guò)程如下:
我系統(tǒng)是macOS Sierra腮猖。
1. 在AndroidStudio中新建一個(gè)項(xiàng)目。建好后的界面如圖js20170108075159所示赞枕。
2. 設(shè)置: Preferences(或者用快捷鍵:command+澈缺,) -> Version Control -> Git , 設(shè)置git目錄, 點(diǎn)擊Test測(cè)試, 如果成功會(huì)有Success提示,如圖js20170108075710所示炕婶。
3. 設(shè)置: Preferences -> VersionControl -> GitHub ,設(shè)置自己的github賬號(hào), 密碼, 點(diǎn)擊Test測(cè)試, 如果成功會(huì)有Success提示姐赡,如圖js20170108075911所示。
單擊右下角OK按鈕提示設(shè)置Master Password柠掂。保留空白项滑,單擊OK按鈕。
4. 分享項(xiàng)目: VCS -> Import into Version Control -> Share Project on GitHub, 點(diǎn)擊之后開始設(shè)置 repository name涯贞。如圖js20170108080322所示枪狂。
設(shè)置完后單擊OK按鈕,如圖js20170108080558所示宋渔。
Description第一次用中文出錯(cuò)州疾。如圖js20170108080817所示。
換英文皇拣。出現(xiàn)成功提示严蓖。如圖js20170108080940所示。
原來(lái)開始的第一步應(yīng)該是仿寫氧急。
然后覺(jué)得簡(jiǎn)書太好用了颗胡。
檢查時(shí)發(fā)現(xiàn)沒(méi)有上傳需要的文件。
在Project視圖(如圖js201701085739)下态蒂,右擊項(xiàng)目文件夾進(jìn)行設(shè)置(如圖js20170108085800)杭措。
如果看不到需要上傳的文件,在Project視圖下钾恢,右擊項(xiàng)目文件夾進(jìn)行添加(如圖js20170108090033)手素。
再重復(fù)之前的第4步還是不好使。單擊右下角的commit and push可以上傳瘩蚪。