Android平台的手机涂鸦软件开发

目录
一、 引言 1
(一) 开发背景 1
(二) 选题意义 1
(三) 设计目标 1
(四) 开发软件 1
1. Android开发技术 1
2. Java语言 1
3. 平台优势 1
二、 系统分析与设计 2
(一) 系统功能需求 2
(二) 系统功能模块图 2
(三) 开发及运行环境 3
三、 系统功能与实现 3
(一) 开始画图界面 3
(二) 普通画图界面 6
1. 自由绘图 6
2. 绘图保存 8
3. 橡皮擦 10
4. 设置背景音乐 11
5. 设置背景颜色 13
6. 设置画笔属性(画笔粗细和画笔颜色) 14
7. 实时显示画笔粗细和颜色 18
8. 绘图风格选择 19
(三) 智能画图模式 21
1. 自由绘图 21
2. 设置背景音乐 24
四、 系统测试 26
(一) 测试环境 26
(二) 测试过程 26
(三) 测试结果 26
五、 总结 27
致谢 28
参考文献 28
引言
开发背景
随着现在智能手机的飞速发展,很多给人们带来方便的手机应用也随之诞生,手机涂鸦软件便是其中的一款,方便人们在手机上进行画画、涂鸦。但是现在人们用的手机涂鸦软件都需要双手进行操作,在没有额外支撑平台的情况下,用户只用一只手想要进行步骤较复杂的创作型操作时,仅仅只利用多 *好棒文|www.hbsrm.com +Q:  3_5_1_9_1_6_0_7_2 
点触控的交互方式在这种应用场景下就显得不太方便。基于Android平台的手机涂鸦软件就解决了这一问题,给用户带来真正的方便。
选题意义
便于单手进行操作的手机软件现在在市场上很少,但是人们在生活中越来越需要这类方便单手进行操作的应用,我们可以根据单手涂鸦这一想法,充分利用手机的各种传感器编写出更多类似方便人们使用的手机应用,只有让用户觉得给他的生活带来的便利,用户才会一直使用我们的应用,所以我觉得这是一个值得我们去研究的课题。
设计目标
搜集网上现有的手机涂鸦软件的相关资料,充分利用我们所学的知识,做出基本涂鸦软件的功能需求分析。在网上学习有关手机重力传感器方面的知识,收集资料,考虑如何把重力传感器与涂鸦相结合,做出这一部分的需求分析,完成前期的准备工作,进行软件开发。
本课题的目标是在现在大家所使用的手机涂鸦软件的基础上进行创新,利用智能手机中的重力传感器,做出一个便于单手握持使用的手机涂鸦软件。本课题是培养我们综合运用本专业基础理论,基本知识和基本技能分析解决实际问题的能力,通过对该课题的设计开发,使我们在Android软件开发中,充分利用所学的专业知识,理论联系实际,独立开展工作,更加了解了手机涂鸦软件所需要实现的功能。
开发软件
Android开发技术
Android是一种基于Linux的开放源代码的操作系统,主要适用于移动设备,如智能手机和平板电脑。Android应用软件是基于Java语言进行开发的,开发环境:JDK1.6+Eclipse+Android SDK+ADT。
Java语言
想要学会Android开发就必须先了解掌握Java语言,Java是一种面向对象的程序设计语言。Java有非常好的通用性、高效行、平台移植性和安全性,应用也很广泛,如计算机、移动电话、数据中心等。
平台优势
Android之所以现在这么受欢迎,是因为有很多的优势,优势如下:
开放性
丰富的硬件
方便开发
Google应用
系统分析与设计
系统功能需求
普通画图模式功能需求:
自由绘图:利用手指在屏幕上的滑动画图
绘图保存:保存在SD 卡中
橡皮擦:擦除已画内容
设置背景音乐:关闭、播放
设置背景颜色:设置画布背景颜色
设置画笔属性(画笔粗细和画笔颜色):在menu中设置
实时显示画笔粗细和颜色
绘图风格选择:模糊风格、浮雕风格、正常风格
智能画图模式功能需求:
自由绘图:利用重力传感器画图
设置背景音乐:关闭、播放
系统功能模块图
本软件按照画图方式不同划分为普通画图和智能画图两种模式,下面分别介绍不同模式下的功能需求,如图1-1所示。
图1-1 系统功能模块图
开发及运行环境
开发环境:
jdk1.6.0_10
Eclipse
Android SDK
ADT
运行环境:
Android 2.2
Android 4.4
系统功能与实现
开始画图界面
点击开始画图,弹出两个单选框,当选择智能画图时标志为1,选择普通画图时标志为2。点击确定时判断标志变量的值,等于1时进入智能画图界面,等于2时进入普通画图界面。
总体方法(见图2-1):
图2-1 开始画图
实现代码:
// 显示选择对话框
private void chooseMode() {
mRadioChecked = 1;
LayoutInflater mLI = LayoutInflater.from(MainActivity.this);
final View mLL = (View) mLI.inflate(R.layout.choose, null);
mRadioGroup = (RadioGroup) mLL.findViewById(R.id.radiogroup_search);
final RadioButton mCurrentPathButton = (RadioButton) mLL
.findViewById(R.id.onehand);
final RadioButton mWholePathButton = (RadioButton) mLL
.findViewById(R.id.twohands);
// 设置默认选择智能画图
mCurrentPathButton.setChecked(true);
图2-4 退出 图2-5 确认退出
普通画图界面
自由绘图
posY = y;
postInvalidate();

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/rjgc/1845.html

好棒文