編輯:關於Android編程
android中,
調用攝像頭需要判斷當前攝像頭的狀態,沒找到對應的方法,
采用了個折中方法。
在非main線程裡調用Camera.open,catch 相應的RuntimeException,
[java]
<SPAN style="COLOR: #cc6600; FONT-SIZE: 14px"> <span style="white-space:pre"> </span>/**
* 測試當前攝像頭能否被使用
* @return
*/
public static boolean isCameraCanUse() {
boolean canUse = true;
Camera mCamera = null;
try {
// TODO camera驅動掛掉,處理??
mCamera = Camera.open();
} catch (Exception e) {
canUse = false;
}
if (canUse) {
mCamera.release();
mCamera = null;
}
return canUse;
} </SPAN>
<span style="white-space:pre"> </span>/**
* 測試當前攝像頭能否被使用
* @return
*/
public static boolean isCameraCanUse() {
boolean canUse = true;
Camera mCamera = null;
try {
// TODO camera驅動掛掉,處理??
mCamera = Camera.open();
} catch (Exception e) {
canUse = false;
}
if (canUse) {
mCamera.release();
mCamera = null;
}
return canUse;
}
需要注意的是應該在自己程序的非UI線程中進行上面的判斷,因為進入自己的UI線程會導致當前其他程序正在拍攝視頻自動終止,
因為UI線程只能有一個在運行。
這個方法可用,但是如果攝像頭沒有被使用,open和release會白白消耗些資源,另外camera驅動進程掛掉的情況沒有考慮
Android下的NDK開發是Android開發中不可或缺的一部分,通過Google提供的NDK套件,我們可以使用JNI這座橋梁在Java和C/C++之間建
您應該始終外部化應用資源,例如圖像和代碼中的字符串,這樣有利於您單獨維護這些資源。 此外,您還應該為特定設備配置提供備用資源,方法是將它們分組到專門命名的資源目錄中。 在
PS:便宜的服務器可是會不定時的坑你一把。今天在修改app的一些交互以及重構代碼。一切都是那麼順利,啪啪啪,runing,測試沒問題,再啪啪啪。。。突然,測試上傳頭像的時
效果圖:程序列表:啟動程序,獲取程序信息: 代碼如下:創建一個AppInfo類來表示應用程序 public cla