- 相關(guān)推薦
android面試題(5)
android:layout_alignParentRight="true" 在父元素右對(duì)齊
TableLayout
表格布局類(lèi)似Html里面的Table。每一個(gè)TableLayout里面有表格行TableRow,TableRow里面可以具體定義每一個(gè)元素,設(shè)定他的對(duì)齊方式 android:gravity="" 。
每一個(gè)布局都有自己適合的方式,另外,這五個(gè)布局元素可以相互嵌套應(yīng)用,做出美觀的界面。
oa 自動(dòng)化 生成報(bào)表 ,圖標(biāo) 表示
css div
webview
27. 談?wù)刄I中, Padding和Margin有什么區(qū)別?
Padding 文字對(duì)邊框, margin是控件與控件之間的距離
28. widget相對(duì)位置的完成在activity的哪個(gè)生命周期階段實(shí)現(xiàn)。
這個(gè)題沒(méi)看懂…
widget可以理解成桌面小控件,
也可以理解成 某個(gè)button, imageview這樣的控件…
onmeasure() // 計(jì)算 控件在屏幕上的位子
某個(gè)view 要顯示在界面 ondraw 被顯示到界面上的
29. 請(qǐng)解釋下在單線程模型中Message、Handler、Message Queue、Looper之間的關(guān)系。
Handler簡(jiǎn)介:
一個(gè)Handler允許你發(fā)送和處理Message和Runable對(duì)象,這些對(duì)象和一個(gè)線程的MessageQueue相關(guān)聯(lián)。每一個(gè)線程實(shí)例和一個(gè)單獨(dú)的線程以及該線程的MessageQueue相關(guān)聯(lián)。當(dāng)你創(chuàng)建一個(gè)新的Handler時(shí),它就和創(chuàng)建它的線程綁定在一起了。這里,線程我們也可以理解為線程的MessageQueue。從這一點(diǎn)上來(lái)看,Handler把Message和Runable對(duì)象傳遞給MessageQueue,而且在這些對(duì)象離開(kāi)MessageQueue時(shí),Handler負(fù)責(zé)執(zhí)行他們。
Handler有兩個(gè)主要的用途:(1)確定在將來(lái)的某個(gè)時(shí)間點(diǎn)執(zhí)行一個(gè)或者一些Message和Runnable對(duì)象。(2)在其他線程(不是Handler綁定線程)中排入一些要執(zhí)行的動(dòng)作。
Scheduling Message,即(1),可以通過(guò)以下方法完成:
post(Runnable):Runnable在handler綁定的線程上執(zhí)行,也就是說(shuō)不創(chuàng)建新線程。
postAtTime(Runnable,long):
postDelayed(Runnable,long):
sendEmptyMessage(int):
sendMessage(Message):
sendMessageAtTime(Message,long):
sendMessageDelayed(Message,long):
post這個(gè)動(dòng)作讓你把Runnable對(duì)象排入MessageQueue,MessageQueue受到這些消息的時(shí)候執(zhí)行他們,當(dāng)然以一定的排序。sendMessage這個(gè)動(dòng)作允許你把Message對(duì)象排成隊(duì)列,這些Message對(duì)象包含一些信息,Handler的hanlerMessage(Message)會(huì)處理這些Message.當(dāng)然,handlerMessage(Message)必須由Handler的子類(lèi)來(lái)重寫(xiě)。這是編程人員需要作的事。
當(dāng)posting或者sending到一個(gè)Hanler時(shí),你可以有三種行為:當(dāng)MessageQueue準(zhǔn)備好就處理,定義一個(gè)延遲時(shí)間,定義一個(gè)精確的時(shí)間去處理。后兩者允許你實(shí)現(xiàn)timeout,tick,和基于時(shí)間的行為。
當(dāng)你的應(yīng)用創(chuàng)建一個(gè)新的進(jìn)程時(shí),主線程(也就是UI線程)自帶一個(gè)MessageQueue,這個(gè)MessageQueue管理頂層的應(yīng)用對(duì)象(像activities,broadcast receivers等)和主線程創(chuàng)建的窗體。你可以創(chuàng)建自己的線程,并通過(guò)一個(gè)Handler和主線程進(jìn)行通信。這和之前一樣,通過(guò)post和sendmessage來(lái)完成,差別在于在哪一個(gè)線程中執(zhí)行這么方法。在恰當(dāng)?shù)臅r(shí)候,給定的Runnable和Message將在Handler的MessageQueue中被Scheduled。
Message簡(jiǎn)介:
Message類(lèi)就是定義了一個(gè)信息,這個(gè)信息中包含一個(gè)描述符和任意的數(shù)據(jù)對(duì)象,這個(gè)信息被用來(lái)傳遞給Handler.Message對(duì)象提供額外的兩個(gè)int域和一個(gè)Object域,這可以讓你在大多數(shù)情況下不用作分配的動(dòng)作。
盡管Message的構(gòu)造函數(shù)是public的,但是獲取Message實(shí)例的最好方法是調(diào)用Message.obtain(),或者Handler.obtainMessage()方法,這些方法會(huì)從回收對(duì)象池中獲取一個(gè)。
MessageQueue簡(jiǎn)介:
這是一個(gè)包含message列表的底層類(lèi)。Looper負(fù)責(zé)分發(fā)這些message。Messages并不是直接加到一個(gè)MessageQueue中,而是通過(guò)MessageQueue.IdleHandler關(guān)聯(lián)到Looper。
你可以通過(guò)Looper.myQueue()從當(dāng)前線程中獲取MessageQueue。
Looper簡(jiǎn)介:
Looper類(lèi)被用來(lái)執(zhí)行一個(gè)線程中的message循環(huán)。默認(rèn)情況,沒(méi)有一個(gè)消息循環(huán)關(guān)聯(lián)到線程。在線程中調(diào)用prepare()創(chuàng)建一個(gè)Looper,然后用loop()來(lái)處理messages,直到循環(huán)終止。
大多數(shù)和message loop的交互是通過(guò)Handler。
下面是一個(gè)典型的帶有Looper的線程實(shí)現(xiàn)。
class LooperThread extends Thread {
public Handler mHandler;
public void run() {
Looper.prepare();
mHandler = new Handler() {
public void handleMessage(Message msg) {
// process incoming messages here
}
};
Looper.loop();
}
}
30. AIDL的全稱(chēng)是什么?如何工作?
Android interface definition language (android接口定義語(yǔ)言) ,
用來(lái)跨進(jìn)程的訪問(wèn)方法,
訪問(wèn)遠(yuǎn)程的服務(wù)的方法. 如何工作 day7 queryStudent .
手機(jī)衛(wèi)士 Itelephony 接口掛斷電話.
31. 請(qǐng)解釋下Android程序運(yùn)行時(shí)權(quán)限與文件系統(tǒng)權(quán)限的區(qū)別。
Android程序執(zhí)行需要讀取到安全敏感項(xiàng)必需在androidmanifest.xml中聲明相關(guān)權(quán)限請(qǐng)求, 打電話,訪問(wèn)網(wǎng)絡(luò),獲取坐標(biāo),讀寫(xiě)sd卡,讀寫(xiě)聯(lián)系人等..安裝的時(shí)候會(huì)提示用戶(hù)…
文件系統(tǒng)的權(quán)限是linux權(quán)限. 比如說(shuō)sharedpreference里面的Context.Mode.private Context.Mode.world_read_able Context.Mode_world_writeable
777自己 同組 其他
root 是危險(xiǎn)的行為
32. 系統(tǒng)上安裝了多種瀏覽器,能否指定某瀏覽器訪問(wèn)指定頁(yè)面?
【android面試題(5)】相關(guān)文章:
android面試題目09-08
Android工程師的面試題08-07
Android工程師面試題10-24
Microsoft面試題09-04
iOS面試題07-10
公司面試題09-12
hibernate面試題10-18
英語(yǔ)面試題精選06-13
小升初面試題06-10