資源簡介
一個demo,實現調用系統相機拍照,將其顯示在屏幕上,并且存到sd卡。
Android中實現拍照有兩種方法,一種是調用系統自帶的相機,然后使用其返回的照片數據。 還有一種是自己用Camera類和其他相關類實現相機功能,這種方法定制度比較高,洗染也比較復雜,一般平常的應用只需使用第一種即可。
用Intent啟動相機的代碼:
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, 1);
拍完照后就可以在onActivityResult(int requestCode, int resultCode, Intent data)中獲取到Bitmap對象了。
Bitmap bitmap = (Bitmap) data.getExtras().get("data");
要將圖像存儲到sd卡之前最好先檢查一下sd卡是否可用
String sdStatus = Environment.getExternalStorageState();
if (!sdStatus.equals(Environment.MEDIA_MOUNTED)) { // 檢測sd是否可用
Log.v("TestFile",
"SD card is not avaiable/writeable right now.");
return;
}
以下代碼可以實現將圖像文件存到“sdcard/myImage/”文件夾下,名稱為“111.jpg”
File file = new File("/sdcard/myImage/");
file.mkdirs();// 創建文件夾
String fileName = "/sdcard/myImage/111.jpg";
try {
b = new FileOutputStream(fileName);
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, b);// 把數據寫入文件
} catch (FileNotFoundException e) {
e.printStackTrace();
} finally {
try {
b.flush();
b.close();
} catch (IOException e) {
e.printStackTrace();
}
}
另外要注意的是讀寫sd卡文件必須首先要在Mainifest.xml文件中配置權限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
一個demo,實現調用系統相機拍照,將其顯示在屏幕上,并且存到sd卡。
代碼片段和文件信息
/*?AUTO-GENERATED?FILE.??DO?NOT?MODIFY.
?*
?*?This?class?was?automatically?generated?by?the
?*?aapt?tool?from?the?resource?data?it?found.??It
?*?should?not?be?modified?by?hand.
?*/
package?barry.android.c;
public?final?class?R?{
????public?static?final?class?attr?{
????}
????public?static?final?class?drawable?{
????????public?static?final?int?ic_launcher=0x7f020000;
????}
????public?static?final?class?id?{
????????public?static?final?int?button=0x7f050000;
????????public?static?final?int?imageView=0x7f050001;
????}
????public?static?final?class?layout?{
????????public?static?final?int?main=0x7f030000;
????}
????public?static?final?class?string?{
????????public?static?final?int?app_name=0x7f040001;
????????public?static?final?int?hello=0x7f040000;
????}
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2012-03-12?00:51??myCarema\
?????文件?????????364??2012-03-12?00:51??myCarema\.classpath
?????文件?????????844??2012-03-12?00:51??myCarema\.project
?????文件?????????905??2012-03-13?21:51??myCarema\AndroidManifest.xm
?????目錄???????????0??2012-03-12?00:51??myCarema\assets\
?????目錄???????????0??2012-03-13?22:04??myCarema\bin\
?????目錄???????????0??2012-03-13?16:45??myCarema\bin\classes\
?????文件????????4860??2012-03-13?22:04??myCarema\bin\classes.dex
?????目錄???????????0??2012-03-13?16:45??myCarema\bin\classes\barry\
?????目錄???????????0??2012-03-13?16:45??myCarema\bin\classes\barry\android\
?????目錄???????????0??2012-03-13?17:54??myCarema\bin\classes\barry\android\c\
?????文件????????1019??2012-03-13?22:06??myCarema\bin\classes\barry\android\c\MyCaremaActivity$1.class
?????文件????????3139??2012-03-13?22:06??myCarema\bin\classes\barry\android\c\MyCaremaActivity.class
?????文件?????????331??2012-03-13?21:51??myCarema\bin\classes\barry\android\c\R$attr.class
?????文件?????????398??2012-03-13?21:51??myCarema\bin\classes\barry\android\c\R$drawable.class
?????文件?????????408??2012-03-13?21:51??myCarema\bin\classes\barry\android\c\R$id.class
?????文件?????????385??2012-03-13?21:51??myCarema\bin\classes\barry\android\c\R$layout.class
?????文件?????????418??2012-03-13?21:51??myCarema\bin\classes\barry\android\c\R$string.class
?????文件?????????510??2012-03-13?21:51??myCarema\bin\classes\barry\android\c\R.class
?????文件???????15479??2012-03-13?22:04??myCarema\bin\myCarema.apk
?????目錄???????????0??2012-03-12?01:16??myCarema\bin\res\
?????文件???????11108??2012-03-13?22:04??myCarema\bin\resources.ap_
?????目錄???????????0??2012-03-12?01:16??myCarema\bin\res\drawable-hdpi\
?????文件????????3966??2012-03-12?01:16??myCarema\bin\res\drawable-hdpi\ic_launcher.png
?????目錄???????????0??2012-03-12?01:16??myCarema\bin\res\drawable-ldpi\
?????文件????????1537??2012-03-12?01:16??myCarema\bin\res\drawable-ldpi\ic_launcher.png
?????目錄???????????0??2012-03-12?01:16??myCarema\bin\res\drawable-mdpi\
?????文件????????2200??2012-03-12?01:16??myCarema\bin\res\drawable-mdpi\ic_launcher.png
?????目錄???????????0??2012-03-12?00:51??myCarema\gen\
?????目錄???????????0??2012-03-12?00:51??myCarema\gen\barry\
?????目錄???????????0??2012-03-12?00:51??myCarema\gen\barry\android\
............此處省略20個文件信息
- 上一篇:Android底部菜單欄的兩種實現方式
- 下一篇:android應用中的各種報表
評論
共有 條評論