安卓----第一章(多姿多彩的控件世界)筆記記錄

1.Android Studio開發(fā)環(huán)境搭建


所需的程序以及安裝順序

JDK:根據(jù)自己的系統(tǒng)下載相應(yīng)的JDK版本并進(jìn)行環(huán)境變量的配置。JDK官網(wǎng)下載

Android Studio和SDK:可在官網(wǎng)進(jìn)行下載,不過可能網(wǎng)速會過慢,也可以通過http://www.androiddevtools.cn/下載,該網(wǎng)址有Android Studio和SDK的集成包---bundle關(guān)鍵字的程序,另外還有許多安卓環(huán)境搭建需要的東西都可以在此網(wǎng)址進(jìn)行下載,大部分都有很準(zhǔn)確的注釋用以正確的操作成功。

Genymotion和Virtual Box:Genymotion是第三方的模擬器,相比官方自帶的模擬器在速度上非常快速的,而下載Genymotion就需要附帶下載Virtual Box虛擬機(jī),在Genymotion的官網(wǎng)中有集成了Virtual Box的版本,相應(yīng)的官網(wǎng)的鏈接為Genymotion官網(wǎng),如果無法下載集成的版本,也可到Virtual Box的官網(wǎng)下載其軟件。


2.項(xiàng)目的創(chuàng)建


點(diǎn)擊“Start a new Android Studio project”選項(xiàng)
Application name:項(xiàng)目名稱、Company Domain:公司域名、Package name:app、打包名稱、project location:存放路徑


選擇第一個選項(xiàng)并設(shè)置最小的SDK版本 如果不清楚可以點(diǎn)擊藍(lán)色的“Help me choose"可以查看相應(yīng)版本的情況
選擇項(xiàng)目的活動類型,這里有很多現(xiàn)成的模板可以使用,對于初學(xué)者選擇默認(rèn)的Empty Activity即可。


設(shè)定活動名稱,界面布局的名稱,以及界面標(biāo)題,最后點(diǎn)擊finish完成項(xiàng)目的創(chuàng)建。

3.Activitiy(Android組件中最重要的四大組件之一)


3.1Activity間的跳轉(zhuǎn)

3.1.1從MainActivity跳轉(zhuǎn)到另一個Activity

Intent intent = new Intent(MainActivity.this, OtherActivity.class);

startActivity(intent);


3.1.2自動跳轉(zhuǎn)到另一個Activity

Handler mhandler=newHandler();

mHandler.postDelayed(newRunnable()?

{

@Override

public void run() {I

ntentintent =newIntent(MainActivity.this,OtherActivity.class);??

? ? ? ? ? ? startActivity(intent);? ? ?

?? ? }? ? ? },1000);

3.2Activity間傳遞數(shù)據(jù)

3.2.1發(fā)送數(shù)據(jù)

Intent intent = new Intent(MainActivity.this, OtherActivity.class);

intent.putExtra(String name, DataType value);

startActivity(intent);

3.2.2獲取數(shù)據(jù)

Intent intent = getIntent();

if (intent != null) {?

?String title = intent.getStringExtra();?

?//還有g(shù)etIntExtra, getIntArrayExtra等等

}

3.2.3發(fā)送和接收對象

新建的類

public class Test implements Serializable{

? private String mName;??

private int mAge;

? public Test(String name, int age) {

? ? ? mName = name;? ? ?

?mAge = age

? }

}

對類的對象進(jìn)行序列化

intent.putExtra("test",newTest("kevin",18));

接收

(Test)intent.getSerializable("test")

3.3Activity的生命周期

生命周期圖

需要注意的幾點(diǎn):

1.Activity實(shí)例是由系統(tǒng)自動創(chuàng)建,并在不同的狀態(tài)期間回調(diào)相應(yīng)的方法。一個最簡單的完整的Activity生命周期會按照如下順序回調(diào):onCreate -> onStart -> onResume -> onPause -> onStop -> onDestroy。稱之為entire lifetime。

2.當(dāng)執(zhí)行onStart回調(diào)方法時,Activity開始被用戶所見(也就是說,onCreate時用戶是看不到此Activity的,那用戶看到的是哪個?當(dāng)然是此Activity之前的那個Activity),一直到onStop之前,此階段Activity都是被用戶可見,稱之為visible lifetime。

3.當(dāng)執(zhí)行到onResume回調(diào)方法時,Activity可以響應(yīng)用戶交互,一直到onPause方法之前,此階段Activity稱之為foreground lifetime。

在實(shí)際應(yīng)用場景中,假設(shè)A Activity位于棧頂,此時用戶操作,從A Activity跳轉(zhuǎn)到B Activity。那么對AB來說,具體會回調(diào)哪些生命周期中的方法呢?回調(diào)方法的具體回調(diào)順序又是怎么樣的呢?

開始時,A被實(shí)例化,執(zhí)行的回調(diào)有A:onCreate -> A:onStart -> A:onResume。

當(dāng)用戶點(diǎn)擊A中按鈕來到B時,假設(shè)B全部遮擋住了A,將依次執(zhí)行A:onPause -> B:onCreate -> B:onStart -> B:onResume -> A:onStop。

3.4Activity標(biāo)題欄的隱藏

在onCreate方法中添加requestWindowFeature(Window.FEATURE_NO_TITLE);

protected voidonCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

requestWindowFeature(Window.FEATURE_NO_TITLE);

setContentView(R.layout.activity_main);

}



4.多姿多彩的控件世界


比較最常用的控件 一

控件View的通用屬性:寬高、顏色、邊距、是否可見、內(nèi)容居中、

點(diǎn)擊事件等

TextView 顯示文本

EditText 編輯框

Button 點(diǎn)擊按鈕

.9圖 一種可拉伸的圖:上左——拉伸,下右——填充。

比較最常用的控件 二

ImageButton 圖片按鈕

ImageView 圖片

SeekBar 滑動條

RatingBar 評分條

Progressbar 進(jìn)度條

比較最常用的控件 三

WebView:加載網(wǎng)頁

ListView:顯示列表

GridView:顯示表格式列表

ScrollView:內(nèi)容可滾動視圖

SufaceView:非常重要的繪圖容器


5.常用技巧(快捷鍵)


5.1折疊/展開代碼塊(Collapse Expand Code Block)

描述:該操作提供一種方法,讓你隱藏你不關(guān)心的部分代碼,以一種較為簡潔的格式顯示關(guān)鍵代碼。一個有意思的用法是隱藏匿名內(nèi)部類的代碼,讓其看起來像一個Lambda表達(dá)式。

快捷鍵:Cmd + “+”/”-“(OS X)、Ctrl + Shift + “+”/”-“(Windows/Linux);

更多:可以在Settig → Editor → General → Code Folding 中設(shè)置折疊規(guī)則。

折疊/展開代碼塊

5.2查找操作(Find Action)

描述:輸入某個操作的名稱,快速查找,對于沒有快捷鍵的部分操作這是一個很有用的技巧。

快捷鍵:Cmd +Shift + A(OS X)、Ctrl + Shift + A(Windows/Linux);

更多:當(dāng)某個操作是有快捷鍵的,會顯示在旁邊。

查找操作

5.3查找補(bǔ)全(Find Complection)

描述:當(dāng)你在一個文件中進(jìn)行查找時,使用自動補(bǔ)全快捷鍵可以給出在當(dāng)前文件中出現(xiàn)的建議單詞;

快捷鍵:Cmd + F(OS X),Ctrl + F(Windows/Linux),輸入一些字符,然后使用自動補(bǔ)全;


查找補(bǔ)全

5.4在方法和內(nèi)部類之間跳轉(zhuǎn)(Move Between Methods and Inner Classes)

描述:該操作讓光標(biāo)在當(dāng)前文件的方法或內(nèi)部類的名字間跳轉(zhuǎn)。

調(diào)用:Navigate → Next Method/Previous Method;

快捷鍵:Ctrl + Up/Down(OS X)、Alt + Up/Down(Windows/Linux);

在方法和內(nèi)部類之間跳轉(zhuǎn)

5.4擴(kuò)大/縮小選擇(Extend/Shrink Selection)

描述:該操作會在上下文逐漸擴(kuò)大/縮小當(dāng)前選擇范圍。例如,它會先選中當(dāng)前變量,再選中當(dāng)前語句,然后選中整個方法,縮小選擇則相反。

快捷鍵:Alt + 上/下 (OS X)、Ctrl+W / Ctrl + Shift + W(Windows、Linux)


擴(kuò)大縮小選擇

5.5列選擇/塊選擇(Column Selection)

描述:正常選擇時,當(dāng)你向下選擇時,會直接將當(dāng)前行到行尾都選中,而塊選擇模式下,則是根據(jù)鼠標(biāo)選中的矩形區(qū)域來選擇。

調(diào)用:按住Alt,然后拖動鼠標(biāo)選擇。

開啟/關(guān)閉塊選擇:Menu → Edit → Column Selection Mode

快捷鍵:切換塊選擇模式:Cmd + Shift + 8(OS X)、Shift + Alt + Insert(Windows/Linux);


列選擇/塊選擇

5.6語句補(bǔ)全(Complete Statement)

描述:這個方法將會生成缺失的代碼來補(bǔ)全語句,常用的使用場景如下:

在行末添加一個分號,即使光標(biāo)不在行末;

為if、while、for 語句生成圓括號和大括號;

方法聲明后,添加大括號;

調(diào)用:Menu → Edit → Compelete Current Statement

快捷鍵:Cmd + Shift + Enter(OS X)、Ctrl + Shift + Enter(Windows/Linux);

更多:如果一個語句已經(jīng)補(bǔ)全,當(dāng)你執(zhí)行該操作時,則會直接跳到下一行,即使光標(biāo)不在當(dāng)前行的行末。


語句補(bǔ)全

5.7提取方法(Extract Method)

描述:提取一段代碼塊,生成一個新的方法。當(dāng)你發(fā)現(xiàn)某個方法里面過于復(fù)雜,需要將某一段代碼提取成單獨(dú)的方法時,該技巧是很有用的。

調(diào)用:Menu → Refactor → Extract → Method

快捷鍵:Cmd + Alt + M(OS X)、Ctrl + Alt + M(Windows/Linux);

更多:在提取代碼的對話框,你可以更改方法的修飾符和參數(shù)的變量名。

提取方法

5.8提取變量(Extract Variable)

描述:這是一個提取變量的快捷操作。當(dāng)你在沒有寫變量聲明的直接寫下值的時候,這是一個很方便生成變量聲明的操作,同時還會給出一個建議的變量命名。

調(diào)用:Menu → Refactor → Extract → Variable

快捷鍵:Cmd + Alt + V(OS X)、Ctrl + Alt + V(Windows/Linux);

更多:當(dāng)你需要改變變量聲明的類型,例如使用 List 替代 ArrayList,可以按下Shift + Tab,就會顯示所有可用的變量類型。

提取變量

5.9合并行和文本(Join Lines and Literals)

描述:這個操作比起在行末使勁按刪除鍵爽多了!該操作遵守格式化規(guī)則,同時:

合并兩行注釋,同時移除多余的//;

合并多行字符串,移除+和雙引號;

合并字段的聲明和初始化賦值;

快捷鍵:Ctrl + Shift + J;


合并行和文本

5.10包裹代碼(Surround With)

描述:該操作可以用特定代碼結(jié)構(gòu)包裹住選中的代碼塊,通常是if語句,循環(huán),try/catch語句或者runnable語句。 如果你沒有選中任何東西,該操作會包裹當(dāng)前一整行。

快捷鍵:Cmd + Alt + T(OS X)、Ctrl + Alt + T(Windows/Linux)

包裹代碼

5.11其他

Ctrl+N:快速查找類名、文件

Ctrl+B:直接跳轉(zhuǎn)到類、方法、成員變量定義的地方。與Ctrl+鼠標(biāo)左鍵效果一樣

.Ctrl+Alt+V:調(diào)用方法時傳入的參數(shù)是比較復(fù)雜的表達(dá)式時,可用此組合鍵重構(gòu)變量,以簡化代碼的復(fù)雜度。

Ctrl+Alt+V:提取局部變量

Ctrl+Alt+F:提取全局變量


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,461評論 6 532
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,538評論 3 417
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,423評論 0 375
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,991評論 1 312
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,761評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,207評論 1 324
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,268評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,419評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,959評論 1 335
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,782評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 42,983評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,528評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,222評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,653評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,901評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,678評論 3 392
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 47,978評論 2 374

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