Android_手机摄像头编程入门.doc
文本预览下载声明
智能手机中的摄像头和普通手机中的摄像头最大的区别在于,智能机上的摄像头可以由程序员写程序控制,做一些有趣的应用譬如,画中画,做一些有用的应用譬如二维码识别,等等。本讲打算通过一个实例,来介绍一下摄像头编程,相关解释都写在代码中了,请注意看代码注释。
?
实例:窈窈照相机,功能很简单,就是点击程序弹出照相预览界面,点击相机按钮完成照相功能,所照相片会存储在手机存储卡根目录。
?
1、创建一个项目 Lesson36_Camera ,主程序文件为 MainActivity.java
?
2、AndroidManifest.xml 中设置屏幕为横屏,并且声明摄像头和存储卡的使用权限,具体代码如下:
?
?xml version=1.0 encoding=utf-8?
manifest package=basic.android.lesson36 xmlns:android=/apk/res/android android:versioncode=1 android:versionname=1.0
application android:label=@string/app_name android:icon=@drawable/icon
activity android:label=@string/app_name android:name=.MainActivity android:screenorientation=landscape android:configchanges=orientation|keyboardHidden|keyboard
intent -filter=
action android:name=ent.action.MAIN
category android:name=ent.category.LAUNCHER
/category/action/intent
/activity
?/application
uses -sdk= android:minsdkversion=8
uses -permission= android:name=android.permission.CAMERA/uses
uses -permission= android:name=android.permission.WRITE_EXTERNAL_STORAGE/uses
uses -feature= androi d:name=android.hardware.camera/uses
uses -feature= android:name=android.hardware.camera.autofocus
/uses
/manifest ??3 、本例中不需要布局文件main.xml,因为本例中的UI组建都是动态添加上去的。
?
4、最后MainActivity.java的代码如下:
?
package ;
?
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Calendar;
import java.util.Locale;
?import android.app.Activity;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.PixelFormat;
import android.hardware.Camera;
import android.os.Bundle;
impo rt android.text.format.DateFormat;
import android.util.Log;
import android.view.KeyEvent;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.Window;
import android.view.WindowManager;
import android.widget.FrameLayout;
import android.widget.TextView;
import android.widget.Toast;
?
public class MainActivity extends Activity {
?
pr
显示全部