Android試題

1章 初識Android 1java

1.1 Android歷史 1linux

Android之父是誰?android

答案:Andy Rubin(安迪魯賓)。web

1.2 移動操做系統簡介 2數據庫

請寫出當前比較流行的幾款移動操做系統與其開發語言。編程

答案:Windows Mobile / Phone的開發語言是C#C++iOS的開發語言是Objective-CSymbian的開發語言是C++BlackBerry的開發語言是JavaAndroid使用Java做爲主要的應用開發語言,在須要更改Android的底層功能時,須要使用CC++瀏覽器

1.3 Android版本更替 3安全

如今最新的Android版本叫什麼?網絡

答案:叫作Jelly Bean(果凍豆),也就是4.2版。架構

1.4 Android系統特性 5

Android系統的特性有不少,請說出四個特性。

答案:顯示佈局、數據存儲、網絡、信息、瀏覽器、編程語言支持、媒體支持、流媒體支持、硬件支持、多點觸控、藍牙、多任務處理、語音功能、無線共享功能、截圖功能、跨平臺、應用程序安全機制。

1.5 Android系統架構 7

請寫出Android系統架構有幾層,分別是哪幾層。

答案:有四層。分別是Linux內核、本地庫和Java運行時環境、應用程序框架、應用程序。

Android系統的架構。

答案:android的系統架構和其操做系統同樣,採用了分層的架構。從架構圖看,android分爲四個層,從高層到低層分別是應用程序層、應用程序框架層、系統運行庫層和linux核心層。

  1.應用程序

  Android會同一系列核心應用程序包一塊兒發佈,該應用程序包包括email客戶端,SMS短消息程序,日曆,地圖,瀏覽器,聯繫人管理程序等。全部的應用程序都是使用JAVA語言編寫的。

  2.應用程序框架

  開發人員也能夠徹底訪問核心應用程序所使用的API框架。該應用程序的架構設計簡化了組件的重用;任何一個應用程序均可以發佈它的功能塊而且任何其它的應用程序均可以使用其所發佈的功能塊(不過得遵循框架的安全性限制)。一樣,該應用程序重用機制也使用戶能夠方便的替換程序組件。

  隱藏在每一個應用後面的是一系列的服務和系統其中包括;

  豐富而又可擴展的視圖(Views),能夠用來構建應用程序, 它包括列表(lists),網格(grids),文本框(text boxes),按鈕(buttons) 甚至可嵌入的web瀏覽器。

  內容提供器(Content Providers)使得應用程序能夠訪問另外一個應用程序的數據(如聯繫人數據庫) 或者共享它們本身的數據

  資源管理器(Resource Manager)提供 非代碼資源的訪問,如本地字符串,圖形,和佈局文件( layout files )

  通知管理器 (Notification Manager) 使得應用程序能夠在狀態欄中顯示自定義的提示信息。

  活動管理器( Activity Manager) 用來管理應用程序生命週期並提供經常使用的導航回退功能。

  有關更多的細節和怎樣從頭寫一個應用程序,請參考 如何編寫一個 Android 應用程序.

  3.系統運行庫

  1)程序庫

  Android 包含一些C/C++庫,這些庫能被Android系統中不一樣的組件使用。它們經過 Android 應用程序框架爲開發者提供服務。如下是一些核心庫:

  系統  一個從 BSD 繼承來的標準 系統函數庫( libc ) 它是專門爲基於 embedded linux 的設備定製的。

  媒體庫 基於 PacketVideo OpenCORE;該庫支持多種經常使用的音頻、視頻格式回放和錄製,同時支持靜態圖像文件。編碼格式包括MPEG4, H.264, MP3, AAC, AMR, JPG, PNG 

  * Surface Manager - 對顯示子系統的管理,而且爲多個應用程序提 供了2D3D圖層的無縫融合。

  * LibWebCore - 一個最新的web瀏覽器引擎用,支持Android瀏覽器和一個可嵌入的web視圖。

  * SGL - 底層的2D圖形引擎

  * 3D libraries - 基於OpenGL ES 1.0 APIs實現;該庫可使用硬件 3D加速(若是可用)或者使用高度優化的3D軟加速。

  * FreeType -位圖(bitmap)和矢量(vector)字體顯示。

  * SQLite - 一個對於全部應用程序可用,功能強勁的輕型關係型數據庫引擎。

  2)Android 運行庫

  Android 包括了一個核心庫,該核心庫提供了JAVA編程語言核心庫的大多數功能。

  每個Android應用程序都在它本身的進程中運行,都擁有一個獨立的Dalvik虛擬機實例。Dalvik被設計成一個設備能夠同時高效地運行多個虛擬系統。 Dalvik虛擬機執行(.dex)Dalvik可執行文件,該格式文件針對小內存使用作了優化。同時虛擬機是基於寄存器的,全部的類都經由JAVA編譯器編譯,而後經過SDK  dx 工具轉化成.dex格式由虛擬機執行。

  Dalvik虛擬機依賴於linux內核的一些功能,好比線程機制和底層內存管理機制。

  4.Linux 內核

Android 的核心繫統服務依賴於 Linux 2.6 內核,如安全性,內存管理,進程管理, 網絡協議棧和驅動模型。 Linux 內核也同時做爲硬件和軟件棧之間的抽象層。

1.6 在Windows下搭建Android開發環境 10

1.6.1 環境搭建步驟 10

1.6.2 一次性打包下載 16

請寫出整個Android開發環境的搭建過程步驟。

答案:安裝JDK -> 安裝Eclipse -> 下載Android SDK-> Eclipse中安裝並配置ADT

1.7 Android HelloWorld 17

編寫一個簡單的Android開發HelloWorld應用的步驟是什麼。

答案:① 創建項目;② 編寫代碼;③ 創建AVDAndroid模擬器);④ 運行HelloWorld

1.8 Android應用程序框架 23

Android的每個應用都是一套具備固定框架的程序與代碼集合,裏面包括哪些內容,請說很多於四個。

答案:裏面包括Java源代碼、界面佈局文件、項目配置文件(AndroidManifest.xml)、字符串數據配置文件、主題和樣式(Style)配置文件、圖片資源、菜單佈局文件、自動生成的R.javaApk(可執行的安裝包)文件、庫文件等。

1.9 經常使用的開發與調試工具介紹 24

Android開發中經常使用的開發與調試工具備不少,請說出很多於兩個。

答案:adbDDMSAVD ManagerEmulatorLogCatSDK Manager

1.10 Android四大組件簡介 25

請簡要介紹Android的四大組件。

答案:Android系統有四種組件,這四種組件構成了Android應用的框架,而後由Intent聯繫這四種組件。Activity用來顯示Android的程序界面,一個應用每每有多個界面,因此一個應用中會有多個ActivityService沒有界面的後臺服務,會一直運行在後臺。常被用來作數據處理,也能夠作一些定時的任務。Broadcast ReceiverAndroid的廣播接收器,在廣播機制中充當廣播的接受者的做用,Android中充滿了各類廣播,全部須要有選擇地接收一些有用的廣播,而後處理這些廣播。Content Provider可直譯爲內容提供者,它是用在不一樣的應用程序之間共享數據時,能夠把一個應用的數據提供給其餘的應用使用。

你如何評價Android系統?優缺點。

答案:優勢:1、學習的開源性;   

2、軟件兼容性比較好;

    3、軟件發展迅速;

   4、界面佈局好。

   缺點:1、版本過多;

2、先有軟件少  3、商務性能差。

AndroidActivity, Intent, Content Provider, Service各有什麼區別。

答案:Activity 活動,是最基本的android應用程序組件。一個活動就是一個單獨的屏幕,每個活動都被實現爲一個獨立的類,而且從活動基類繼承而來。
Intent
 意圖,描述應用想幹什麼。最重要的部分是動做和動做對應的數據。
Content Provider
:內容提供器,android應用程序可以將它們的數據保存到文件、SQLite數據庫中,甚至是任何有效的設備中。當你想將你的應用數據和其餘應用共享時,內容提供器就能夠發揮做用了。
Service
:服務,具備一段較長生命週期且沒有用戶界面的程序。

Manifest.xml文件中主要包括哪些信息?

答案:manifest:根節點,描述了package中全部的內容。
uses-permission
:請求你的package正常運做所需賦予的安全許可。
permission
 聲明瞭安全許可來限制哪些程序能你package中的組件和功能。
instrumentation
:聲明瞭用來測試此package或其餘package指令組件的代碼。
application
:包含packageapplication級別組件聲明的根節點。
activity
Activity是用來與用戶交互的主要工具。
receiver
IntentReceiver能使的application得到數據的改變或者發生的操做,即便它當前不在運行。
service
Service是能在後臺運行任意時間的組件。
provider
ContentProvider是用來管理持久化數據併發布給其餘應用程序使用的組件。

相關文章
相關標籤/搜索