`
zhoujinhuang
  • 浏览: 93453 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

day3 拍照API

阅读更多

不知道是不是太简单了,官网上没有拍照的例子,网上搜了一圈。

拍照有两种方式,一是使用android.hardware.Camera,二是使用Intent("android.media.action.IMAGE_CAPTURE");

直接使用可以获取打开摄像头,聚焦,预览等事件,并做处理,稍微麻烦一点。用IMAGE_CAPTURE Intent 可以简单的获取拍照的结果,一张图片。

第一种方法 可以看一下 http://www.qqread.com/other-devtool/v472520.html

我用的第二种方法,API做得很傻瓜了。

配置文件,设置访问权限 AndroidManifest.xml

	<uses-permission android:name="android.permission.CAMERA" />
	<uses-feature android:name="android.hardware.camera" />
	<uses-feature android:name="android.hardware.camera.autofocus" />

 

启动照相

		try {
			Intent i = new Intent("android.media.action.IMAGE_CAPTURE");
			startActivityForResult(i, Activity.DEFAULT_KEYS_DIALER);
		} catch (Exception e) {
			Log.e(SimpleCameraActivity.class.getName(), e.getMessage());
		}

  Activity覆盖onActivityResult获取拍照结果,并显示在一个ImageView 中。

	@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		getWindow().setTitle("onActivityResult" + resultCode);
		super.onActivityResult(requestCode, resultCode, data);
		Bundle extras = data.getExtras();
		Bitmap b = (Bitmap) extras.get("data");
		ImageView img = new ImageView(this);
		img.setImageBitmap(b);
		setContentView(img);
	}

 

先了解一下API,后续怎么用再找资料吧。

 

要注意的问题:

在android2.2的AVD 上运行时,中间会报错"Sorry. the application Camera(process com.andoid.camera) has stopped unexpectedly. Please try again."

日志显示

 

07-01 17:26:42.338: ERROR/AndroidRuntime(452): java.lang.IllegalArgumentException: No configs match configSpec
07-01 17:26:42.338: ERROR/AndroidRuntime(452):     at android.opengl.GLSurfaceView$BaseConfigChooser.chooseConfig(GLSurfaceView.java:760)
07-01 17:26:42.338: ERROR/AndroidRuntime(452):     at android.opengl.GLSurfaceView$EglHelper.start(GLSurfaceView.java:916)
07-01 17:26:42.338: ERROR/AndroidRuntime(452):     at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1246)
07-01 17:26:42.338: ERROR/AndroidRuntime(452):     at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1116)
07-01 17:26:42.688: WARN/ActivityManager(92):   Force finishing activity com.android.camera/.Camera

 

1.5的模拟器没特意加摄像头支持,却不报错,只是提示要SD卡,加了卡的模拟就可以运行了。

2.0的模拟器去掉下面的特性就可以运行。

	<uses-feature android:name="android.hardware.camera" />
	<uses-feature android:name="android.hardware.camera.autofocus" />

 

另外官方文档 http://developer.android.com/guide/developing/tools/emulator.html

说不支持摄像头,但是用1.5的AVD 又可以运行,有点晕。

不清楚什么原因,明天找台2.2的手机装装试试。。。。

 

分享到:
评论

相关推荐

    day06_API01.zip

    3. **RESTful API设计**:介绍REST原则,如资源导向、无状态性和统一接口,以及如何设计符合REST原则的API。 4. **JSON数据格式**:说明JSON为何成为API传输数据的首选格式,如何解析和构造JSON对象。 5. **API安全*...

    day07_API02.zip

    【标题】"day07_API02.zip" 暗示了这是一个关于API(应用程序编程接口)的学习资源,可能是某个在线课程或研讨会的第七天内容的第二部分。API是软件系统之间交互的一种方式,允许开发者利用已有的服务、功能或数据来...

    day08-常用API

    day08-常用API

    Day3WebAPI

    标题 "Day3WebAPI" 暗示我们将深入探讨如何使用C#语言构建Web API。在Web开发领域,Web API是构建服务端应用程序的重要部分,它允许客户端(如浏览器、移动应用或桌面应用)通过HTTP协议与服务器进行交互。本教程...

    day09【API、String类、StringBuilder类】.pdf

    day09【API、String类、StringBuilder类】 本节课程主要介绍了 API、String 类和 StringBuilder 类的相关知识点。 API 概述 API(Application Programming Interface)即应用程序编程接口,提供了一种访问底层...

    day04-常用API&异常

    day04-常用API&异常

    Altium designer中文培训资料Day1、Day2、Day3

    这份"Altium Designer中文培训资料Day1、Day2、Day3"涵盖了初学者到进阶用户所需的关键知识点,旨在帮助用户快速掌握该软件的各项功能。 在Day1的培训中,通常会介绍Altium Designer的基础知识,包括软件界面、工作...

    day03-内部类&API

    day03-内部类&API

    Java学习常用API

    3. **异常处理**: - **Exception类**:所有异常的基类,Java中的异常处理机制基于try-catch-finally结构。 - **Checked异常**:如IOException,需要在编译时被处理。 - **Unchecked异常**:如...

    day08-常用API1

    在IT行业中,API(应用程序编程接口)扮演着至关重要的角色,它是一系列预先定义的函数,允许开发者使用特定的功能或服务。在Java中,API主要指的是JDK(Java Development Kit)提供的各种Java类库,包括类、接口和...

    进阶day3 -仪表板交互作业工作薄_v2019.4.twbx

    进阶day3 -仪表板交互作业工作薄_v2019.4.twbx

    day04-常用API&异常1

    在“day04-常用API&异常1”的学习中,我们将关注以下几个关键知识点: 1. **基本类型包装类** Java的8种基本数据类型(byte, short, int, long, float, double, char, boolean)都有对应的包装类,如Integer对应...

    黑马程序员_hibernate框架开发2016版讲义和笔记资料_day1_day2_day3_day4

    6.1 案例分析:结合黑马程序员的day1至day4的讲义和笔记,深入理解在实际项目中如何应用Hibernate,解决具体问题。 总结,Hibernate作为强大的ORM框架,为Java开发者提供了便利,通过理解并熟练掌握其核心概念、...

    day01【Object类、常用API】

    day01【Object类、常用API】

    day09【常用API、引用类型小结】_pojie_

    在“day09【常用API、引用类型小结】”的学习中,我们可能会涉及到以下关键知识点: 1. **常用API**:这部分可能涵盖各种常用库,例如Java的`java.util`包,其中包含集合框架(如ArrayList、HashMap)、日期时间...

    Python库 | cdsapi-0.2.6.tar.gz

    'day': '01', 'time': '12:00', 'format': 'netcdf', }, 'era5PRECIP.nc' ) ``` 在这个例子中,我们请求了2019年1月1日12点的ERA5再分析数据中的总降水量,并将结果保存为`era5PRECIP.nc`文件。 **cdsapi的...

    day02-接口&内部类&API;.md

    1.接口 2.内部类 3.API 小车穿沿在蜿蜒曲折的盘山公路上

    进阶day3 - 仪表板交互开始工作薄_v2019.4.twbx

    进阶day3 - 仪表板交互开始工作薄_v2019.4.twbx

    Python库 | alpaca_trade_api-1.3.0-py3-none-any.whl

    stock_info = api.get_barset('AAPL', 'day', limit=5).df['AAPL'] # 下单示例 order = api.submit_order( symbol='AAPL', qty=100, side='buy', type='limit', time_in_force='gtc', limit_price=stock_...

    1.26 C++ day3

    1.26 C++ day3

Global site tag (gtag.js) - Google Analytics