android.
在Eclipse透過JNI 跑C/C++ for android-基礎安裝篇
首先,這是一個很複雜的問題…..因為 我搞了好久才搞定
這一篇應該算是經驗談,所以如有錯誤麻煩告知
參考資料:
http://ibuzzlog.blogspot.tw/2012/07/android-jni_20.html
http://zhoujianghai.iteye.com/blog/897212
http://j796160836.pixnet.net/blog/post/31583827-%5Bandroid%5D-安裝ndk與使用jni呼叫系統底層native的c-
環境準備
一開始你要先有eclipse+ android SDK
這是android 程式開發的基礎環境,相信大部分的人都是用這個環境來寫作
我目前是使用eclipse JUNO 中文化版本 教學也以中文化版本為主,英文版 可以看上面參考資料
所需安裝軟體
- androoid NDK 這是要讓android 能透過JNI 來執行C語言時所必需的套件
- eclipse CDT 這是讓eclipse 有C/C++ 的開發環境
- eclipse NDK 這是把NDK 引入eclipse 的套件
- cygwin 這是C/C++的compiler
其中最難搞 的是第四項,其他的很簡單….
安裝androoid NDK
- 至http://developer.android.com/tools/sdk/ndk/index.html 下載最新版本
- 解壓縮到硬碟,可以放在和android SDK 相同資料夾下方便管理
- 搞定
安裝eclipse CDT
- 在eclipse 下開啟 說明->Install New Software
- 在work with 中搜尋http://download.eclipse.org/tools/cdt/releases/indigo,如下徒選想CDT相關的安裝,應該是只要第一個就好,不過我連第二個也順便了 沒差
- 接下來就是和android ADT 的安裝程序相同,就一路 下一部,同意 OK等等…我就不截圖了,因為我都安裝過了….
- 結束後eclipse 會要你重新啟動軟體,選YES
如何控制閃光燈的開啟與關閉
最近繼續研究android 的影像處理
繼續想辦法偷吃步XD
喔 不 今天不是樣講這個
今天要說的是 我研究出如何讓使用者自行控制閃光燈
但是因為 部分程式 是別人寫的…我無法說明原因(無法完全理解)
首先,簡單來說就是 處理 案件觸發,我把它放在手機上的 search 鍵(KeyEvent.KEYCODE_SEARCH:)
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
switch(keyCode)
{
case KeyEvent.KEYCODE_DPAD_CENTER: // DPAD_CENTER
mPreview.mCamera.autoFocus(null);
break;
case KeyEvent.KEYCODE_MENU: // MENU
mDrawOnTop.mDrawEdges = !mDrawOnTop.mDrawEdges;
break;
case KeyEvent.KEYCODE_SEARCH:
mPreview.changeTheFlash();
break;
}
return super.onKeyDown(keyCode, event);
}
再來就是 開啟予關閉,這部分是寫在 相機這個 class 底下,這部分大部分的code 是我同學寫的,我只是拿來增加功能
public void changeTheFlash(){
Camera.Parameters parameters=mCamera.getParameters();
if(flashMod==true)
{
turnOfTheFlash();
flashMod=false;
}
else
{
turnOnTheFlash();
flashMod=true;
}
}
public void turnOnTheFlash(){//開閃光燈
Camera.Parameters parameters=mCamera.getParameters();
parameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
mCamera.setParameters(parameters);
}
public void turnOfTheFlash(){//關閃光燈
Camera.Parameters parameters=mCamera.getParameters();
parameters.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
mCamera.setParameters(parameters);
}
詳細請參閱http://developer.android.com/index.html
不知如何說明,自己研究吧