當前位置:文思屋>社會工作>面試問題>

android面試題及答案

文思屋 人氣:1.56W

在android中,請簡述jni的呼叫過程。

android面試題及答案

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方法

如何將SQLite資料庫(dictionary.db檔案)與apk檔案一起釋出?

解答:可以將dictionary.db檔案複製到Eclipse Android工程中的res aw目錄中。所有在res aw目錄中的檔案不會被壓縮,這樣可以直接提取該目錄中的檔案。可以將dictionary.db檔案複製到res aw目錄中