一、題型
選擇題 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包括哪些內容?
- 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四種狀態
4. 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版)》王向輝 張國印 沈潔 編著