安卓移動開發簡答題程序文件_第1頁
安卓移動開發簡答題程序文件_第2頁
安卓移動開發簡答題程序文件_第3頁
安卓移動開發簡答題程序文件_第4頁
安卓移動開發簡答題程序文件_第5頁
已閱讀5頁,還剩10頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、WORD15/15安卓簡答+程序題1、請簡述Android ADT (參見23)答:ADT,是Android Development ToolKit 的縮寫,表示開發工具包,是Eclipse的一個插件,用于快速創建Android工程、用戶界面和基于Android API 的組件。(3)ADT可以在Eclipse中輸入其下載地址進行安裝。在Eclipse中單獨安裝ADT插件的方法是使用菜單“HelpInstall New Software”。(1或2)在Eclipse的首選項中,只有安裝了ADT,才會出現做Android應用開發的選項“Android”。(0或1)請簡述Android SDK (

2、參見23)答:Android SDK( Software Development Kit),表示Android軟件開發包,是Android整體開發中所用到的工具包,提供了庫文件以與其他開發所用到的工具。如果在Eclipse中不關聯Android SDK,則無法開發Android應用程序。(2)在Eclipse中使用Android SDK提供的工具可以進行程序調試或對.apk文件進行簽名等。Android API是Android SDK的主體。(1)Android SDK目錄包含的子目錄中build-tools:包含了Android應用的編譯工具;platforms:存放Android SDK

3、Platforms平臺相關的文件;add-ons:存放Android的擴展庫;sources:存放Android API的源碼;platform-tools:存放平臺工具;tools:包含了用于操作SQLite數據庫的程序、模擬器管理程序、對Android應用程序進行調試和模擬服務的批處理程序等工具。(2)請簡述Android AVD (參見29)答:AVD(android virtual device),表示Android虛擬設備即模擬器,是Android SDK提供的重要工具之一,用于在沒有物理設備的情況下,在計算機上對Android程序進行開發、調試和仿真。(3)AVD可以通過Eclip

4、se菜單中WindowsAndroid AVD Managernew創建,通過Android AVD Managerstart啟動。(1)在Android應用工程名的的快捷菜單中,選擇“Run AsAndroid Application”可將工程部署到AVD并運行。(1)請簡述“I18n警告性錯誤(35)答:I18n是國際化(Internationalization)的簡稱,國際化是指在設計軟件時,將軟件與特定語言與地區脫鉤的過程。(2)“I18n警告性錯誤在程序的寫法不符合國際化做法的時候發生。(1)如文本框控件值的引用要通過引用字符串的變量的方法來實現(如)這是符合國際化的做法,如果不通過

5、引用字符串的變量的方法,而直接用字符串常量代替(如)則不符合國際化做法,會導致“I18n警告性錯誤黃色的感嘆號。(2)請簡述Activity 組件與視圖View (46、60)答:Activity是安卓最重要的組件,負責用戶界面的設計,Activity用戶界面框架采用MVC模式(model view controller)。(1)控制器負責接受并響應程序的外部動作;通過視圖來反饋應用程序給用戶的信息(通常是屏幕信息反饋);模型是應用程序的核心,用于保存數據和代碼。(1)Android組件在清單文件中使用注冊。Activity組件通過Intent對象激活。(1)Activity作為用戶界面,提供

6、了一些基本方法,如設置容視圖方法setContentView()、找控件方法findViewById()、關閉當前窗口方法finish()等。(1)Activity的一些擴展方法包括,用于數據共享存儲的getPreference()方法、用于動態加載頁面布局的getLayoutInflater()方法,開始后臺服務的startService()方法、發送廣播的sendBroadcast()方法、獲得程序間數據共享的容解析器的getContentResolver()方法等。(1)每個Activity除了有創建onCreat()、銷毀onDestroy()兩個基本方法外,還有停止onStop()、

7、激活onStart()、暫停onPause()、恢復onResume()等方法。(1)Activity在其生命周期有三種狀態:運行態、暫停態和停止態。運行態是指Activity出現在屏幕的最上層的狀態,此時用戶通常可以獲取焦點;暫停態是指Activity調用onPause()方法后出現的狀態,其上還有處于運行態的Activity存在,并且Activity沒有被完全遮住,即處于暫停態的Activity有一部分視圖被用戶所見;停止態是指當前Activity調用onStop()方法后出現的狀態,此時它完全被處于運行態的Activity遮擋住,即用戶界面完全不被用戶所見。請簡述Service 組件(4

8、6/171) (簡不了啊媽媽) 答:Service服務類組件是Android提供的無用戶界面、長時間在后臺運行的組件。Android組件在清單文件中使用注冊。Service 組件通過Intent對象激活。Service有利于降低系統資源的開銷,而且比Activity有更高的優先級。Service服務的調用分為顯式啟動和隱式啟動。顯式啟動是指在創建Intent對象時,指明Service所在的類,并調用方法startService(Intent)啟動Service。隱式啟動是指在注冊Service的同時,嵌標簽與,標簽的android:name屬性指定了引用該服務的名稱。隱式啟動的好處是不需要指明

9、需要啟動哪一個Activity,而由Android系統根據Intent的動作和數據來決定,這樣有利于降低Android組件之間的耦合度,強調Android組件的可復用性。若Service與調用它的組件在同一個應用程序中,則既可以使用顯式啟動,也可以使用隱式啟動(顯式啟動代碼簡潔);若服務和調用服務的組件在不同的應用程序中,則服務只能用隱式啟動方式。Service有startService()的非綁定啟動方式和bindService()的綁定啟動方式兩種。Service的兩種啟動方式:采用start開啟服務使用Service的步驟:(1).定義一個類繼承Service(2).在Manifest.

10、xml文件中配置該Service(3).使用Context的startService(Intent)方法啟動該Service(4).不再使用時,調用stopService(Intent)方法停止該服務使用這種start方式啟動的Service的生命周期如下: onCreate()onStartCommand()(onStart()方法已過時) onDestory()說明:如果服務已經開啟,不會重復的執行onCreate(), 而是會調用onStart()和onStartCommand()。服務停止的時候調用 onDestory()。服務只會被停止一次。特點:一旦服務開啟跟調用者(開啟者)就沒有

11、任何關系了。開啟者退出了,開啟者掛了,服務還在后臺長期的運行。開啟者不能調用服務里面的方法。二、采用bind的方式開啟服務使用Service的步驟:(1).定義一個類繼承Service(2).在Manifest.xml文件中配置該Service(3).使用Context的bindService(Intent, ServiceConnection, int)方法啟動該Service(4).不再使用時,調用unbindService(ServiceConnection)方法停止該服務使用這種bind方式啟動的Service的生命周期如下:onCreate() onBind()onunbind()o

12、nDestory()注意:綁定服務不會調用onstart()或者onstartcommand()方法特點:bind的方式開啟服務,綁定服務,調用者掛了,服務也會跟著掛掉。綁定者可以調用服務里面的方法。服務的整個生命周期從調用 onCreate() 開始起,到 onDestroy() 返回時結束。與 Activity 類似,服務也在 onCreate() 中完成初始設置,并在 onDestroy() 中釋放所有剩余資源。無論服務是通過 startService() 還是 bindService() 創建,都會為所有服務調用 onCreate() 和 onDestroy() 方法。服務的有效生命周

13、期從調用 onStartCommand() 或 onBind() 方法開始。每種方法均有 Intent 對象,該對象分別傳遞到 startService() 或 bindService()。對于啟動服務,有效生命周期與整個生命周期同時結束(即便是在 onStartCommand() 返回之后,服務仍然處于活動狀態)。對于綁定服務,有效生命周期在 onUnbind() 返回時結束。啟動服務該服務在其他組件調用 startService() 時創建,然后無限期運行,且必須通過調用 stopSelf() 來自行停止運行。此外,其他組件也可以通過調用 stopService() 來停止服務。服務停止后

14、,系統會將其銷毀。綁定服務該服務在另一個組件(客戶端)調用 bindService() 時創建。然后,客戶端通過 IBinder 接口與服務進行通信。客戶端可以通過調用 unbindService() 關閉連接。多個客戶端可以綁定到一樣服務,而且當所有綁定全部取消后,系統即會銷毀該服務。 (服務不必自行停止運行)請簡述BroadcastReceiver 組件(46、191)答:BroadcastReceiver,即廣播接收者,用來接收來自系統或其它應用程序的廣播,并作出回應。廣播接收者組件沒有UI界面。(2)在Android應用中,廣播接收者類使用標簽在清單文件中注冊,為靜態注冊方式,只能具有

15、相應權限的廣播接收者才能接收廣播、獲取Intent對象中的數據。動態注冊是在程序過使用Context類提供的方法registerReceiver()完成的。(2)創建廣播接收者的方法有兩種,一是標準的類繼承方法,二是通過向導創建廣播接收者。(1)BroadcastReceiver 組件通過Intent對象激活。一個BroadcastReceiver的生命周期從調用onReceiver(Context,Intent)方法開始,到該方法返回結束。(1)8、請簡述ContentProvider 組件(46、251)答:ContentProvider(容提供者)是Android系統中不同應用程序之間共

16、享數據的接口,用于保存和檢索數據。使用ContentProvider訪問某個應用程序的數據,不必關心其數據的存儲方式,其他應用程序可以通過一個ContentProvider類型的對象來操作某個程序的數據。(2)Android應用開發者將自己的持久化數據公開給其他應用程序有兩種方法:一是定義自己的ContentProvider子類,在清單文件里使用標簽注冊,并實現CRUD(增加(Create)、讀取查詢(Retrieve)、更新(Update)和刪除(Delete);二是將當前應用程序的數據添加到已有的ContentProvider中。(2)組件ContentProvider的四個CRUD方法的

17、第一方法參數均為Uri類型。創建ContentProvider子類時,標簽中name為必填屬性,表示ContentProvider子類的名稱;authorities也是必填屬性,表示其他應用程序訪問該ContentProvider時的路徑;permission是任選屬性,用于對本應用提供的數據訪問的限定,省略permission屬性時,表示任何應用都可以訪問本應用提供的數據。(1)9、請簡述意圖對象intent (47)答:Intent,意圖、打算,用于對某個操作的抽象描述,包括動作名稱、操作數據以與附加數據的描述。在Android中,通過Intent對象實現組件之間相互調用的相關信息。意圖類

18、Intent在Android程序設計中起紐帶作用,負責傳遞信息和數據。(1)Android組件調用時,Intent除了封裝意圖名稱,還封裝了一些方法,主要包括構造方法、存放附加數據方法、獲取數據方法和設置屬性方法等。(1)Intent顯式調用是通過使用顯式意圖明確要激活的組件,其方法是通過Intent提供的方法setClass()、setClassName()或setComponent()來指定的。(1)Intent隱式調用需要在清單文件中使用標簽(意圖過濾器)來指定動作名稱。(1)隱式意圖就是在意圖激活Activity、Service或BroadcastReceiver這三類組件時,不需要顯

19、式指出組件的名稱,而是指定action與category,Android系統會根據其特征找到相應的組件并激活。延其意圖類PendingIntent一般用在Notification上,可以理解為延期執行的Intent,是對Intent的一個包裝。(1)10、請簡述AIDL(185)答:AIDL(android interface definition language)是Android自定義的接口描述語言,可以簡化進程間數據格式轉換和數據交換的代碼,通過定義Service部的共有方法,允許在不同進程的調用者和Service之間相互傳遞數據。(2)AIDL允許定義函數參數的傳遞方向,有三種方向:標

20、識為in的參數將從調用者傳遞到遠程服務中,標識為out的參數將從遠程服務傳遞到調用者中,標識為inout的參數先從調用者傳遞到遠程服務中,再從遠程服務返回到調用者。(2)使用AIDL跨進程調用(遠程服務)的服務器端開發,其主要步驟如下:.創建接口描述文件;.建立一個服務類(service的子類)并實現接口;.在Service的綁定方法onBind(Intent)里返回實現了接口的實例對象;.在清單文件中注冊AIDL對應的服務。使用AIDL跨進程調用(遠程服務)的客戶端開發,其主要步驟如下:.創建與服務器端一樣的接口描述文件;.在主Activity中,定義遠程服務連接對象,在其創建遠程服務對象;

21、.在主Activity中使用綁定方式調用遠程服務,通過遠程服務對象調用遠程服務里的方法。(2)11、請簡述SQLite 數據庫的特點(218)答:SQLite數據庫適合于嵌入式系統,占用資源少、運行高效、可移植性好、并且提供了零配置的運行模式,是Android手機自帶(即置)的輕量級數據庫軟件,提供了對數據庫的增刪改查等操作。(3)SQLite數據庫體系結構中最核心的部分是虛擬機,也稱虛擬數據庫引擎(virtual database engine,VDBE),用來解釋字節代碼,以完成對數據庫的操作。(2)12、請簡述Android 移動開發與javaWeb 開發的異同。(P5)答:相似之處:j

22、ava Web開發中的用戶界面UI與Android中的用戶界面Activity是平行的;(1)java Web開發和Android都有UI設計;(1)Android開發是java開發的一個分支,Android類庫用了java中的部分常用類庫;(1)相異之處:二者的工程文件結構有很大的差異;(1)就難易程度來說,Android開發比java Web開發要簡單容易很多;(1)13、請簡述Android 系統架構(參見P14)答:Anndroid是基于Linux核的軟件平臺和操作系統,采用了軟件堆棧架構,共分為四層:Linux核層、Anndroid函數庫與運行時層、應用程序框架層和應用程序層。(2)

23、Linux核是硬件和其他軟件堆層之間的一個抽象隔離層,提供由操作系統核管理的底層基礎功能,主要有安全機制、存管理、進程管理、網絡協議棧和驅動程序等。Anndroid函數庫與運行時是第二層,位于Linux核之上,也稱中間件層。Anndroid運行時由核心庫和Dalvik虛擬機構成。核心庫為開發人員提供了Android系統的特有函數功能和java語言的基本函數功能,Dalvik虛擬機采用適合存和處理器受限的專用格式。應用程序框架層提供了Android平臺的管理功能和組件的重用機制,包括Activity管理、資源管理、位置管理、通知消息管理、View系統和容提供者等。Android的三大核心功能如下:(1). View:提供了繪制圖形,處理觸摸、按鍵事件等功能;(2). ActivicyManagerService:簡稱為AMS,主要功能是管理所有應用程序的Activity、存管理等,AMS作為一種系統級服務管理所有Activity,當操作(啟動或停止)某個Activity時,必須報告給AMS,而不能“擅自處理”,在存不足時,AMS可能主動殺死后臺的Activity;(3). WindowManagerService:簡稱WMS,主要功能是為所有應用程序分配窗口并管這些窗口。應用程序

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論