安卓手电筒实验报告

时间:2024.5.9

开放实验项目报告

题   目:安卓手电筒APP设计

                  

学          院  电子科学与工程 

学  生  姓  名  高国庆         

班  级  学  号  B14020929       

指  导  教  师  徐伟            

开  课  学  院  电子科学与工程 

日          期  2015.11.07      

安卓手电筒APP设计

一、项目介绍

Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。本次实验是设计一个简单的安卓手电筒,大致了解安卓手电筒的制作流程以及其工作原理。

二、主要功能

1、         运行软件,显示初始界面;

2、         点击按钮,实现闪光灯的开和关功能。

三、Android开发环境搭建

1.JDK安装和配置

jdk是 java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序,其包含了运行java程序的各种必要组件。

配置JDK环境变量

操作步骤:计算机 属性 高级系统设置 环境变量 系统变量

1) 新建JAVA_HOME

值为: C:\Program Files\Java\jdk1.6.0_18(自己所安装JDK的目录)

2) 新建CLASSPATH (如果已有,则直接编辑)

值为:.;%JAVA_HOME%\lib;

3) 新建Path(如果已有,则直接编辑),

               值为: %Java_Home%\bin; (若值中原来有内容,用分号与之隔开)

2. ADT-Bundle安装

ADT-Bundle for Windows 是由Google Android官方提供的集成式IDE,已经包Eclipse无需再去下载Eclipse,并且里面已集成了插件,它解决了大部分新手通过eclipse来配置Android开发环境的复杂问题。有了ADT-Bundle,新涉足安卓开发的无需再像以前那样在网上参考繁琐的配置教程,可以轻松一步到位进行Android应用开发。

四、手电筒App设计与实现

1、      创建Android工程

A.启动Eclipse,点击工具栏上的图标(或者菜“New”->“Android Application Project”),弹出创建Android工程的     对话框,应用名称使用自己的学号:

B. 在向导的第二页,基本保持默认参数。点击“Next”

C. 在向导的第三页,设置程序的图标。点击“Next”

  

D. 在向导的第四页,选择创建Activity。此处我们选择Empty Activity(默认选择Blank Activity也可以)。点击“Next”

 

E. 在向导的第五页,设置Activity和Layoutd的名称。使用默认即可。点击“Finish”,完成工程的创建。

2、添加权限

手电筒App核心原理,其实就是使用Android中的摄像头类Camera控制控制闪光灯的亮灭。

因此我们在程序中,需要使用相机权限和闪光灯权限。

在Eclipse中双击工程中的AndroidManifest.xml

权限的添加可以直接在XML中直接用代码添加,也可以在图形界面中增加。在AndroidManifest.xml文件面板中添加如下代码即可:

<uses-permission android:name="android.permission.FLASHLIGHT"> 

 <uses-permission android:name="android.permission.CAMERA">

3、设计手电筒的UI

手电筒的界面比较简单,使用黑色背景和一个按钮,用来打开或关闭闪光灯。

在此实验中,使用ToggleButton作为开关。并在不同的状态为Button设置对应的背景图片。

Android的界面是由XML文件控制的。该XML文件一般位于工程的res\layout目录下。

Android的UI可以通过在Eclipse的图形化界面下,通过拖拽控件的方式生成,也可以通过直接修改xml文件生成。

Android的UI有多种布局类型:线性布局(LinearLayout)、相对布局(RelativeLayout)、网格布局(GridLayout 4.0新增)、绝对布局(AbsoluteLayout)等等。

选择工程的rec\layout目录文件,添加如下代码,并将所需的背景图片等素材放置在drawable-hdpi文件目录中:

<ToggleButton

        android:id="@+id/toggleButton1"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_centerHorizontal="true"

        android:layout_centerVertical="true"

        android:textOff=""

        android:textOn=""

        android:background="@drawable/shou_off" />

4、调用Camera的控制

摄像头开关控制

在使用闪光灯之前,注意先使用Camera.open()方法打开摄像头,获取到camera对象。然后通过camera对象getParameters()方法获取到Parameters参数。关闭闪光灯的时候,也是通过Parameters参数进行设置的。

在工程的主程序也就是src目录下的MainActivity文件中,定义打开和关闭手电筒的相关参数public Camera camera和public Parameters parameters,并在主程序内添加如下代码:

           publicvoid onCheckedChanged(CompoundButton buttonView,

                  boolean isChecked) {

              // TODO Auto-generated method stub

              if (isChecked) {

                  camera = Camera.open();

                  parameters = camera.getParameters();

                  parameters.setFlashMode(Parameters.FLASH_MODE_TORCH);// 开启

                  camera.setParameters(parameters);

                  button.setBackgroundResource(R.drawable.shou_on);

//                Toast.makeText(MainActivity.this, "手电已开启", 0).show();

              } else {

                  parameters.setFlashMode(Parameters.FLASH_MODE_OFF);// 关闭

                  button.setBackgroundResource(R.drawable.shou_off);

//                Toast.makeText(MainActivity.this, "手电已关闭", 0).show();

                  camera.setParameters(parameters);

                  camera.release();

              }

           }

五、   实验效果及故障分析

程序代码写好后,如果程序未报错,用USB数据线将电脑和一部安卓手机进行连接,点击eclipse软件菜单栏中的运行按钮,如下图红色圈中所示:

选择以安卓设备打开,至此,我们的安卓设备会自动运行该程序并自动在该设备上生成一个安装好的手电筒APP,名称为之前创建工程时的学号如下图所示:

  

故障分析:因为刚开始接触JAVA,对其中的一些函数、变量等不熟悉,同时也是第一次使用加入ADT相应组件的eclipse软件,所以过程中难免会出现或多或少的问题。开始的时候程序经常报错,比如定义ToggleButton时,因为没有把所需图片素材放入相应文件,导致错误无法消除,同时也提醒自己不管做什么事都要细心,不能马马虎虎。

六、   实验总结与收获

因为没有太多的JAVA基础,所以此次实验的手电筒软件不是很完善,例如,在安卓设备上运行软件后,点显示屏任何一个位置都能讲手电筒打开,这是后期需要改进的地方。通过这次实验使我粗略地了解到了关于安卓APP的相关知识,拓展了自己的课外知识,同时也发现了自己的一些不足,在以后的学习中,我一定会改进自己的不足,不断进步。


第二篇:5安卓实验报告


HUNAN  UNIVERSITY

  嵌入式软件开发课程项目

        题    目:        仿ES文件管理器    

                     学生姓名                         

         学号                      

        专业班级                            

        指导老师                        

                完 成 日  期                   2015.1.5                                  

基于Android平台的记事本的设计与实现

随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,计算机记事本功能已经越来越流行。它是基于Android平台的文件管理功能,它能够能实现我们自己想要的一些功能,在我们这个实验中,我们主要是实现文件检索,多项目选择文件,文件复制,返回上一级目录,扩大显示文件等功能

关键词: Android OS;文件管理


目录

1项目概述.................................................. 2

1.1项目背景........................................................................................................... 2

1.2项目概述........................................................................................................... 2

1.2.1工作内容.................................................................................................... 2

1.2.2条件与限制................................................................................................ 2

1.2.3产品......................................................................................................... 2

1.2.4运行环境.................................................................................................. 2

1.2.5验收标准.................................................................................................. 2

2.需求分析.................................................. 2

2.1 用户界面分析.................................................................................................. 2

2.2 内部功能分析.................................................................................................. 3

2.2.1文件管理器模块界面.................................................................................. 3

3.可行性分析................................................ 3

3.1技术可行性分析.............................................................................................. 3

3.2经济可行性分析.............................................................................................. 3

3.3社会因素可行性分析...................................................................................... 3

3.3.1法律因素.................................................................................................... 3

3.3.2用户使用可行性......................................................................................... 3

4.项目开发计划.............................................. 4

4.1实施计划........................................................................................................... 4

4.1.1进度......................................................................................................... 4

4.1.2关键问题.................................................................................................. 4

4.2交付期限........................................................................................................... 4

5.概要设计.................................................. 5

5.1总体设计........................................................................................................... 5

5.2用户界面设计................................................................................................... 5

6.详细设计.................................................. 6

6.1总体设计........................................................................................................... 6

6.1.1工程结构.................................................................................................. 6

6.2程序描述............................................................................................................. 8

6.2.1文件检索模块............................................................................................. 8

6.2.2其他模块.................................................................................................... 8

7.测试计划.................................................. 9

7.1计划、............................................................................................................... 9

7.1.1测试项目.................................................................................................... 9

7.1.2测试人员.................................................................................................... 9

8.总结...................................................... 9

参考文献.................................................... 9

1项目概述

1.1项目背景

    根据手机功能调查显示,大部分消费者都会使用手机文件检索功能。随着手机文件检索功能的不断加强与完善,手机文件检索对于人们的意义,已不仅仅像一般文件检索一样简单记录,而是向着更个性化人性化的方向发展。

1.2项目概述

1.2.1工作内容

(1)       主界面的设计以及各功能界面的设计

(2)       程序代码的编写以及实现项目功能

(3)       界面的美化

1.2.2条件与限制

    开发人员只有本人一人,图片的美化、UI设计不可能很美观,有些工作可能不够细致

1.2.3产品

 (1)程序

程序名称:仿ES文件管理器; 使用语言:java; 存储形式:SQLite 平台:安卓手机操作系统

(2)文档

记事本实训报告; 程序源代码

1.2.4运行环境

硬件环境:一台装载了windows 7系统的计算机

软件环境:采用了Eclipse+Android SDK 集成环境,编程语言采用了JAVA.

1.2.5验收标准

 我们的记事本项目在虚拟机以及装有Android系统的手机上都能正常运行,我们都有测试。

2.需求分析

2.1 用户界面分析

(1)文件检索模块界面

(2)音乐,视频,图像模块界面

2.2 内部功能分析

2.2.1文件检索模块界面

 (1)添加便签用户界面

(2)文件检索,多项目选择文件,文件复制,返回上一级目录,扩大显示文件界面

3.可行性分析

3.1技术可行性分析

本项目仅需要一台装有eclipse及配置好android开发环境的计算机即可,对计算机本身有一定的要求,它可以使用windows xp及其以上版本,mac os,linux等操作系统。

3.2经济可行性分析

    由于本软件开发者都是在校学生,一台电脑就行,基本不需要太大的成本.在经济上完全可行。

3.3社会因素可行性分析

3.3.1法律因素

     本程序都是同学们自行编写设计,不存在抄袭等现象,内容积极健康。

3.3.2用户使用可行性

    界面设计时充分考虑用户的习惯以及手机方面的局限性,程序必须要很简单;本程序只涉及到开发环境配置,安卓组件的熟悉,以及安卓平台上的数据存储。并没有太大的难度,所以,该项目完全有可操作性.

4.项目开发计划

4.1实施计划

4.1.1进度

      第一阶段(第   9  周)看资料文件,确认设计项目

      第二阶段(第 10—14周)从概要分析到程序设计

      第三阶段(第   15 周)功能的测试修改以及撰写实验报告

      第四阶段(第   16  周) 项目PPT展示以及答辩  

4.1.3关键问题

    在这次的项目设计中,有好多问题,有界面之间跳转、界面之间的整合、以及第一次使用ImageView这个组件的不熟练。

  

4.2验收期限

       20##年01月06日

  

5.概要设计

5.1总体设计

 

                                     

 


图5.1  系统主要结构功能图

5.2用户界面设计

         

图5.2.1   文件检索                                 图5.2.2 多项选择         

  

图5.2.3 返回上一级                              图5.2.4图片压缩

 

  5.2.5  图标放大                              5.2.6 音频文件

   

     5.2.7视频文件                      5.2.8图片文件

6.详细设计

6.1总体设计

6.1.1工程结构

 

6.1.1整体架构                        6.1.2 源文件结构1

6.1.3 源文件2                              6.1.4  布局文件


6.1.2主要功能代码

文件检索:

protected Browser(Context context) {

        mContext = context;

        mInflater = LayoutInflater.from(context);

        preResource = new PreparedResource(context);

        mData = new FileItemSet();

        mFileManager = new FileManager(context, mData);

        mFileManager.setOnWhichoperation(this);

        mItemsAdapter = new FilesAdapter(mContext, mData);

    }

文件管理:

publicclass FileManager {

    publicstaticfinal String HOME = "/mnt/";

    publicstaticfinal String USB = HOME + "usbDisk";

    publicstaticfinal String SD = HOME + "sdcard/";

    publicstaticfinal String EXTSD = HOME + "ext_sd/";

    publicstaticfinal String MEMORY = HOME + "innerDisk/";

   

    publicenum FileFilter {MUSIC,VIDEO,PICTURE,ALL};

    private FileItemSet mData;

    private FileItemSet mDataForOperation;

    publicenum FilesFor {COPY,CUT,DELETE,UNKOWN};

    private FilesFor mFilesFor = FilesFor.UNKOWN;

   

    private RefreshData queryThread;

    publicstatic Comparator<File> mComparator;

    public FileComparatorByName comp_name;

    public FileComparatorBySize comp_size;

    public FileComparatorByUpdateTime comp_update;

    publicenum ViewMode {

        LISTVIEW, GRIDVIEW

};

图标大小扩展

publicclass FileComparatorBySize implements Comparator<File>{

   

    @Override

    publicint compare(File file1, File file2) {

        if(file1.isDirectory() && !file2.isDirectory()){

            return -1;

        }elseif(file1.isDirectory() && file2.isDirectory()){

            return file1.getName().toLowerCase().compareTo(file2.getName().toLowerCase());

        }elseif(!file1.isDirectory() && file2.isDirectory()){

            return 1;

        }else{

            long result = (file1.length()-file2.length());

            if(result>=0){

                return 1;

            }else{

                return -1;

            }

        }

}


 

6.2程序描述

6.2.1文件操作

功能:

文件检索:通过点击文件检索目录一级一级往下查询得到要寻找的文件。

多项操作:点击多项操作按钮,可以选择多个文件进行操作。

返回上一级:点击该按钮,可以返回文件上一级。

图标扩大:点击该按钮,可以将当级图标放大。

复制:点击更改按钮,可以复制选中的文件。

6.2.2音频文件检索模块

 点击该按钮,将系统中的音频文档全部显示出来。

6.2.3视频文件检索模块

  点击该按钮,将系统中的视频文档全部显示出来。

6.2.4图片文件检索模块

 点击该按钮,将系统中的图片文档全部显示出来。


7.测试计划

7.1计划

7.1.1测试项目

输入

(1)点击文件检索按钮

(2)点击多项操作按钮

(3)点击返回上一级按钮

(4)点击复制按钮

(5)点击图标扩大按钮

(6)点击音频按钮

(7)点击视频按钮

(8)点击图片按钮

输出

(1)显示该级全部文件

(2)可以选择多个文件

(3)返回上级,显示上级全部文件

(4)输出可复制的文件

(5)该级文件图标扩大

(6)显示音频文件

(7)显示视频文件

(8)显示图片文件

8.总结

经过这几个星期的学习,研究和开发,我终于按时完成了这个项目。通过这个项目的研发,我终于认识到理论跟实际还是有很大的不同的。对安卓的基本知识进行了锻炼,对自己的成果也有了很大的成就感,激发了我对安卓研究的巨大兴趣。

通过此次设计过程我们会到了许多知识,每一次完成一个比较完整的小项目,都会非常有成就感,虽然过程中遇到了许多困难,在老师的帮助下一一克服了。通过不断的发现问题,总结问题和解决问题的过程,使我们在此次实训项目中得到了很大的提高,得到了宝贵的经验。

参考文献

[1] 黄梯云.主编《管理信息系统》.机械工业由版社.1997.3.

[2] 王向辉. 主编《Android应用程序开发》清华大学出版社 2012.5

[3] 杨丰盛. 主编《Android 应用开发揭秘》机械工业出版社, 20089

更多相关推荐:
安卓实验报告

安卓开发实验报告专业地理信息系统姓名白兰海学号Android编程报告一安卓系统简介Android是基于Linux内核的操作系统是Google公司在20xx年11月5日公布的手机操作系统早期由Google开发后由...

android本科实验报告

本科实验报告课程名称实验项目实验地点专业班级学生姓名指导教师Android设计与开发Android课程实验学号年月日太原理工大学学生实验报告太原理工大学学生实验报告太原理工大学学生实验报告太原理工大学学生实验报...

Android实验报告模板_实验四

Android实验报告模板_实验四,内容附图。

安卓实验报告

安卓实验报告班级学号姓名xxxxx11111111xxxx实验一Activity生命周期的测试一实验目的掌握使用Eclipse开发Android应用开发程序的方法掌握Android虚拟设备的创建方法了解Andr...

android开发音乐盒的实验报告

开发一个安卓软件报告报告设计题目用安卓开发单机音乐盒学院名称电子与信息工程学院专业计算机科学与技术班级计科091姓名学号03指导教师定稿日期20xx年12月26日一设计任务与要求1设计目标1了解Java编程的基...

安卓实验报告

山东建筑大学计算机学院实验报告班级软件131姓名张洪拓学号20xx11120xx实验成绩实验六布局管理器一实验目的及任务1掌握Activity中各种布局管理器LinearLayoutTableLayoutRel...

安卓实验报告模板

Android应用程序开发结课报告软件名称班级学号学生姓名指导教师年月日

安卓课程设计报告

安卓学生姓名学号专业班级设计题目学年学期指导教师课程设计简易计算器20xx20xx学年第一学期日期1签名目录第1章安卓应用程序开发背景错误未定义书签11开发背景错误未定义书签12开发环境错误未定义书签第2章安卓...

安卓实验

黑龙江科技大学计算机与信息工程学院JAVA网络编程实验报告班级软件131学号20xx02526207姓名刘凯强授课教师马晓梅实验成绩实验一Android界面设计1实验目的1掌握ImageView组件的基本应用2...

安卓程序开发实验一

本科学生实验实践报告院系教育信息技术学院实验课程移动智能设备程序设计实验项目初识移动智能终端设备技术指导老师王洪江开课时间20xx20xx年度第二学期专业教育技术学多媒体与网络技术方向班级12级多媒体2班华南师...

安卓程序设计报告

弹球游戏物联一班谢鑫20xx0740123一实验目的1掌握Swing图形用户界面编程以及事件处理等掌握java绘图技术2掌握多线程编程的基本原理能使用RunnableExecutorService等接口进行线程...

Android实验格式简易计算器实验报告

实验报告20xx20xx学年第2学期课程名称嵌入式操作系统实验题目简易计算器的设计与实现专业计算机科学与技术信息处理是什么专业写什么专业班级计算本1101按自己班级填写日期填写20xx年4月8日实验题目简易计算...

安卓实验报告(33篇)