Android手电筒的设计与实现

 2022-01-17 11:01

论文总字数:23009字

目 录

1. 引言 1

2. 开发工具和技术介绍 2

2.1 Android平台 2

2.2 Android应用的基本组件介绍 4

2.3 XML 5

2.4 MyEclipse 5

3. 需求分析 6

3.1 功能分析 6

3.2 手电筒切换功能 7

3.3 手电筒设置延时时间功能 8

4. 系统设计 9

4.1 概要设计 9

4.2 模块详细设计 10

4.2.1用户操作流程 10

4.2.2 功能模块详细设计 11

4.2.2.1MainActivity 12

4.2.2.2ScreenLightActivity 13

4.2.2.3LightActivity 13

4.2.2.4SettingActivity 14

5. 系统实现 14

5.1 主页面 14

5.2 摄像头手电筒 16

5.3 屏幕手电筒 18

5.4 设置持续时间功能页面 20

5.5 功能测试 23

结论 24

参考文献: 24

致谢 25

Android 手电筒的开发与实现

,China

Abstract:Now high-tech development faster and faster, the mobile phone industry is booming, not only is the present age, but also in the future more and more time to influence people's lifestyles and habits. Phone has been developed to a variety of app, from entertainment, surf the Internet, to casual games, online shopping and so on, all aspects of basic necessities have a very comprehensive and advanced mobile phone software. And people can not do without a mobile phone, so do the flashlight function on your phone, it will not only save the traditional bulky flashlight, can meet the needs of ordinary people flashlight. Based myeclipse compiler environment, using java language development of android flashlight app software, support screen, camera settings and switch dual light source, it is possible to adjust the brightness and set the duration.

Key words:android app;flashlight;myeclipse

1. 引言

在过去的2015年当中,手机行业竞争激烈,从死磕产品、营销到渠道布局,刀光剑影杀机重重,一个明显的变化就是以前被视为累赘的线下渠道价值正在被重估。无论是华为、魅族等老牌厂商还是乐视、奇酷等后起之秀,纷纷加快线下渠道的扩张步伐,而从线下渠道起家的手机厂商优势逐渐显现。2016年开年伊始,各大手机厂商先后晒出2015年成绩单,数据显示,华为出货量1.08亿台,oppo出货量5000万台,vivo出货量4000万台,金立出货量3000万台。数据表明,手机的销量是如此之大,用户的换手机频率也是很快。现如今我们外出,什么都敢忘带,手机和钱包一定是不敢忘带的,手机已经作为我们身边亲密度很高的贴身物品,各大厂商为了取得手机的“控制权”,从而取得移动互联网的主动权,如苹果ios依靠iphone建立起强大的生态圈,苹果凭借着HeaithKit和HomeKit两大强大的功能取得了巨大的影响力,而作为安卓的手机厂商也是埋头赶上,如格力与小米打赌的过程中,开发出格力手机能够遥控自己相关品牌的电视、空调、电视机顶盒等许多的家用电器的功能。

从砖头块大的“大哥大”,到小巧玲珑的“小灵通”,再到如今这样功能强大、种类多样的手机,其虽然能够有各种各样的新奇功能,但有些基本功能也是不可缺少的,像前文中所说的通话功能和异步消息(短信)功能,这些都是手机刚发明出来时所必需的。如果从手机游戏的角度来看的话,智能手机用户每天的平均游戏时间已经接近1小时,手机游戏业在快速增长,手机开发者也是供不应求。但是手机游戏业不是从天上掉下来的,它也有整整20年的久远历史。也许你早已忘了自己的某一款诺基亚手机藏着一款《贪吃蛇》游戏,到如今现在五花八门的app游戏,不管是益智解谜的,还是跑酷动作的,或者是枪战格斗,在游戏的方面也是做到了极致。再说别的种类app,如代替语音通话和短信的聊天工具,现已注册用户量达到9亿的微信算是突出的例子;各种这样的购物软件,比如每年双十一火爆世界的app淘宝;效率至上的办公软件,最好用的是有道云笔记,或者是office软件;以及教育类的app软件,不仅是包含胎教和幼教的魔力教育,还是这种这样的在线外语学习频道,都很有作为的。还有很多的类别的app本文就不一一叙述了。总而言之,手机越来越普遍,相应的app也是越来越影响人类的生活和学习[6]

现在的人们依然会遇见一些需要手电筒的场合,比如钥匙或者银行卡之类的小物件一不小心丢到桌子底下或者沙发底下的这样突发情况的时候,就需要手电筒照射阴暗的角落去寻找,但是现在的手电筒即便是加工做出的再轻便小巧,也没有每天携带的必要,而利用每个人必带的手机,开发出一款手电筒app,就顺应了这样的需求。现如今,基本上每一款智能手机都自带了手电筒的功能,就连给老人用的一些非智能的老人机,也是携带了手电筒的功能。纵观这些自带的手电筒功能,都简单易用,没有任何别的障碍,有的是利用了手机的拍照功能的摄像头光源,有的则是利用了手机的屏幕光源。

本文中所提及的软件是一款利用安卓手机系统来实现手电筒的功能,主要是能够支持屏幕、摄像头双光源设置并切换,不仅可以对亮度进行调节,还可以设置初始亮度和持续时间。可以达到照明和SOS的功用,后者是本人尝试进行的一个模拟效果,利用了莫斯电码中的三短代表S,三长代表O的规律进行的设置实现。本程序实现功能以简便美观的效果为前提,适应人们日益增长的需求。而本人开发的手电筒app也是秉承着这样的原则,并加以延伸,将屏幕光源和摄像头光源合并到一起,利用功能键进行切换,达到两者兼得的效果。手机自带的功能也没有设置时间的功能,这个功能的目的是为了省电,也为了达到一个时间提醒的效果。

2. 开发工具和技术介绍

本文中开发app所采用的语言是Java开发语言,环境是myeclipse支撑的开发环境。

2.1 Android平台

Android是一种由谷歌公司和开放手机联盟领导及开发的操作系统,这种操作系统是以Linux为基础,有着高度的自由性,并且其代码也是开源的,广泛应用于智能手机和平板电脑等移动设备上。本次实验是简单的设计一个安卓手电筒,大致了解安卓手电筒的工作原理以及其制作流程 [1]

Android平台特性:

1.支持组件重用与替换的应用程序框架。

2.为了移动设备,专门优化了Dalvik虚拟机。

Android的应用程序执行DX工具转换而来的后缀名为.dex的文件,而所有的类文件都先由Java进行编写、编译。基于寄存器的Dalvik虚拟机的速度显然要比Java虚拟机的执行速度要快很多。

3.2D和3D图形库都已被囊括进优化库。

游戏开发正在享受强大的图形库带来的好处。在3G的时代中,手机上网和手机游戏是其中最重要的应用。

4.蓝牙(Bluetooth)、EDGE、3G、WiFi(依赖于硬件)。

5.结构化的数据存储来自于SQLite。

6.GPS、指南针、照相机和加速度计(依赖于硬件)。

7. 基于开源的WebKit引擎的内部集成浏览器。

8. GSM电话(依赖于硬件)。

9.支持常见的文件格式如音频、视频和静态印象的多媒体,如JGP、PNG、GIF MPEG4、MP3等等。

Android体系结构:

一个操作系统,一个中间件,一个应用程序构成了Android的软件层次结构。结构自上而下可分为:

  1. 应用程序

应用程序:像桌面,电话,浏览器,联系人等都是Android提供的核心应用程序,而这些程序都由Java语言编写,并且通过Java来设计用户界面交互设计。

  1. 应用程序框架

应用程序框架:提供系统的API给应用程序。开发人员通过这些框架提供的API可以使大量的组件和服务被重用。

  1. 各种库和Android的运行时环境

Android包含了一个提供了大多数功能的java语言核心库。

任何一个Android应用程序都拥有一个独立的dalvik虚拟机实例,只要它确实在自己的进程空间内运行。Dalvik被设计成一个可同时高效的运行多个虚拟系统的虚拟机。许多dalvik虚拟机的功能如内存管理,线程调度等都依赖于linux内核[2]

Android应用程序组成:

  1. Activity

Activity,与浏览器的一个页面相当,代表了手机屏幕的一屏。为了实现用户与界面交互,实际编码中需要在Activity当中添加实现view的方法来实现可视化 [3]。通常的情况,是由多个可相互跳转的Activity组成了一个应用程序,而同时这些Activity也可以在不同的页面之间进行数据传递。而不一样的Activity之间有着不同的生命周期。

  1. Broadcast Intent Receiver

Intent Receiver,Intent对将要执行的操作进行了一次抽象的描述。两个Activity之间的跳转可以通过Intent来实现。而Intent最重要的组成部分就是Intent的动作(Action)和动作对应的数据(data)。当Intent需要进行处理某些操作时,就需要一个与Intent相关的类,Intent Filters,来进行对其的描述。

Broadcast Intent Receiver,这个intent是对外部事件一个响应。它因为不能够与UI绑定,生成不了视图,所以对于用户来说不可见。

  1. Server

Service是代表了程序运行,其实现是指后台当中的应用程序。

剩余内容已隐藏,请支付后下载全文,论文总字数:23009字

相关图片展示:

您需要先支付 80元 才能查看全部内容!立即支付

该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;