android面試題及答案
引導語:android是這段時間非常熱門的開發專業之一,而有關android的面試題及答案哪裡有呢?接下來是小編為你帶來收集整理的文章,歡迎閱讀!
在android中,請簡述jni的呼叫過程。
1)安裝和下載cygwin,下載 android ndk
2)在ndk專案中jni介面的設計
3)使用c/c++實現本地方法
4)jni生成動態連結庫.so檔案
5)將動態連結庫複製到java工程,在java工程中呼叫,執行java工程即可
簡述android應用程式結構是哪些?
android應用程式結構是:
linux kernel(linux核心)、libraries(系統執行庫或者是c/c++核心庫)、application
framework(開發框架包)、applications (核心應用程式)
如果後臺的activity由於某原因被系統回收了,如何在被系統回收之前儲存當前狀態?
onsaveinstancestate()
當你的程式中某一個activity a在執行時,主動或被動地執行另一個新的activity b,這個時候a會執行onsaveinstancestate()。b完成以後又會來找a,這個時候就有兩種情況:一是a被回收,二是a沒有被回收,被回收的a就要重新呼叫oncreate()方法,不同於直接啟動的是這回oncreate()裡是帶上了引數savedinstancestate;而沒被收回的就直接執行onresume(),跳過oncreate()了。
如何將一個activity設定成視窗的樣式。
在androidmanifest.xml 中定義activity的地方一句話android:theme="@android:style/theme.dialog"或android:theme="@android:style/theme.translucent"就變成半透明的
請介紹下android中常用的五種佈局。
framelayout(框架佈局),linearlayout (線性佈局),absolutelayout(絕對佈局),relativelayout(相對佈局),tablelayout(表格佈局)
請介紹下android的資料儲存方式。
一.sharedpreferences方式
二.檔案儲存方式
三.sqlite資料庫方式
四.內容提供器(content provider)方式
五. 網路儲存方式
請介紹下contentprovider是如何實現資料共享的。
建立一個屬於你自己的content provider或者將你的資料新增到一個已經存在的content provider中,前提是有相同資料型別並且有寫入content provider的許可權。
請解釋下android程式執行時許可權與檔案系統許可權的區別。
執行時許可權dalvik( android授權)
檔案系統 linux 核心授權
系統上安裝了多種瀏覽器,能否指定某瀏覽器訪問指定頁面?請說明原由。
透過直接傳送uri把引數帶過去,或者透過manifest裡的intentfilter裡的data屬性
什麼情況會導致force close ?如何避免?能否捕獲導致其的異常?
答:一般像空指標啊,可以看起logcat,然後對應到程式中 來解決錯誤
intentservice有何優點?
答:intentservice 的好處
* acitivity的`程序,當處理intent的時候,會產生一個對應的service
* android的程序處理器現在會盡可能的不kill掉你
* 非常容易使用
橫豎屏切換時候activity的生命週期?
1、不設定activity的android:configchanges時,切屏會重新呼叫各個生命週期,切橫屏時會執行一次,切豎屏時會執行兩次
2、設定activity的android:configchanges="orientation"時,切屏還是會重新呼叫各個生命週期,切橫、豎屏時只會執行一次
3、設定activity的android:configchanges="orientation|keyboardhidden"時,切屏不會重新呼叫各個生命週期,只會執行onconfigurationchanged方法