Android學習之期末複習重點整理

一、題型

選擇題 15×2 30分 填空題 10×2 20分 簡答題 5×4 20分 程序填空題 15×2 30分

二、重點整理

第一章 Android簡介

1. Android 採用了軟件堆層的架構,共分4層:
第一層:Linux內核,提供由操作系統內核管理的底層基礎功能;
第二層:中間件層,由庫函數和Android運行時構成;
第三層:應用程序框架層,提供了Android平臺基本的管理功能和組件重用機制;
第四層:應用程序層:提供一系列核心應用程序。

第二章 Android開發環境

1. Android平臺的Eclipse開發環境搭建步驟:

  • 安裝JDK,進行Java環境變量配置
  • 安裝Eclipse
  • 安裝Android SDK
  • 安裝ADT插件

2. Android SDK包括哪些內容?
Android SDK 目錄結構

  • add-ons 目錄用來存放Google提供的地圖開發包
  • docs目錄下的是Android SDK的幫助文檔
  • extras/google目錄下保存了Android手機的USB驅動程序
  • platforms目錄用來存放SDK和AVD管理器下載的各種版本的SDK
  • platforms-tools目錄中保存了與平臺調試相關的工具,如adb、aapt和dx等
  • samples目錄是示例代碼和程序的存放目錄
  • temp是臨時存放文件的目錄
  • tools目錄保存了通用的Android開發調試工具和Android手機模擬器
  • SDK Manager.exe 是SDK管理器
  • AVD Manager.exe 是AVD管理器
  • SDK Readme.txt是Android SDK的說明文檔

3. SDK中英文全稱
SDK:Android軟件開發工具包(Android Software Development Kit)
4. ADB中英文全稱及作用
ADB:Android調試橋(Android Debug Bridge)
ADB是用於連接Android設備或模擬器的工具,負責將應用程序安裝到模擬器和設備中,或從模擬器或設備中傳輸文件。

第三章 第一個Android程序

1. AVD中英文全稱
AVD:Android虛擬設備(Android Virtual Device)
2. Android程序結構核心目錄裏分別存放什麼內容?

  • src目錄是源代碼目錄,保存所有允許用戶修改的java文件和用戶自己添加的java文件;
  • gen目錄用來保存ADT自動生成的java文件;
  • assets目錄用來存放原始格式的文件;
  • bin目錄保存了編譯過程中產生的文件;
  • res目錄是資源目錄,Android程序所有的圖像、顏色、風格、主題、界面佈局和字符串等資源都保存在其下的幾個子目錄中。

3. R.java的作用
R.java文件是ADT自動生成的文件,包含對drawable、layout和values目錄內的資源的引用指針,Android程序能夠直接通過R類引用目錄中的資源。
4. AndroidManifest.xml作用
AndroidManifest.xml是XML格式的Android程序聲明文件,包含了Android系統運行Android程序前所必須掌握的重要信息。

第四章 Android生命週期

1. Android生命週期有哪5個進程?分別在何時執行或撤銷?優先級分別是什麼?
進程優先級

  • 前臺進程:
    是與用戶正在交互的進程,包含以下四種情況:
    – 進程中的Activity正在與用戶進行交互;
    – 進程服務被Activity調用,而這個Activity正在與用戶進行交互;
    – 進程服務正在執行聲明週期中的回調函數,如onCreate()、onStart()或onDestroy();
    – 進程的BroadcastReceiver正在執行onReceive()函數
    Android系統在多個前臺進程同時允許時,可能會出現資源不足的情況,此時會清除部分前臺進程,保證主要的用戶界面能夠及時響應。
  • 可見進程:
    能夠被用戶看見,卻不在前臺與用戶交互,不影響界面事件的進程。
    一般Android系統會存在少量的可見進程,只有在極端的情況下,Android系統纔會爲保證前臺進程的資源而清除可見進程。
  • 服務進程:
    一個包含已經啓動的服務的進程就是服務進程。
    Android系統除非不能保證前臺進程或可視進程所必要的資源,否則不強行清除服務進程。
  • 後臺進程:
    一個進程不包含任何已經啓動的服務,且沒有任何用戶可見的Activity,則這個進程就是後臺進程。
    一般情況下,Android系統中存在數量較多的後臺進程,在系統資源緊張時,系統將優先清除用戶較長時間沒有見到的後臺進程。
  • 空進程:
    空進程是不包含任何活躍組件的進程。
    空進程在系統資源緊張時會被首先清除,但爲了提高Android系統應用程序的啓動速度,Android系統會將空進程保存在系統內存中,在用戶重新啓動該程序時,空進程會被重新使用。

2. Android系統四大組件的名稱、概念及其作用
Activity 活動。是Android程序的呈現層,顯示可視化的用戶界面,並接收與用戶交互所產生的界面事件。
Service 服務。一般用於沒有用戶界面,但需要長時間在後臺運行的應用。
Broadcast Receiver 廣播接收器。用來接收並響應廣播消息的組件。
Content Provider 內容提供者。Android系統提供的一種標準的共享數據的機制,應用程序可以通過Content Provider 訪問其他應用程序的私有數據。
3. Activity四種狀態
Activity狀態變換圖
4. Activity的生命週期及其事件回調函數
Activity生命週期的事件回調函數
Activity事件回調函數的調用順序
5. 書P72 ActivityLifeCycle示例
6. Logcat有哪幾種日誌類型?級別是什麼?這幾種日誌的調用代碼?

  • 詳細信息 級別最低 Log.v();
  • 調試信息 級別倒數第二低 Log.d();
  • 通告信息 級別倒數第二低(與調試信息並列) Log.i();
  • 警告信息 級別第二高 Log.w();
  • 錯誤信息 級別最高 Log.e()。

第五章 Android用戶界面

1. 主流控件TextView、EditText、Button、CheckBox、RadioButton、Spinner、ListView使用的關鍵代碼、進行處理的事件函數和主要的屬性:

//主要屬性
<Xxx
	android:id="@+id/XxxId"
	android:layout_width="match_parent"
	android:layout_height="wrap_content"
	android:text="XXX"
	...
	>
</Xxx>
Xxx xxx = (Xxx)findViewById(R.id.XxxId);

TextView:
<TextView></TextView>
textView.setText(Xxx);textView.getText();

EditText:
<EditText></EditText>
textView.getText();

Button:
<Button></Button>
//設置點擊事件監聽器
//寫法一:
button.setOnClickListener(new View.OnClickListener(){
	public void onClick(View view){
		...
	}
});
//寫法二:
Button.OnClickListener buttonListener = new Button.OnClickListener(){
	public void onClick(View view){
		switch(view.getId()){
			case R.id.xxxBtn:
				break;
			...
		}
	}
};
button1.setOnClickListener(buttonListener);
button2.setOnClickListener(buttonListener);
...

CheckBox:
<CheckBox></CheckBox>
//設置點擊事件監聽器
CheckBox.OnClickListener checkBoxListener = new CheckBox.OnClickListener(){
	public void onClick(View view){
		...
	}
};
checkBox1.setOnClickListener(checkBoxListener);
checkBox2.setOnClickListener(checkBoxListener);
...

RadioButton:
<RadioGroup>
	<RadioButton></RadioButton>
	<RadioButton></RadioButton>
	...
</RadioGroup>
//設置點擊事件監聽器
RadioButton.OnClickListener radioButtonListener = new RadioButton.OnClickListener(){
	public void onClick(View view){
		...
	}
};
radioButton1.setOnClickListener(radioButtonListener);
radioButton2.setOnClickListener(radioButtonListener);
...

Spinner:
<Spinner></Spinner>
List<String> list = new ArrayList<String>();
list.add("1");
list.add("2");
list.add("3");
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,list);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);

ListView:
<ListView></ListView>
List<String> list = new ArrayList<String>();
list.add("1");
list.add("2");
list.add("3");
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,list);
listView.setAdapter(adapter);
//聲明ListView子項的點擊事件監聽器
AdapterView.OnItemClickListener listViewListener = new AdapterView.OnItemClickListener(){
	public void onItemClick(AdapterView<?> arg0,View arg1,int arg2,long arg3){
		...
	}
};
listView.setOnItemClickListener(listViewListener);

2. 幾種佈局的定義和主要屬性:

  • 線性佈局:
    在線性佈局中,所有的子元素都在垂直或水平方向按照順序在界面上排列。
<LinearLayout></LinearLayout>
主要屬性:android:orientation="vertical" vertical-垂直 horizontal-水平
  • 框架佈局:
    最簡單的界面佈局,用來存放一個元素的空白空間,且子元素的位置是不能夠指定的,只能夠放置在空白空間的左上角。
  • 表格佈局:
    將屏幕劃分爲表格,通過指定行和列可以將界面元素添加到表格中。
<TableLayout>
	<TableRow> <!--表示佈局中的行-->
		...
	</TableRow>
	<TableRow>
		...
	</TableRow>
	...
</TableLayout>

3. 選項菜單在哪個函數中創建,響應函數是什麼?

4. 快捷菜單在哪個函數中創建,響應函數是什麼?
5.

整理自《Android應用程序開發(第3版)》王向輝 張國印 沈潔 編著

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章