2014-01-27 40 views
0

我正在給Android編程世界的第一步。這是一個初學者問題。瞭解Android應用程序執行

如何完成,使用c或C++編寫的庫來操作例如相機或揚聲器在一個Android應用程序中的過程?

我們使用允許訪問攝像頭等組件的硬件服務。 此硬件服務使本地調用(JNI)?它是否正確?

Dalvik VM執行一個dex文件。這個dex文件是否包含所有這些被翻譯成機器碼的入侵?

我有點困惑

+1

看看這個視頻。 http://www.youtube.com/watch?v=G-36noTCaiA – Varun

回答

0

作爲Android的架構圖提及Android有最庫,使用Java Native Interface(JNI)能在Linux內核調用本機(C/C++),這樣的當你編寫調用攝像頭的代碼時,你的java代碼調用一些庫函數中的一些函數,稱爲媒體框架,它處理硬件併爲你打開攝像頭並使用它來操作,這裏有一些層次來解釋這個想法:

Android應用程序 | Android應用程序 | Java本地接口 | C/C++本地庫

餵我回任何組件不明顯你

+0

那麼,一切都是JNI?或者只是我們想在我們的Android應用程序(NDK) – adcosta

+0

10中使用的自定義c,C++庫,請參閱此圖 http://soulbuzz.net/wp-content/uploads/2010/05/android_native_service.png 該框架(API)用JNI編寫,處理使用NDK編寫的C/C++庫時,我充當庫部分並直接處理硬件 反饋給我的任何組件對您來說都不是顯而易見的。 –