1. 程式人生 > >安卓面試題二

安卓面試題二

填空題:

1.我們用________來定義一個整數,用Char來定義一個字元型別,稱為原始資料型別;

2.android 的四大元件是____________,service,broadcast和contentprovide;

3.activity一般會過載7個方法用來維護其生命週期,除了_____________________,onStart(),onDestory() 外,

還有onRestart(),onResume(),onPause(),onStop();

4.android的資料儲存的方式______________,

檔案,SQlite,contentprovider,網路;

5.新建一個Activity需要在_________________.xml檔案中申明;

6.Android解析xml的方法中,將整個檔案載入到記憶體中進行解析的是______;

7. Timer中取消定時器的方法是________;

8.給ListView設定介面卡的方法是____________;

9. 全域性定時器中設定時間的方法是__________;

10. web service的標準通訊協議是_________(寫大寫字母);

11. httpClient中傳送請求的方法是___________

12. Android安裝程式的字尾名為____________

13. android虛擬裝置的縮寫是_____________

14.為了使android適應不同解析度的機型,佈局時字型應使用___單位

15. Android使用____________資料庫

16. Android主要以______語言為開發基礎

17. Android當中基本的所有的UI都是由______或者其子類實現的

18. Android.jar是一個標準的壓縮包,其內容包含的是編譯後的_______,包含了全部的API

19. layout佈局檔案的命名不能出現字母______ 

20. 設定TextView字型的屬性是: _____________

單選題:

1.Android專案工程下面的assets目錄的作用是(  )

A、放置應用到的圖片資源
B、主要放置一些檔案資源,這些檔案會被原封不動打包到 apk 裡面
C、放置字串,顏色,陣列等常量資料
D、放置一些與UI相應的佈局檔案,都是xml檔案

2.以下程式的執行結果為(  )
public class IfTest{
public static void main(String args[]){
int x=3;
int y=1;
if(x==y)
System.out.println(
“Not equal”);
else
System.out.println(“Equal”);
}
}
A、Not equal B、Equal C、無輸出 D、編譯出錯

3. Math.round(11.5)及Math.round(-11.5)分別等於 (  ).
A、11 ,-11 B、11 ,-12 C、12 ,-11 D、12 ,-12
4
. 使用HttpURLConnection的Get方式請求資料時,下列哪個屬性是必須設定的(  ) 

A、connection.setDoOutput(true)

B、connection.connect()

C、connection.setRequestMethod("POST")

D、connection.setDoInput(true)
5.activity對一些資源以及狀態的操作儲存,最好是儲存在生命週期的哪個函式中進行(  )
A、onPause() B、onCreate() C、 onResume() D、onStart()

6.下列屬於SAX解析xml檔案的優點的是(  )

  A、將整個文件樹在記憶體中,便於操作,支援刪除,修改,重新排列等多種功能

  B、不用事先調入整個文件,佔用資源少

  C、整個文件調入記憶體,浪費時間和空間

D、不是長久駐留在記憶體,資料不是持久的,事件過後,若沒有儲存資料,資料就會消失

7.Android語言中字串學Android所佔的記憶體空間是(   )
A、 8個位元組

B、 9個位元組
C、 10個位元組
D、 11個位元組

8. Hanlder是執行緒與Activity通訊的橋樑,如果執行緒處理不當,機器就會變得越慢,那麼執行緒銷燬的方法是(  )
    A、onDestroy()
    B、onClear()
    C、onFinish()
    D、onStop()

9.下面退出Activity錯誤的方法是(  )
A、finish()
B、拋異常強制退出

C、System.exit()
D、onStop()

10. 關於Socket通訊正確的是( ) 

A、伺服器端需要ServerSocket需要繫結埠號   

B、伺服器端需要ServerSocket需要繫結埠號和IP地址 

C、客戶端需要Socket,需要繫結埠號

D、客戶端需要ServerSocket,需要繫結埠號

判斷題:

1. EditText編輯框的提示資訊可以通過android:text屬性設定(   );

2.使用地圖不需要用到android.permission.WRITE_SECURE_SETTINGS許可權(  );

3.使用Sqlite資料庫,當資料庫版本發生變化時,可以自動更新資料庫結構( );

4. Activity類都必須在Androidmaniefest.xml中進行宣告( );

5. Android採用單執行緒模型( );

6. Android會預設會為執行緒建立一個關聯的訊息佇列( );

7. Handler會與多個執行緒以及該執行緒的訊息佇列對應( );

8. 程式元件首先通過Handler把訊息傳送給Looper,Looper把訊息放入佇列( );

9. 關於應用程式的生命週期,一個Activity從啟動到執行狀態需要執行3個方法,它的正確順序是:onCreate()->onStart()->onResume(  );

10. res目錄:該目錄存放程式中需要使用的資原始檔,在打包過程中android的工具會對這些檔案做對應的處理( );

11. R.java檔案是自動生成而不需要開發者維護的。在res資料夾中內容發生任何變化,R.java檔案都會同步更新( );

12. Assets目錄:在該目錄下存放的檔案,在打包過程中將會經過編譯後打包在APK中( );

13. AndroidManifest.xml是程式的配置檔案,程式中用到的所有Activity、Service、Broadcast Intent Receiver和Content Provider都必須在這裡進行宣告( );

14.在 Android 中,1pt 大概等於 1.22sp( );

15. SQLite資料庫檔案可以儲存在SD卡中( );

16. 安卓系統含有如下各版本( );

Android1.5代號cupcake  

Android1.6代號Donut  

Android2.0代號Éclair  

Android2.1代號eclair

Android2.2代號froyo  

Android2.3代號gingerbread   

Android3.0代號honeycomb 

Android4.0代號ice cream sandwich

17. Android dvm的程序和Linux的程序,應用程式的程序是否為同一個概念(  );

18. 在android中使用Menu時可能需要重寫的方法有onCreateOptionsMenu()和onOptionsItemSelected(  );

19. Tween、Frame屬於android的動畫分類(  );

20. 記憶體回收程式負責釋放無用記憶體(  );

問答題:

1.Android有哪三個基礎元件?

 

 

 

 

 

2.簡述Windows 環境下配置Android開發環境(ADT+Eclipse 方式)的步驟。

 

 

 

 

 

3. 簡述Android中常用幾種佈局(Layout)?

 

 

 

 

 

4.請儘可能多的說出Android的資料儲存方式?

 

 

 

 

 

5.列舉TextView控制元件中屬性(至少5個,例:android:text) 。

 

6. 系統上安裝了多種瀏覽器,能否指定某瀏覽器訪問指定頁面? 請說明原由

 

 

 

7. 例項化一個UITableView物件 要求寫出關鍵語句

 

8. 請解釋下Android程式執行時許可權與檔案系統許可權的區別

 

 

9. 什麼情況會導致Force Close ?如何避免?能否捕獲導致其的異常

 

10. IntentService有何優點?

 

 

 

 

11. handler機制的原理

 

 

 

12. Android中的多執行緒,有幾種方式?

 

 

 

13. 編碼UTF-8GBKUniCode,分別一個字元佔幾個位元組

 

 

 

 


答案:

一、填空題

1.int
2. Activity
3.onCreate()
4. SharedPreferences
5. AndroidManifest
6.DOM
7.cancel
8.setAdapter
9.set
10.SOAP

11.execute

12.apk

13.AVD

14.sp

15.SQLite

16.java

17.view

18.class

19.大寫

20.android:textSize  

二、單選題

1

2

3

4

5

6

7

8

9

10

B

B

C

B

D

B

B

A

C

A

 

三、判斷題

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

N

Y

Y

Y

Y

N

N

Y

Y

Y

Y

Y

N

N

Y

Y

Y

Y

N

Y

 

三、簡答題

1. 答:

1Activity Manager

(2)Service

(3)Broadcast Receiver

2.答:

(1)JDK的安裝;

(2)Java環境變數的設定;

(3)安裝Eclipse;

(4)安裝Android SDK;

(5)安裝配置ADT;

3. 答:

(1)Linearlayout 線性佈局

(2)Relativelayout 相對佈局

(3)FrameLayout 框架佈局

(4)TableLayout 表格佈局

(5)AbsoluteLayout 絕對佈局

4. 答:

(1) 使用SharedPreferences儲存資料;

(2) 檔案儲存資料;

(3) SQLite資料庫儲存資料;

(4) 使用ContentProvider儲存資料;

(5) 網路儲存資料;

5. 答:

android:text

android:hintandroid:textColor

android:textSize

android:bufferType

android:maxLines

android:lines

android:layout_width

android:layout_height

android:layout_gravity

 

6. 答:

通過直接傳送Uri把引數帶過去,或者通過manifest裡的intentfilter裡的data屬性

 

7. 答:

UITableView *my = [[UITableView alloc] initWithFrame:<#(CGRect)frame#> style:<#(UITableViewStyle)style#>];

my.delegate = self;

my.dataSource = self;

 

8. 答:

執行時許可權Dalvik( android授權)

檔案系統 linux 核心授權

9. 答:

一般像空指標啊,可以看起logcat,然後對應到程式中 來解決錯誤

10. 答:

IntentService 的好處

  1) Acitivity的程序,當處理Intent的時候,會產生一個對應的Service

  2) Android的程序處理器現在會盡可能的不kill掉你

  3) 非常容易使用

11. 答:

andriod提供了Handler 和 Looper 來滿足執行緒間的通訊。Handler先進先出原則。Looper類用來管理特定執行緒內物件之間的訊息交換(MessageExchange)。

  1)Looper: 一個執行緒可以產生一個Looper物件,由它來管理此執行緒裡的MessageQueue(訊息佇列)。

  2)Handler: 你可以構造Handler物件來與Looper溝通,以便push新訊息到MessageQueue裡;或者接收Looper從Message Queue取出)所送來的訊息。

  3) Message Queue(訊息佇列):用來存放執行緒放入的訊息。

4)執行緒:UIthread 通常就是main thread,而Android啟動程式時會替它建立一個MessageQueue。

12. 答:

Thread、asyncTask、TimetTask、Looper

13. 答:

3(中文字元)    2       2