- 浏览: 43977 次
文章分类
- 全部博客 (29)
- java (29)
- ava框架数据库连接池比较(c3p0 (1)
- dbcp和proxool)bonecp (1)
- 并发编程的Java抽象 (1)
- Comparing PHP Frameworks ( Symfony (1)
- CakePHP (1)
- YII and CodeIgniter) (1)
- 简单的Unit Test理解 (1)
- mysql concat函数 字符串连接 (1)
- PHP学习笔记(一) (1)
- Struts2 工作流程 (1)
- 关于Java性能监控您不知道的5件事 (1)
- paypal注册难吗? (1)
- Android采用SharedPreferences保存用户登录信息 (1)
- 开微博 (1)
- 《疯狂的程序员》 (1)
- FindBugs无法使用的问题 (1)
- 将SVG文件嵌入到网页中的问题 并说object和embed标记 (1)
- 突然想说说IP地址欺骗 (1)
- 把.NET程序部署到没有安装.NET Framwork的机器上 (1)
- 写个小程序QQMessage 熟悉一下界面控件的使用 (1)
- 看流程图,写代码。 (1)
- ASP.NET MVC 2生成动态表单的一种最简单的思路 (1)
- 一网络能连接后提示用户的小程序 (1)
- 重载运算符之前++和后++ (1)
- Spring JMS 整合Tomcat和ActiveMQ (1)
- android Launch Mode and Flags (1)
- PPT打包成EXE常用方法 (1)
- Android开发之初识Camera图像采集 (1)
- Android开发之自定义动画 (1)
- Multiple operations have reported errors Select an error to view its details (1)
- Hadoop启动时出现Unrecognized option: -jvm 和 Could not create the Java virtual machine (1)
- pjhjava soap的开发 (1)
最新评论
-
wolf_awp:
受不了啊,这种东西都能到首页去。
看流程图,写代码。 -
depravedangel:
原帖:http://blog.csdn.net/arui319 ...
写个小程序QQMessage 熟悉一下界面控件的使用 -
depravedangel:
05年的帖子,直接拷贝过来,LZ不厚道
写个小程序QQMessage 熟悉一下界面控件的使用 -
depravedangel:
判断QQ是否隐身是怎么做的的?
写个小程序QQMessage 熟悉一下界面控件的使用
<h1>Android开发之初识Camera图像采集</h1>
/*
* Android开发之初识camera图像采集
* 北京Android俱乐部群:167839253
* Created on: 2011-8-24
* Author: blueeagle
* Email: liujiaxiang@gmail.com
*/
下面记录一个简单的相机的制作方法。
制作相机,首先需要添加照相的权限。添加方法是在AndroidManifest.xml文件中添加
<uses-permission android:name=” android.permission.CAMERA”>即可。
其次:修改布局文件:如下代码所示。
<textarea readonly name="code" class="html"><?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"
>
<SurfaceView
android:id = "@+id/mySurfaceView"
android:layout_width="320px"
android:layout_height="240px">
</SurfaceView>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<Button
android:id="@+id/myButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="打开"/>
<Button
android:id="@+id/myButton2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="关闭"/>
</LinearLayout>
</LinearLayout>
</textarea>再次,编辑代码,如下所示:
<textarea readonly name="code" class="java">/*
* Android开发之camera图像采集
* MyTestCamera.java
* Created on: 2011-8-24
* Author: blueeagle
* Email: liujiaxiang@gmail.com
*/
package com.blueeagle;
import java.io.IOException;
import android.app.Activity;
import android.hardware.Camera;
import android.os.Bundle;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.View;
import android.widget.Button;
public class MyTestCamera extends Activity implements SurfaceHolder.Callback{
Camera myCamera;
SurfaceView mySurfaceView;
SurfaceHolder mySurfaceHolder;
Button myButton1;
Button myButton2;
boolean isPreview = false;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mySurfaceView = (SurfaceView)findViewById(R.id.mySurfaceView);
myButton1 = (Button)findViewById(R.id.myButton);
myButton2 = (Button)findViewById(R.id.myButton2);
mySurfaceHolder = mySurfaceView.getHolder();
mySurfaceHolder.addCallback(this);
mySurfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
myButton1.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View v) {
initCamera();
}
});
myButton2.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View v) {
if(myCamera!=null&&isPreview){
myCamera.stopPreview();
myCamera.release();
myCamera = null;
isPreview = false;
}
}
});
}
public void initCamera() {
// TODO Auto-generated method stub
if(!isPreview){
myCamera = Camera.open();
}
if(myCamera !=null && !isPreview){
try{
myCamera.setPreviewDisplay(mySurfaceHolder);
myCamera.startPreview();
}
catch(IOException e){
e.printStackTrace();
}
isPreview = true;
}
}
@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
}
}
</textarea><br>
如果在模拟器中运行,可以得到如图所示的情形。如果在真机上运行,则会打开摄像头,将实际的影响显现出来。关闭时,则定在关闭时的画面。这样基本可以完成了图像的采集。如果程序中对相机有要求的话,可以采用这种方式进行。
<img src="http://hi.csdn.net/attachment/201108/24/0_1314193114Jhd0.gif" alt="">
这个例子只是一个小demo。供深入学习参考用。
<br>
发表评论
-
pjhjava soap的开发
2012-02-07 16:50 936soap 的开发其实是wsdl到java的一个开发过程 ... -
Hadoop启动时出现Unrecognized option: -jvm 和 Could not create the Java virtual machine
2012-02-07 13:34 5478http://javoft.net/2011/06/h ... -
Multiple operations have reported errors Select an error to view its details
2012-01-31 16:53 1760<div id="blog_content&q ... -
Android开发之自定义动画
2012-01-11 16:54 2543<h1>Android开发之自定义动画&l ... -
PPT打包成EXE常用方法
2011-12-28 13:18 957<span style="fon ... -
android Launch Mode and Flags
2011-12-28 11:44 758android:allowTaskReparen ... -
Spring JMS 整合Tomcat和ActiveMQ
2011-12-21 14:34 22871.Active MQ安装配置 1.1.下载并解压A ... -
重载运算符之前++和后++
2011-12-21 10:19 1178<span style="font-f ... -
一网络能连接后提示用户的小程序
2011-12-20 11:59 795国庆节放假期间整个小区断网4天,家里没办法上网,基本都 ... -
ASP.NET MVC 2生成动态表单的一种最简单的思路
2011-12-20 11:14 1026在BPM、OA等系统中,都会存在一个表单设计器。有些 ... -
看流程图,写代码。
2011-12-19 12:59 2301看流程图,写代码。<br><br&g ... -
写个小程序QQMessage 熟悉一下界面控件的使用
2011-12-15 16:14 1402首先,代表我个人祝所有看到此日志的朋友新年快乐!! ... -
把.NET程序部署到没有安装.NET Framwork的机器上
2011-12-15 13:04 895<div class="text1&q ... -
突然想说说IP地址欺骗
2011-12-15 12:04 715<font size="3" ... -
将SVG文件嵌入到网页中的问题 并说object和embed标记
2011-12-14 14:44 1428<p class="MsoNormal ... -
FindBugs无法使用的问题
2011-12-13 11:44 1697<p class="MsoNorma ... -
《疯狂的程序员》
2011-12-13 10:19 609《疯狂的程序员》 年前,去书店,发现了一本书,摆在推荐 ... -
开微博
2011-12-12 13:09 617这里毕竟是CSDN,一个国内领先的IT技术站点。我这里 ... -
Android采用SharedPreferences保存用户登录信息
2011-12-09 11:39 4128[size=small;]??? Androi ... -
paypal注册难吗?
2011-12-09 10:25 872可能是因为浏览器的问题,很多外贸用户在注册paypal ...
相关推荐
IoT-Camera学习笔记之初识IoT-Camera
在Android应用开发中,Activity是核心组件之一,它充当了用户界面的主要载体,与用户进行交互。本篇文章将深入探讨Activity的基本概念、生命周期以及如何在Activity之间传递数据。 首先,让我们了解一下Activity类...
第1章 掀起你的盖头来——初识Android 1.1 认识Android 1.2 Android的背景 1.2.1 Android的历史 1.2.2 Android的发展 1.3 我的Android我做主 1.3.1 开发基于Android平台的应用 1.3.2 参加Android开发者大赛 1.3.3 ...
2.Android开发环境搭建与编译 3.Android编译过程分析 4.android.mk初识 5.Android.mk学习1 6.Android.mk学习2 7.Android.mk学习3 8.Android启动课程大纲 9.Android启动模式 10.init启动分析 11.走入init启动脚本 12....
全书共分为13章,包括认识Android、搭建Android开发环境、初识Activity、Android中的基本控件(上)、布局管理器、Android事件处理、Android中的基本控件(下)、数据存储、Android组件通信、多媒体技术、手机服务、...
Android开发教程_013_初识Android Manifest 标清
第1章 掀起你的盖头来——初识Android 1.1 认识Android 1.2 Android的背景 1.2.1 Android的历史 1.2.2 Android的发展 1.3 我的Android我做主 1.3.1 开发基于Android平台的应用 1.3.2 参加Android开发者大赛 1.3.3 ...
本书是一本Android进阶类书籍,采用理论、源码和实践相结合的方式来阐述高水准的Android应用开发要点。本书从三个方面来组织内容。第一,介绍Android开发者不容易掌握的一些知识点;第二,结合Android源代码和应用层...
- **环境搭建**:开发者需安装Android Studio,这是官方推荐的集成开发环境(IDE),提供了全面的开发工具和功能。 - **流程详解**: - 下载并安装Android Studio。 - 配置Android SDK路径,确保SDK Manager可用。...
1. 初识Android:书中介绍了Android的历史和发展,强调了它作为一个开放平台对于个人开发者的重要性,包括通过开发应用参与大赛、在Android Market发布应用以获取收益和认可。此外,还介绍了Android模拟器的使用,以...
3. Android应用的开发流程:从建立新工程、初识GUI界面的设计开始,介绍视图(View)、XML文件的创建和编辑,以及如何通过视觉化的界面开发工具来获取和存取识别符号等。 4. 程序流程的解读与实践:通过对程序流程的...
在Android开发中,构建一个有效的开发环境是至关重要的第一步。...熟练掌握这些基本概念和操作,将为你的Android开发之路打下坚实的基础。通过不断的实践和学习,你将能够创建出更加优秀和功能丰富的Android应用程序。
Android开发教程_006_初识XML布局 标清
- **历史背景**:初识Android这一章节简要介绍了Android系统的发展历程,强调了Android作为一个开放平台的重要意义,为后续章节提供了必要的背景信息。 - **核心概念**:本书后续章节将深入探讨与Android开发相关的...
详细讲解了Android_Dalvik_虚拟机初始和架构方向,想了解Android dalvik虚拟机的值得一看。
#### 二、初识Android应用程序 Android应用开发主要采用Java语言。在Android应用程序中,有几个核心的概念非常关键: - **Activity**:类似于J2ME中的MIDlet,负责创建和管理用户界面窗口。一个运行中的Activity...
第1章 初识庐山真面目 Android开发简介 第2章 工欲善其事 必先利其器 搭建和使用Android开发环境 第二部分 基础篇 第3章 千里之行始于足下 Android程序设计基础 第4章 我的UI我做主 用户界面开发基础 第5章 良好的...