通信终端创新课程设计.docx
- 文档编号:3907518
- 上传时间:2023-05-06
- 格式:DOCX
- 页数:17
- 大小:259.10KB
通信终端创新课程设计.docx
《通信终端创新课程设计.docx》由会员分享,可在线阅读,更多相关《通信终端创新课程设计.docx(17页珍藏版)》请在冰点文库上搜索。
通信终端创新课程设计
XX学院
通信终端创新课程设计
设计说明书
(XX/XX学年第二学期)
课程名称:
通信终端创新课程设计
题目:
缤纷手电筒
专业班级:
XXXXXXXXX
学生姓名:
XXXXXX
学号:
XXXXXXXX
指导教师:
XXXXXXXXXXXXXXXXXXXX
设计周数:
XX周
设计成绩:
XX年XX月XX日
通信终端创新课程设计任务书
一、题目:
五彩缤纷手电筒
二、班级:
XXXXXXXXXXXXXXXXX
三、小组成员:
XXXXXXXXXXXXXXXXXXXXXXX
四、起止时间:
第X学期第XX周XXXXXXXXXXXXX
五、设计要求与思路:
1、本款手电筒软件功能全面,可多种颜色照明,提供亮度调节;
2、本软件了解Java语言,利用开发平台Eclipse设计手电筒软件;
3、手电筒软件采用了Android开源系统技术,利用Java语言和Eclipse开发工具对手电筒软件代码进行编写;
4、实现手电筒软件的基本功能:
照明、更换颜色、调节亮度等。
六、主要任务:
1、市场调研,明确市场需求,设计本软件;
2、深入学习和理解安卓操作系统;
3、了解Java语言的特点,学习利用Java语言开发软件程序,使用Android2.1版本;
4、完成手电筒软件的开发和测试;
5、按照格式要求撰写设计报告。
学生(签字):
指导教师(签字):
系主任(签字):
院长(签字):
目录
1课程设计要求与任务1
1.1课程设计要求1
1.2课程设计任务1
2课程设计正文1
2.1设计项目分析1
2.1.1Android平台1
2.1.2Java语言2
2.1.3Eclipse开发工具2
2.2课程项目设计3
2.3软件界面设计3
2.4软件代码实现4
2.4.1类的创建4
2.4.2屏幕颜色选择4
2.4.3屏幕连读调节5
2.4.4作者信息6
2.4.5R类的创建6
2.5虚拟机测试7
3设计总结或结论9
4参考文献10
1、课程设计要求与任务
1.1课程设计要求
根据所学Java与Android相关的编程知识,要求设计一款具有实用性、便捷性的Android应用软件。
根据设计要求,我们小组选择了手电筒这款实用简洁的软件,在原有照明的基础上,完善并开发其他功能,可使用多种颜色进行照明,并提供亮度调节这一功能。
本软件了解Java语言,利用开发平台Eclipse设计手电筒软件;手电筒软件采用了Android开源系统技术,利用Java语言和Eclipse开发工具对手电筒软件代码进行编写;实现手电筒软件的基本功能:
照明、更换颜色、调节亮度等。
1.2课程设计任务
1、市场调研,明确市场需求,设计本软件。
2、深入学习和理解Android操作系统。
3、了解Java语言的特点,学习利用Java语言开发软件程序,使用Android2.1版本。
4、完成手电筒软件的开发和测试。
5、按照格式要求撰写设计报告。
2、课程设计正文
2.1设计项目分析
2.1.1Android平台
Android有丰富的功能,因此很容易与桌面操作系统混淆。
Android是一个分层的环境,构建在Linux内核的基础上,它包括丰富的功能。
UI子系统包括:
窗口、视图及用于显示一些常见组件(例如编辑框、列表和下拉列表)的小部件。
Android包括一个构建在WebKit基础上的可嵌入浏览器,iPhone的MobileSafari浏览器同样也是以WebKit为基础。
Android提供多种连接选项,包括WiFi、蓝牙和通过蜂窝(cellular)连接的无线数据传输(例如GPRS、EDGE和3G)。
Android应用程序中一项流行的技术是链接到Google地图,以便在应用程序中显示地址。
Android软件栈还提供对基于位置的服务(例如GPS)和加速计的支持,不过并不是所有的Android设备都配备了必需的硬件。
另外还有摄像
过去,移动应用程序努力向桌面应用程序看齐的两个领域分别是图形/媒体和数据存储方法。
Android通过提供对2D和3D图形的内置支持,包括OpenGL库,解决了图形方面的挑战。
由于Android平台包括流行的开源SQLite数据库,因此缓解了数据存储的负担。
图2-1显示一个简化的Android软件层次结构。
图2-1Android软件层次结构
2.1.2Java语言
Java是一种简单的,跨平台的,面向对象的,分布式的,解释的,健壮的安全的,结构的中立的,可移植的,性能很优异的多线程的,动态的语言。
同时,它是一个纯的面向对象的程序设计语言,它继承了C++语言面向对象技术的核心,舍弃了C++语言中容易引起错误的指针(以引用取代)、运算符重载(operatoroverloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。
在JavaSE1.5版本中,Java又引入了泛型编程(GenericProgramming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。
Java不同于一般的编译执行计算机语言和解释执行计算机语言。
它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编译、到处执行”的跨平台特性。
不过,每次的编译执行需要消耗一定的时间,这同时也在一定程度上降低了Java程序的运行效率。
但在J2SE1.4.2发布后,Java的执行速度有了大幅提升。
2.1.3Eclipse开发工具
Eclipse是一个开放源代码的、基于Java的可扩展开发平台。
就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。
幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentKit,JDK)。
Eclipse作为开源代码的软件开发项目主要由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目组成,具体包括四个部分组成——EclipsePlatform、JDT、CDT和PDE。
JDT支持Java开发、CDT支持C开发、PDE用来支持插件开发,EclipsePlatform则是一个开放的可扩展IDE,提供了一个通用的开发平台。
它提供建造块和构造并运行集成软件开发工具的基础。
2.2课程项目设计
项目设计为利用Eclipse开发平台设计手电筒软件,采用Android开源系统技术,利用Java语言和Eclipse开发工具对手电筒软件代码进行编写,从而实现手电筒软件的基本功能照明,在此基础上,完善并开发其他功能,使用多种颜色进行照明,并提供亮度调节这一功能。
2.3软件界面设计
手电筒模块设计图如图2-2所示。
软件设计大致有四功能组成:
颜色更改、亮度调节、作者信息与软件退出。
关于颜色,我们设定了默认色——白色,以及红色、橙色、黄色、绿色、青色、蓝色、紫色七彩色辅助设计;亮度调节包括100%、75%、50%、25%、10%五种亮度调节供用户选择。
图2-2手电筒功能模块设计图
2.4软件代码实现
2.4.1类的创建
publicclassSunLightActivityextendsActivity{
/**Calledwhentheactivityisfirstcreated.*/
privateLinearLayoutmylayout;
privateResourcesmyColor;
privateintli;
publicvoidonCreate(BundlesavedInstanceState)…
*屏幕点击事件显示菜单
publicbooleanonTouchEvent(MotionEventevent)…
*关联菜单
publicbooleanonCreateOptionsMenu(Menumenu)…
*捕捉菜单事件
publicbooleanonOptionsItemSelected(MenuItemitem)…
*选择屏幕颜色
publicvoidselectColor()…
*屏幕亮度调节
publicvoidselectBright()…
*显示关于我们
publicvoidabout()…
*全屏设置
privatevoidHideStatusBase()…
*设置屏幕颜色
privatevoidSetColor(intcolor_1)…
*设置屏幕亮度
privatevoidSetBright(floatlight)…
}
2.4.2屏幕颜色选择
publicvoidselectColor()
{
finalString[]items={"默认","红色","橙色","黄色","绿色","青色","蓝色","紫色"};
newAlertDialog.Builder(this)
.setTitle("颜色选择")//此处this代表当前Activity
.setItems(items,newDialogInterface.OnClickListener(){
publicvoidonClick(DialogInterfacedialog,intitem){
Toast.makeText(getApplicationContext(),items[item],Toast.LENGTH_SHORT).show();//将选中的文本内容按照土司提示方式显示出来,此处的getApplicationContext()得到的也是当前的Activity对象,可用当前Activity对象的名字.this代替(Activity.this)
switch(item){
case0:
SetColor(R.color.white);
break;
case1:
SetColor(R.color.red);
break;
case2:
SetColor(R.color.orange);
break;
case3:
SetColor(R.color.yellow);
break;
case4:
SetColor(R.color.green);
break;
case5:
SetColor(R.color.indigo);
break;
case6:
SetColor(R.color.blue);
break;
case7:
SetColor(R.color.purple);
break;
default:
SetColor(R.color.white);
break;
}
}
}).show();//显示对话框
}
2.4.3屏幕亮度调节
publicvoidselectBright()
{
finalString[]items={"100%","75%","50%","25%","10%"};
newAlertDialog.Builder(this)
.setTitle("亮度调节")
.setSingleChoiceItems(items,li,newDialogInterface.OnClickListener(){//此处数字为选项的下标,从0开始,表示默认哪项被选中
publicvoidonClick(DialogInterfacedialog,intitem){
Toast.makeText(getApplicationContext(),items[item],Toast.LENGTH_SHORT).show();
li=item;
switch(item){
case0:
SetBright(1.0F);
break;
case1:
SetBright(0.75F);
break;
case2:
SetBright(0.5F);
break;
case3:
SetBright(0.25F);
break;
case4:
SetBright(0.1F);
break;
default:
SetBright(1.0F);
break;
}
dialog.cancel();
}
}).show();//显示对话框
}
2.4.4作者信息设置
publicvoidabout(){
newAlertDialog.Builder(SunLightActivity.this).setTitle("关于我们")
.setMessage("筑梦者Android设计小组").setIcon(R.drawable.icon)
.setPositiveButton("确定",newDialogInterface.OnClickListener(){
publicvoidonClick(DialogInterfacedialog,intwhichButton){
//finish();
}
}).setNegativeButton("返回",
newDialogInterface.OnClickListener(){
@Override
publicvoidonClick(DialogInterfacedialog,
intwhich){
//TODOAuto-generatedmethodstub
}
}).show();
}
2.4.5R类创建
publicfinalclassR{
publicstaticfinalclassattr{
}
publicstaticfinalclasscolor{
publicstaticfinalintblue=0x7f040004;
publicstaticfinalintgreen=0x7f040003;
publicstaticfinalintindigo=0x7f040006;
publicstaticfinalintorange=0x7f040005;
publicstaticfinalintpurple=0x7f040007;
publicstaticfinalintred=0x7f040002;
publicstaticfinalintwhite=0x7f040000;
publicstaticfinalintyellow=0x7f040001;
}
publicstaticfinalclassdrawable{
publicstaticfinalinticon=0x7f020000;
publicstaticfinalintmyicon=0x7f020001;
}
publicstaticfinalclassid{
publicstaticfinalintabout=0x7f070004;
publicstaticfinalintmylayout=0x7f070000;
publicstaticfinalintsetbright=0x7f070002;
publicstaticfinalintsetcolor=0x7f070001;
publicstaticfinalintseteffer=0x7f070003;
}
publicstaticfinalclasslayout{
publicstaticfinalintmain=0x7f030000;
}
publicstaticfinalclassmenu{
publicstaticfinalintmenu=0x7f060000;
}
publicstaticfinalclassstring{
publicstaticfinalintabout=0x7f050005;
publicstaticfinalintapp_name=0x7f050001;
publicstaticfinalinthello=0x7f050000;
publicstaticfinalintsetbright=0x7f050003;
publicstaticfinalintsetcolor=0x7f050002;
publicstaticfinalintseteffer=0x7f050004;
}
}
2.5虚拟机调试
下图即为虚拟机调试过程:
图2-3颜色更换模块
图2-4亮度调节模块
图2-5作者显示模块
3、设计总结或结论
通过此次的课程设计,我学到了很多,理论知识很重要,因为它决定了设计的方法及程序最终是否成功,所以就需要查找很多资料,有足够的耐心、细心去研究问题,解决问题,同时还必须有实事求是地分析问题的态度,知道理论与实际是有一些差别的。
而通过查资料和搜集有关的文献,培养了自学能力和动手能力,由曾经被动的接受知识转换为主动的寻求知识,这可以说是学习方法上的一个很大的突破。
另外,在以往的学习中,我们可能会记住很多的书本知识,而现在,我们学会了如何将学到的知识转化为自己的东西,学会了怎么更好的处理知识和实践相结合的问题。
测试的过程中要有平和的心态,遇见问题是很正常的,自己需要做的就是多做比较和分析,逐步的排除可能的原因,要坚信“凡事都是有办法解决的”和“问题出现一定有它的原因”,这样最后一定能调试成功。
报告的写作过程中也学到了做任何事情所要有的态度和心态。
首先我明白了做学问要一丝不苟,对于出现的任何问题和偏差都不要轻视,要通过正确的途径去解决,在做事情的过程中要有耐心和毅力,不要一遇到困难就打退堂鼓,只要坚持下去就可以找到思路去解决问题的。
在工作中要学会与人合作的态度,认真听取别人的意见,这样做起事情来就可以事倍功半。
4、参考文献
[1]EdBurnette著,田俊静,张波,黄湘情译.Android基础教程[M].人民邮电出版社,2010.8
[2]靳岩,姚尚朗.GoogleAndroid开发入门与实战[M].人民邮电出版社,2009.10
[3]郭宏志.Android应用开发详解[M].电子工业出版社,2010.8
评语
成绩
指导教师
(签字)
年月日
注:
此表必须在同一页面。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 通信 终端 创新 课程设计