当前位置:  编程技术>移动开发
本页文章导读:
    ▪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
<?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中重写方法

@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文件的安装方法
在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程序就可以自动安装到你的手机里了。


    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
java/j2ee iis7站长之家
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3