android平台手电筒开发源代码

01 /**
02  *
name   : 手电筒主界面
03  *
author : ycgpp@126.com
04  *
date    : 2012-12-21 15:50:17
05  */
06 package com.android.app;
07  
08 import android.app.Activity;
09 import android.hardware.Camera;
10 import android.hardware.Camera.Parameters;
11 import android.os.Bundle;
12 import android.view.View;
13 import android.widget.TextView;
14 import android.widget.Toast;
15  
16 public class Main extends Activity
{
17  
18     private boolean isopent
false;
19     private Camera
camera;
20  
21     @Override
22     protected void onCreate(Bundle
savedInstanceState) {
23         //
TODO Auto-generated method stub
24         super.onCreate(savedInstanceState);
25         View
view = View.inflate(
this,
R.layout.main, 
null);
26         setContentView(view);
27         TextView
img_but = (TextView) findViewById(R.id.main_img);
28  
29         img_but.setOnClickListener(new View.OnClickListener()
{
30  
31             @Override
32             public void onClick(View
v) {
33                 //
TODO Auto-generated method stub
34                 if (!isopent)
{
35                     Toast.makeText(getApplicationContext(), "您已经打开了手电筒"0)
36                             .show();
37                     camera
= Camera.open();
38                     Parameters
params = camera.getParameters();
39                     params.setFlashMode(Parameters.FLASH_MODE_TORCH);
40                     camera.setParameters(params);
41                     camera.startPreview(); //
开始亮灯
42  
43                     isopent
true;
44                 else {
45                     Toast.makeText(getApplicationContext(), "关闭了手电筒",
46                             Toast.LENGTH_SHORT).show();
47                     camera.stopPreview(); //
关掉亮灯
48                     camera.release(); //
关掉照相机
49                     isopent
false;
50                 }
51             }
52         });
53     }
54  
55 }

[代码] 布局文件代码

01 <?xml
version=
"1.0" encoding="utf-8"?>
02 <LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
03     android:layout_width="match_parent"
04     android:layout_height="match_parent"
05     android:orientation="vertical" >
06  
07     <TextView
08         android:id="@+id/main_img"
09         android:layout_width="fill_parent"
10         android:layout_height="fill_parent"
11         android:background="@drawable/main_body">
12     </TextView>
13  
14 </LinearLayout>

[代码] AndroidManifest.xml文件

01 <manifest
xmlns:android=
"http://schemas.android.com/apk/res/android"
02     package="com.android.app"
03     android:versionCode="1"
04     android:versionName="1.0" >
05  
06     <uses-sdk
07         android:minSdkVersion="8"
08         android:targetSdkVersion="15" />
09  
10     <application
11         android:icon="@drawable/ic_launcher"
12         android:label="@string/app_name"
13         android:theme="@style/AppTheme" >
14         <activity
android:name=
".AppStart" >
15             <intent-filter>
16                 <action
android:name=
"android.intent.action.MAIN" />
17  
18                 <category
android:name=
"android.intent.category.LAUNCHER" />
19             </intent-filter>
20         </activity>
21         <activity
android:name=
".Main" >
22         </activity>
23     </application>
24     <!--
摄像头、手电筒 -->
25     <uses-permission
android:name=
"android.permission.CAMERA" />
26     <uses-permission
android:name=
"android.permission.FLASHLIGHT" />
27  
28     <uses-feature
android:name=
"android.hardware.camera" />
29     <uses-feature
android:name=
"android.hardware.camera.autofocus" />
30     <uses-feature
android:name=
"android.hardware.camera.flash" />
31  
32 </manifest>
时间: 2024-10-21 13:15:53

android平台手电筒开发源代码的相关文章

Android平台Qt开发入门教程

     很多人会问,Android平台可以不使用Java开发应用程序??      我做Android平台native开发之前,也有这么想过,但是我又想,底层系统全是c/c++代码,用c/c++开发Android平台程序是可能的,只是需要使用系统非公开的API(就是android源代码,而非NDK里面提供的头文件),比如libui和skia.       好了,由于我的工作是把C++中间件移植到Android平台,所以会对Qt for android这个项目比较了解,毕竟国内做这些的还比较少,

《Android 3D游戏开发技术宝典——OpenGL ES 2.0》——1.2节Android平台的特点及未来的趋势

1.2 Android平台的特点及未来的趋势 Android 3D游戏开发技术宝典--OpenGL ES 2.0 Android平台基于Linux,其不仅继承了Linux的各种优良特性,同时由于"Android之父"Andy Rubin的先进理念,使得Android平台又增加了许多非常具有吸引力的新特性.这不仅给终端用户带来了非凡的体验,还大大减轻了Android应用开发者的工作量与难度. 1.2.1 全新理念带来的体验风暴 Android是具有开源性质的手机终端解决方案,开发人员可以

《OpenGL ES 3.x游戏开发(上卷)》一1.1 Android平台的特点及未来的趋势

1.1 Android平台的特点及未来的趋势 Android平台基于Linux,其不仅继承了Linux的各种优良特性,同时由于"Android之父"Andy Rubin的先进理念,使得Android平台又增加了许多非常具有吸引力的新特性.这不仅给终端用户带来了非凡的体验,还减轻了Android应用开发者的工作量与难度. 1.1.1 全新理念带来的体验风暴 Android是具有开源性质的手机终端解决方案,开发人员可以自由地获取以及修改相应的源代码,具体基本特性如下. 开放性.Androi

《Android 应用案例开发大全(第3版)》——第1.2节掀起Android的盖头来

1.2 掀起Android的盖头来 自从Android发布以来,越来越多的人关注Android的发展,越来越多的开发人员在Android系统平台上开发应用.那么,是什么使Android备受青睐.在众多移动平台中脱颖而出呢? 1.2.1 选择Android的理由 Android基于Linux技术开发,由操作系统.用户界面和应用程序组成,允许开发人员自由获取.修改源代码,也就是说这是一套具有开源性质的移动终端解决方案,具有开放性.平等性.无界性.方便性以及硬件的丰富性等特点.下面对以上各个优点进行简

《Android 3D游戏开发技术宝典——OpenGL ES 2.0》——2.7节蓝牙通信

2.7 蓝牙通信 Android 3D游戏开发技术宝典--OpenGL ES 2.0 随着硬件设备价格的不断降低,大部分智能手机上都已配备了蓝牙网络模块,Android设备也是如此.如果能为一些小型的休闲娱乐游戏增加蓝牙联网对战的功能,将会大大增加游戏的可玩性.本节将向读者详细介绍如何在Android平台下开发具有蓝牙互联功能的应用程序. 2.7.1 蓝牙通信的基本知识 蓝牙是一种支持设备短距离通信(一般是10m以内)的无线技术,其数据传输时不仅不需要连线,而且传输速率也比传统手持设备的红外模式

《Android 应用案例开发大全(第3版)》——第1章,第1.2节掀起Android的盖头来

1.2 掀起Android的盖头来自从Android发布以来,越来越多的人关注Android的发展,越来越多的开发人员在Android系统平台上开发应用.那么,是什么使Android备受青睐.在众多移动平台中脱颖而出呢? 1.2.1 选择Android的理由Android基于Linux技术开发,由操作系统.用户界面和应用程序组成,允许开发人员自由获取.修改源代码,也就是说这是一套具有开源性质的移动终端解决方案,具有开放性.平等性.无界性.方便性以及硬件的丰富性等特点.下面对以上各个优点进行简单介

《Android多媒体应用开发实战详解:图像、音频、视频、2D和3D》——2.1节简析Android安装文件

2.1 简析Android安装文件 Android多媒体应用开发实战详解:图像.音频.视频.2D和3D 当下载并安装Android后,会在其安装目录中看到一些安装文件.了解这些文件具体是干什么用的,对于我们后面的驱动开发知识学习十分有用,所以在本节的内容中将简要介绍这些安装文件的基本知识. 2.1.1 Android SDK目录结构 安装Android SDK后,其安装目录的具体结构如图2-1所示. temp:里面包含了一些常用的文件模板. tools:包含了一些通用的工具文件. usb_dri

《Android和PHP开发最佳实践》一1.1 移动互联网时代的来临

1.1 移动互联网时代的来临 2011年,Android操作系统就已经占领了全球智能手机市场份额的半壁江山,霸主的地位彰显无遗(如图1-1所示).在国内,随着各大手机厂商的更新换代,Android操作系统的占有率也在火速上升中:中国移动公司已经早早推出了自己基于Android的OMS系统和OPhone,甚至连各大互联网巨头也在纷纷推出自己基于Android的手机产品.据统计,2012年内全球智能手机市场增长率达到49%,中国移动互联网用户量已经突破4亿,手机用户量也已经超越了PC. 看到这里,相

Android平台SQLite快速入门实践

SQLite是Android平台软件开发中会经常用到的数据库产品,作为一款轻型数据库,SQLite的设计目标就是是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够.下面我们一起来看看针对Android平台的SQlite 3的使用. 以下概念都是在Android平台的SQlite限制下的理解: 数据库基础概念 ◆SQlite 通过文件来保存数据库,一个文件就是一个数据库. ◆数据库里又包含数个表格: ◆每个表格里面包含了多个记录: ◆