最近在学习Android的开发,写了个手电筒的案例,分享一下!

//Activity.xml
package com.fq.flashlight;import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.hardware.Camera;
import android.hardware.Camera.Parameters;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;public class LightActivity extends Activity {Button button           = null;        //创建Button类型的变量TextView textView        = null;        //创建TextView类型的变量Camera camera          = null;        //创建Camera类型的变量Parameters params        = null;        //创建Parameters类型的变量Boolean flag             = true;        //创建Boolean类型的变量,用于做是否开启的判断@Overrideprotected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_light);button = (Button)findViewById(R.id.button);      //获取Button对象textView = (TextView) findViewById(R.id.textView); //获取TextView对象button.setOnClickListener(new OnClickListener() {     //点击事件@Overridepublic void onClick(View v) {if(flag){camera = Camera.open();    //获取摄像头params = camera.getParameters();params.setFlashMode(Parameters.FLASH_MODE_TORCH);camera.setParameters(params);camera.startPreview();textView.setText(R.string.alert_on);button.setText(R.string.button_off);flag = false;}else{params.setFlashMode(Parameters.FLASH_MODE_OFF);camera.setParameters(params);camera.stopPreview();camera.release();textView.setText(R.string.alert_off);button.setText(R.string.button_on);flag = true;}}});}public void onBackPressed(){//super.onBackPressed();System.out.println("sdsfs");new AlertDialog.Builder(this).setTitle("确定退出吗?").setIcon(R.drawable.ic_launcher).setPositiveButton("OK", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface arg0, int arg1) {// TODO Auto-generated method stubLightActivity.this.finish();System.exit(0);}}).setNegativeButton("Cancel", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface arg0, int arg1) {// TODO Auto-generated method stub}}).show();}
}
<!--strings.xml-->
<?xml version="1.0" encoding="utf-8"?>
<resources><string name="app_name">BlueOcean手电筒</string><string name="hello_world">Hello world!</string><string name="action_settings">Settings</string><string name="alert_on">手电筒当前状态:开启</string><string name="alert_off">手电筒当前状态:关闭</string><string name="button_on">开启手电</string><string name="button_off">关闭手电</string><string name="author">Author:BlueOcean</string>
</resources>
<!--layout.xml-->
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent" ><TextViewandroid:id="@+id/textView"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentTop="true"android:layout_centerHorizontal="true"android:layout_marginTop="34dp"android:text="@string/alert_off"android:textSize="22sp" /><Buttonandroid:id="@+id/button"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_below="@+id/textView"android:layout_centerHorizontal="true"android:layout_marginTop="26dp"android:text="@string/button_on" /><TextViewandroid:id="@+id/textView2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignRight="@+id/textView"android:layout_centerVertical="true"android:text="@string/author"android:textAppearance="?android:attr/textAppearanceSmall" />
</RelativeLayout>
<!-- manifest.xml-->
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.fq.flashlight"android:versionCode="1"android:versionName="1.0" ><uses-sdkandroid:minSdkVersion="8"android:targetSdkVersion="21" /><uses-permission android:name="android.permission.CAMERA"/><uses-permission android:name="android.permission.FLASHLIGHT"/><applicationandroid:allowBackup="true"android:icon="@drawable/ic_launcher"android:label="@string/app_name"android:theme="@style/AppTheme" ><activityandroid:name=".MainActivity"android:label="@string/app_name" ></activity><activityandroid:name=".LightActivity"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></manifest>

转载于:https://blog.51cto.com/bluocean/1554839

Android手电筒案例相关推荐

  1. android 手电筒服务,Android手电筒案例

    最近在学习Android的开发,写了个手电筒的案例,分享一下!//Activity.xml package com.fq.flashlight; import android.app.Activity ...

  2. 《Android 应用案例开发大全(第二版)》——2.6节绘制相关类

    本节书摘来自异步社区<Android 应用案例开发大全(第二版)>一书中的第2章,第2.6节绘制相关类 ,作者 吴亚峰 , 于复兴 , 杜化美,更多章节内容可以访问云栖社区"异步 ...

  3. 《Android 应用案例开发大全(第二版)》——6.1节Android系统的信使:Intent

    本节书摘来自异步社区<Android 应用案例开发大全(第二版)>一书中的第6章,第6.1节Android系统的信使:Intent ,作者李宁,更多章节内容可以访问云栖社区"异步 ...

  4. 《Android 应用案例开发大全(第二版)》——导读

    本节书摘来自异步社区<Android 应用案例开发大全(第二版)>一书中的目录 ,作者 吴亚峰 , 于复兴 , 杜化美,更多章节内容可以访问云栖社区"异步社区"公众号查 ...

  5. Android 系统性能优化(43)---Android OOM案例分析

    Android OOM案例分析 在Android(Java)开发中,基本都会遇到java.lang.OutOfMemoryError(本文简称OOM),这种错误解决起来相对于一般的Exception或 ...

  6. 《Android开发案例驱动教程》

    <Android开发案例驱动教程> 作者:关东升,赵志荣 Java或C++程序员转变成为Android程序员 采用案例驱动模式展开讲解知识点,即介绍案例->案例涉及技术->展开 ...

  7. 《Android 应用案例开发大全(第二版)》——2.3节案例的基本框架

    本节书摘来自异步社区<Android 应用案例开发大全(第二版)>一书中的第2章,第2.3节案例的基本框架 ,作者 吴亚峰 , 于复兴 , 杜化美,更多章节内容可以访问云栖社区" ...

  8. 《Android 应用案例开发大全(第3版)》——第2章,第2.8节壁纸中的着色器开发...

    本节书摘来自异步社区<Android 应用案例开发大全(第3版)>一书中的第2章,第2.8节壁纸中的着色器开发,作者 吴亚峰 , 苏亚光 , 于复兴,更多章节内容可以访问云栖社区" ...

  9. 《Android 应用案例开发大全(第二版)》——1.5节第一个Android程序——Hello Android...

    本节书摘来自异步社区<Android 应用案例开发大全(第二版)>一书中的第1章,第1.5节第一个Android程序--Hello Android ,作者 吴亚峰 , 于复兴 , 杜化美, ...

最新文章

  1. 【Python】Numpy简单入门
  2. jsp中include指令和动作的区别
  3. 基于ESP8266WiFi步进电机控制
  4. 【设计模式】外观模式
  5. CSMAR 智能财经报告分析平台帮助
  6. 浅谈积性函数求前缀和
  7. php滚动窗口多条动态,详解原生JS是实现控制多个滚动条同步跟随滚动
  8. 5.6 date:显示与设置系统时间
  9. [BUUCTF-pwn]——picoctf_2018_are you root
  10. Jerry Wang 2013年几篇比较受欢迎的SAP社区博客
  11. Acwing 271. 杨老师的照相排列
  12. Php的定界符有哪些了,php中定界符
  13. java 分布式rpc框架_分布式RPC框架Apache Dubbo(一)
  14. 缺陷调研报告_工厂的缺陷的分析报告及产生原因
  15. 手机号归属地 mysql脚本_示例演示手机号归属地查询功能
  16. (1)vmware安装ubuntu13.10之后无法进入桌面;(2)ubuntu13.10无法显示eclipse的下拉菜单...
  17. OpenPose 参数说明
  18. 静止、极轨卫星遥感图像太阳及卫星天顶、方位角的计算
  19. python 二进制的数为啥带0b?,怎样去掉0b?
  20. 教父马云的经典语录汇总

热门文章

  1. 硬盘开盘证明怎么写,开盘证明范本
  2. HTML中将图片进行放大缩小
  3. 因为此版本的应用程序不支持其项目类型(.csproj)”之解
  4. 想学3dmax应该怎么学?
  5. 牙菌斑、牙垢、牙结石、龋齿需要怎么来清洁
  6. 在微信小程序中实现文字呼吸效果
  7. ubuntu 印象笔记
  8. Unity3D_Util_Editor_显示RectTransform的世界坐标和相对坐标
  9. Python编程:loguru管理日志输出
  10. 真正“透明”的PNG图片