当前位置: 编程技术>移动开发
本页文章导读:
▪Camera摄像头照相 Camera摄像头拍照
请看例子:main.xml<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
andro.........
▪ 回来键, 长按事件 返回键, 长按事件
在Activity中重写方法@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if(keyCode==KeyEvent.KEYCODE_BACK&&event.getRepeatCount()==0){
//需要处理
.........
▪ APK资料的安装方法 APK文件的安装方法
在ANDROID平台下安装文件的后缀名为“.apk”,就好像PC上的安装文件的后缀名为“.exe”塞班平台安装文件的后缀名为“.sis”一样,所以我们一般称ANDROID平台下安装文件为“.........
[1]Camera摄像头照相
来源: 互联网 发布时间: 2014-02-18
Camera摄像头拍照
请看例子:
main.xml
AndroidManifest.xml
TestActivity.java主文件
请看例子:
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<Button android:layout_width="match_parent" android:text="打开按钮" android:id="@+id/button1" android:layout_height="wrap_content"></Button>
<Button android:layout_width="match_parent" android:text="关闭按钮" android:id="@+id/button2" android:layout_height="wrap_content"></Button>
<Button android:layout_width="match_parent" android:text="拍照按钮" android:id="@+id/button3" android:layout_height="wrap_content"></Button>
<SurfaceView android:id="@+id/mySurfaceView"
android:gravity="center_horizontal" android:layout_width="fill_parent"
android:layout_height="300px" />
<ImageView android:id="@+id/myImageView"
android:layout_width="fill_parent" android:layout_height="300px" />
</LinearLayout>
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.test"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="8" />
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".TestActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
</manifest>TestActivity.java主文件
package com.test;
import java.io.IOException;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.PixelFormat;
import android.hardware.Camera;
import android.hardware.Camera.PictureCallback;
import android.hardware.Camera.ShutterCallback;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.view.SurfaceHolder;
import android.view.SurfaceHolder.Callback;
import android.view.SurfaceView;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.ImageView;
public class TestActivity extends Activity implements Callback, OnClickListener {
/** Called when the activity is first created. */
SurfaceView mySurfaceView;// SurfaceView的引用
SurfaceHolder mySurfaceHolder;// SurfaceHolder的引用
Button button1;// 打开按钮
Button button2;// 关闭按钮
Button button3;// 拍照按钮
Camera myCamera;// Camera的引用
boolean isView = false;// 是否在浏览中
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//设置全屏显示
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.main);
button1 = (Button) findViewById(R.id.button1);
button2 = (Button) findViewById(R.id.button2);
button3 = (Button) findViewById(R.id.button3);
button1.setOnClickListener(this);
button2.setOnClickListener(this);
button3.setOnClickListener(this);
mySurfaceView = (SurfaceView) findViewById(R.id.mySurfaceView);
mySurfaceHolder = mySurfaceView.getHolder(); //此对象用于在Camera和SurfaceView之间传递数据
mySurfaceHolder.addCallback(this);
mySurfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}
public void initCamera() { //初始化相机
if (!isView) {
myCamera = Camera.open();
}
if (myCamera != null && !isView) {
try {
Camera.Parameters myParameters = myCamera.getParameters();
myParameters.setPictureFormat(PixelFormat.JPEG); //设置照片格式
myParameters.set("orientation", "portrait");
// myParameters.setPreviewSize(dm.widthPixels/2,dm.heightPixels/2); //大小
myCamera.setParameters(myParameters);
myCamera.setPreviewDisplay(mySurfaceHolder);
myCamera.startPreview();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
isView = true;
}
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(v==button1){
initCamera();
}else if(v==button2){
isView=false;
myCamera.stopPreview();
myCamera.release();
myCamera=null;
}else if(v==button3){
myCamera.takePicture(mShutterCallback, myRawCallback, myjpegCallback); //进行照相
}
}
ShutterCallback mShutterCallback = new ShutterCallback() {
@Override
public void onShutter() {
// TODO Auto-generated method stub
}
};
PictureCallback myRawCallback = new PictureCallback() {
@Override
public void onPictureTaken(byte[] data, Camera camera) {
// TODO Auto-generated method stub
}
};
PictureCallback myjpegCallback = new PictureCallback() {
@Override
public void onPictureTaken(byte[] data, Camera camera) { //将照下来的图片用ImageView显示
// TODO Auto-generated method stub
Bitmap bm=BitmapFactory.decodeByteArray(data, 0, data.length);
ImageView myImageView=(ImageView) findViewById(R.id.myImageView);
myImageView.setImageBitmap(bm);
isView=false;
myCamera.stopPreview();
myCamera.release();
myCamera=null;
initCamera();
}
};
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width,
int height) {
// TODO Auto-generated method stub
}
@Override
public void surfaceCreated(SurfaceHolder holder) {
// TODO Auto-generated method stub
}
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
// TODO Auto-generated method stub
}
}
[2] 回来键, 长按事件
来源: 互联网 发布时间: 2014-02-18
返回键, 长按事件
在Activity中重写方法
在Activity中重写方法
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if(keyCode==KeyEvent.KEYCODE_BACK&&event.getRepeatCount()==0){
//需要处理
}
return false;
} @Override
public boolean onKeyLongPress(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_CALL) {
// a long press of the call key.
// do our work, returning true to consume it. by
// returning true, the framework knows an action has
// been performed on the long press, so will set the
// canceled flag for the following up event.
return true;
}
return super.onKeyLongPress(keyCode, event);
}
[3] APK资料的安装方法
来源: 互联网 发布时间: 2014-02-18
APK文件的安装方法
手机上首先要进行一些设置,
设置——应用程序——勾选“未知源”
设置——应用程序——开发——勾选“USB 调试”
方法一 利用手机内置APK安装器
设置——应用程序——APK安装器
只要把APK程序都放到SD卡上,就可以直接在这个内置的APK安装器上进行软件的安装与卸载。
方法二 利用PC客户端android应用安装器
可以使用PC端软件:如G蛋(下载)、91手机助手、豌豆夹等Android应用安装器。这些Android应用安装器中都有海量的Android应用。你首先要在PC上安装,然后将手机连接PC,这些Android应用安装器会自动关联你手机设备,点击安装,就可以将软件安装到你的手机里了。
方法三 利用资源管理器
如果你手机没有自带APK安装器,可以上google market下载一个“APK安装器”。首先,你要确定你手机中有内置google market。然后,你需联网登录google market下载一个“APK安装器”,推荐你使用“ASTRO资源管理器”。
之后你要安装新软件,可以把需要安装的文件拷贝到 SD 卡里,使用“ASTRO资源管理器”进行软件的安装。
方法四 利用安卓网APK安装器
APK安装器就是将APK文件安装到手机上的一个PC端软件,我们首先需要下载一个USB驱动
USB驱动下载 usb_driver.rar (4.47 MB)
在PC上安装好“APK安装器”,这个软件会自动关联你的APK程序,只要双击一下APK程序就可以自动安装到你的手机里了。
在ANDROID平台下安装文件的后缀名为“.apk”,就好像PC上的安装文件的后缀名为“.exe”塞班平台安装文件的后缀名为“.sis”一样,所以我们一般称ANDROID平台下安装文件为“APK”。
手机上首先要进行一些设置,
设置——应用程序——勾选“未知源”
设置——应用程序——开发——勾选“USB 调试”
方法一 利用手机内置APK安装器
设置——应用程序——APK安装器
只要把APK程序都放到SD卡上,就可以直接在这个内置的APK安装器上进行软件的安装与卸载。
方法二 利用PC客户端android应用安装器
可以使用PC端软件:如G蛋(下载)、91手机助手、豌豆夹等Android应用安装器。这些Android应用安装器中都有海量的Android应用。你首先要在PC上安装,然后将手机连接PC,这些Android应用安装器会自动关联你手机设备,点击安装,就可以将软件安装到你的手机里了。
方法三 利用资源管理器
如果你手机没有自带APK安装器,可以上google market下载一个“APK安装器”。首先,你要确定你手机中有内置google market。然后,你需联网登录google market下载一个“APK安装器”,推荐你使用“ASTRO资源管理器”。
之后你要安装新软件,可以把需要安装的文件拷贝到 SD 卡里,使用“ASTRO资源管理器”进行软件的安装。
方法四 利用安卓网APK安装器
APK安装器就是将APK文件安装到手机上的一个PC端软件,我们首先需要下载一个USB驱动
USB驱动下载 usb_driver.rar (4.47 MB)
在PC上安装好“APK安装器”,这个软件会自动关联你的APK程序,只要双击一下APK程序就可以自动安装到你的手机里了。
最新技术文章: