Activity中调用,但是Displayable的是必须的,在Activity 中,要通过findViewById()来从XML 中取得View,Android的View类的显示很大程度上是从XML中读取的。View 与事件(event)息息相关,两者之间通过Listener 结合在一起,每一个View都可以注册一个event listener,例如:当View要处理用户触碰(touch)的事件时,就要向Android框架注册View.OnClickListener。另外还有BitMap等同于J2ME的Image。
1.4 组织结构
通过本软件的开发,我们可以熟悉和掌握在Android平台上的程序开发的环境的搭建,熟悉和掌握在Android平台上的程序的设计开发流程,熟悉和掌握在Android平台下编程常遇到的问题及解决办法。
第一章主要阐述了下Android的发展历史,Android的系统框架以及其Java方向的开发方面的内容。
第二章主要是对系统做的功能分析,性能的分析和程序设计。
第三章主要讲述的是Android开发环境的搭建的相关问题。
第四章主要描述的是本软件开发过程中的一些要点和难点,并贴上源代码来描述解决的一些方法。
第五章是对开发该程序做一个系统性的总结。
第2章 系统分析与设计
2.1 功能分析
如果您经常用手机拍照,那么您的手机里一定保存着数量众多的图片文件,闲暇的时候打开来和好友分享,怎能少了手机电子相册。本电子相册是一个功能齐全的图片浏览器,软件主要由四个界面构成:
第一个界面:一个欢迎界面,并在其中读取数据,提高程序的效率。
第二个界面:显示的是SD卡中所有包含了图片文件的文件夹,且以该文件夹里面的第一张图片作为该文件夹的图标。
第三个界面:当点击第二个界面的文件夹图标的时候进入第三个界面,并在其中显示该文件夹里面的所有图片。
第四个界面:当点击第三个界面里面的某个图片的时候,进入第四个界面,显示点击的那张图片,该界面实现了多点触控图片的放大和缩小功能,当往左滑时,跳转到下一张图片,当往右滑的时候跳转到上一张图片。
本电子相册不同于其他的软件,界面做的很友好,有欢迎界面,有文件夹,对手机中的图片进行归类,而且在第二个界面我们可以看到图片的物理地址,可以很快的找到图片的储存的文件目录。
程序的架构包含三个模块:
模块1:程序界面。
模块2:后台服务,后台数据处理。
模块3:处理界面的刷新。
2.2 性能分析
我认为本程序中的异步加载图片和防止程序的内存溢出是重点和难点所在。为了防止程序的内存溢出,我把该程序设计成分页浏览模式,假如说图片的数量大于30张的话,程序只会加载当前你所需要浏览的那一页的图片,并把以前浏览的图片所占的内存给清理掉。而图片的异步加载的目的就是为了提升用户的体验效果,假如把图片的加载放入到主线程的话,势必照成程序的响应时间变长,更有可能出现ANR(如果程序5秒钟没有反映的话,系统会弹出一个提示框),严重影响了用户的体验效果。
做手机上的图片浏览器需要面对的最大的问题是加载图片的效率问题和浏览图片时不会因为图片过多而造成内存溢出,因为手机不同于电脑,手机的内存是非常珍贵的,一旦内存溢出的话程序就会造成异常退出,降低了用户的体验效果。同样,当程序加载图片的速度很慢,而且滑动的时候造成很卡的话同样会降低了用户的体验效果。所以,当用户浏览图片的时候必须异步加载图片,当用户加载的图片到达一定数量后,应该清理掉前面的图片再继续加载图片,以防程序内存溢出。
2.3 界面设计
2.3.1 用户界面的设计
在人和机器的互动过程(Human Machine Interaction)中,有一个层面,即我们所说的界面(interface)。从心理学意义来分,界面可分为感觉(视觉、触觉、听觉等)和情感两个层次。用户界面设计是屏幕产品的重要组成部分。界面设计是一个复杂的有不同学科参与的工程,认知心理学、设计学、语言学等在此都扮演着重要的角色。用户界面设计的三大原则是:置界面于用户的控制之下;减少用户的记忆负担;保持界面的一致性。
电子相册的第一界面是一个欢迎界面,设计图如图2.1所示:
图2.1 第一个界面设计图
这个界面有两个功能,首先就是展现欢迎界面,给用户一个友好的感觉,其次是为软件读取数据提供一个缓冲的时间,提高程序的运行效率。
电子相册的第二个界面是一个展现图片所在文件夹的界面,设计图如图2.2所示:
图2.2 第二个界面设计图
在这个界面,我们可以看到手机中有多少图片的文件夹,每个文件夹下有多少图片,以及文件夹在手机中的地址。
电子相册的第三个界面就是图片的具体展现,设计图如图2.3所示:
图2.3 第三个页面设计图
此界面主要是对图片展现的页面布局,采用三列,可以下拉,每页显示的行数根据手机显示屏的大小有所不一样。
电子相册的第四个页面就是每张图片的具体的展示了,设计图如图2.4所示:
图2.4 第四个页面设计图
此界面在手机上实现了多点触控,图片可以放大和缩小,当往左滑时,跳转到下一张图片,当往右滑的时候跳转到上一张图片,当跳转到第一张图片,提示这已经是第一张图片,当跳转到最后一张图片时,提示这已经是最后一张图片。
2.3.2 功能的设计
功能设计就是按照产品定位的初步要求,在对用户需求及现有产品进行功能调查分析的基础上,对所定位产品应具备的目标功能系统进行概念性构建的创造活动。功能设计是功能创新和产品设计的早期工作,是设计调查、策划、概念产生、概念定义的方法,也是产品开发定位及其实施环节,体现了设计中市场导向作用。可以采用用户设计和专业设计或二者结合的方式。是以消费者的潜在需求和功能成本规划为依据,设计产品的功能,经过功能的成本核算后,由专业人员进行产品设计并生产,通过定价,开展针对性的营销,使企业跳出产品同质化陷阱。功能设计的依据是市场细分和产品定位理论的深化,市场细分方法有好多种,但归根结底都是以功能细分的。
本程序主要就是由四个界面构成,每个界面都有自己要实现的功能,针对每个界面设计功能流程图如图2.5所示:
图2.5 功能设计流程图
从第一界面到第二个界面是不需要交互的,是程序运行的过度阶段,这里主要实现遍历SD卡中的图片这个功能;第二个界面是主界面,这里要实现显示包含图片的文件夹的功能,并且能够显示出文件夹所在的路径;第三个界面是查看文件夹中具体照片的界面,这里要实现异步加载的功能;第四个界面是单张图片的显示,这里要实现多点触控、放大、缩小和切换图片的功能;从此流程图,我们不难发现,本电子相册是一个功能齐全的简单易用的程序。
第3章 Android开发环境的搭建
3.1 开发环境搭建需要的软件
(1) jdk-6u18-windows-i586.exe
(2) eclipse-standard-kepler-R-win32.zip
(3) android-sdk-windows-1.5_r1.zip
(4) ADT插件
(5)android系统手机一部(图片浏览器中的多点触控的功能不能在android模拟器上测试)
3.2 Android开发平台的搭建
3.2.1 JDK安装
如果你还没有JDK的话,可以去这里下载,接下来的工作就是安装提示一步一步走。设置环境变量步骤如下:
我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量:
JAVA_HOME值为:
D:\Program Files\Java\jdk1.6.0_18(你安装JDK的目录)
CLASSPATH值为:
.;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\bin;
Path:
在开始追加 %JAVA_HOME%\bin;
NOTE
上一篇:
基于Android的招生管理信息系统设计与实现
下一篇:
面向android系统的测试工具_毕业论文