安卓面試題二
填空題:
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-8、GBK、UniCode,分別一個字元佔幾個位元組
答案:
一、填空題
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. 答:
(1)Activity 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