# 第十八章 知識測試
**教程說明**
完成時間:十五分鐘
執行難度:簡單
前面我們已經了解了為Android平臺創建應用程序過程中需要涉及的各種基本概念及知識要點。一路走來,我們探討了關于Android開發的各方面內 容,其中包括Java開發、XML使用、用戶界面設計、項目結構、數據存儲以及發布流程等。為了檢驗我們的學習效果,在今天的文章中請大家接受一份結業測試、看看自己是否掌握了前面提到的各項知識。
**問題一**
我們的Java類被保存在以下哪個Android應用程序目錄之下?
1. res
1. layout
1. src
1. values
**問題二**
我們不會在項目清單文件中執行以下哪項內容?
1. 在應用程序當中聲明activity。
1. 設定最低API支持級別。
1. 定義按鈕被點擊后執行何種事件。
1. 列出應用程序運行所需要的權限。
**問題三**
為了在Java當中利用“@+id/how”語法檢索XML中某個視圖集的id,我們應該使用以下哪條語句?
1. R.how
1. R.view.how
1. findViewById(how)
1. R.id.how
**問題四**
我們應該使用以下哪條語句在XML當中設定TextView所顯示的文本字符串?
1. android:text='@string/info'
1. android:string='info'
1. android:text='@text/info'
1. android:value='@string/info'
**問題五**
以下哪一種才是我們用于定義用戶點擊某個按鈕時所執行事件的標準方法?
1. onClickListener
1. onViewClick
1. onClick
1. onButtonClick
**問題六**
我們需要將以下哪種XML屬性添加到視圖當中,從而指定用戶進行點擊時所執行的方法 ?
1. android:onClick
1. android:click
1. android:clickListener
1. android:clicked
**問題七**
我們需要使用以下哪條語句在ImageView當中設置一個可繪制顯示圖形?
1. android:img='@drawable/my_shape'
1. android:shape='@drawable/my_shape'
1. android:drawable='@drawable/my_shape'
1. android:src='@drawable/my_shape'
**問題八**
我們需要將以下哪種activity元素包含在清單當中,從而在應用程序從設備菜單中啟動時執行該activity?
1. 包含在某個屬性當中的應用程序名稱。
1. 主要及啟動器屬性。
1. 主action以及啟動器類型元素。
1. 主類型與啟動器action元素。
**問題九**
我們需要在哪個元素當中聲明應用程序在清單中所要求的權限?
1. permission
1. request-permission
1. permission-required
1. uses-permission
**問題十**
應用程序的Shared Preferences是用來干什么的?
1. 保存原始數據項的鍵值對。
1. 在表當中以行和列的方式保存結構化數據。
1. 檢索互聯網數據。
1. 將數據保存在用戶設備上的外部文件中。
**問題十一**
應用程序在讀取并寫入文件時,我們需要如何處理I/O錯誤?
1. 仔細檢查文件名字符串。
1. 將我們的I/O代碼放置在一個獨立的類當中。
1. 嘗試并獲取與I/O代碼相關的數據塊。
1. 向用戶輸出警告信息。
**問題十二**
在嘗試向外部存儲機制進行寫入之前,我們的應用程序不需要執行以下哪個步驟?
1. 檢查外部存儲機制是否可用。
1. 檢查外部存儲機制的寫入訪問。
1. 使用清單內用于向外部存儲寫入操作的權限。
1. 使用警告對話框,要求用戶為數據寫入提供權限。
**問題十三**
在從互聯網源獲取數據時,我們需要堅持做到以下哪一點?
1. 使用一個service類來獲取數據。
1. 使用一個單獨的進程、而不要利用用戶界面進程進行數據獲取。
1. 在主activity類中的一個方法內獲取數據。
1. 將檢索數據保存在SQLite數據庫當中。
**問題十四**
以下哪種說法存在錯誤?
1. 即使是在啟動某service的activity停止運行之后、該service仍將繼續處于運行狀態。
1. 除非用戶利用后退按鈕進行退出操作,否則activity將始終處于運行狀態。
1. 某個綁定service在任何與之相綁定的組件停止運行后、也將一同停止運行。
1. 當某個activity的指向發生變化時、其在默認情況下將進行重新創建。
**問題十五**
要在某個activity當中啟用另一個activity,我們需要使用以下哪種類?
1. Intent
1. Thread
1. View
1. Service
**問題十六**
當一款應用程序啟動并處于resumed狀態時,以下哪種回調方法不會執行?
1. onCreate
1. onPause
1. onStart
1. onResume
**問題十七**
當用戶在暫停之后重新返回我們的應用程序時,以下哪種回調方法會付諸執行?
1. onRestart
1. onResume
1. onStart
1. onCreate
**問題十八**
我們需要利用當種方法將狀態數據保存在activity的onCreate與onRestoreInstanceState方法當中、以備未來訪問?
1. onDestroy
1. onSaveInstanceState
1. onStateChange
1. onSaveState
**問題十九**
哪個類允許我們定義可重復使用的用戶界面部分?
1. Fragment
1. Service
1. Activity
1. View
**問題二十**
在向Google Play發布應用程序時,我們不需要進行以下哪個步驟?
1. 在清單當中包含應用程序的版本與名稱。
1. 利用release key進行APK簽名。
1. 為應用程序選擇內容分級以及產品定價。
1. 為應用程序創建一段視頻介紹。
正確答案:
1-5、CCDAC;
6-10、ADCDA;
11-15、CDBBA;
16-20、BBBAD。