本科毕业设计--基于android平台的手机应用软件设计与实现.doc

上传人:知**** 文档编号:89790006 上传时间:2023-05-13 格式:DOC 页数:29 大小:3.26MB
返回 下载 相关 举报
本科毕业设计--基于android平台的手机应用软件设计与实现.doc_第1页
第1页 / 共29页
本科毕业设计--基于android平台的手机应用软件设计与实现.doc_第2页
第2页 / 共29页
点击查看更多>>
资源描述

《本科毕业设计--基于android平台的手机应用软件设计与实现.doc》由会员分享,可在线阅读,更多相关《本科毕业设计--基于android平台的手机应用软件设计与实现.doc(29页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、安阳工学院计算机科学与工程学院JAVA程序设计课程综合项目报告项目题目:基于Android平台的手机应用软件设计与实现专业班级:计算机科学与技术(信息技术)11-1学生姓名:吕鹏学生学号:201103010042指导教师姓名:许研 2013年12月摘 要随着IT技术的发展,移动开发已被广泛的应用于社会的各个领域,成为推动社会发展的技术动力。而在移动开发中,Android开发近些年来突飞猛进的发展,在智能手机领域中的市场份额以及超过80%。同样,基于安卓平台的手机应用开发也达到前所未有的高度,各种安卓手机应用软件竞相出现。本次的JAVA课程设计将基于安卓的平台,因为安卓开发主要基于JAVA语言和

2、XML语言。本次所做的手机应用软件,可实现系统的登录、计算器、打电话、发短信、上网等简单功能实现。在此系统的实现过程中不仅提高了JAVA语言编程,而且加入了Android的成分,提高了软件设计的兴趣性。关键词: 手机应用软件开发,Java程序设计语言,Android开发。目录摘 要2第1章 系统目标4第2章 系统功能介绍42.1系统功能总框图52.2 模块功能介绍52.2.1 登录模块功能介绍52.2.2 等待模块功能介绍62.2.3系统主界面模块功能介绍72.2.4短信和拨号模块功能介绍72.2.5计算器模块功能介绍82.2.6网上冲浪模块功能介绍9第三章 系统功能实现103.1 系统登录模

3、块设计103.1.1 登录框布局设计103.1.2 登录对话框设计123.2 等待模块设计143.3 系统主界面模块设计153.3.1 主界面XML布局设计153.3.2 主界面背景图片设计173.3.3 主界面功能实现设计173.4 短信和拨号模块设计193.4.1短信功能实现设计193.4.2 拨号功能实现设计213.5 计算器模块设计213.5.1 计算器界面设计213.5.2 计算器功能实现设计213.6 网上冲浪模块设计233.6.1 网上冲浪模块XML布局设计233.6.2 网上冲浪功能设计24第四章 系统设计总结27参考文献28第1章 系统目标 实现简单的手机界面操作,包括密码登

4、陆,多个Activity的界面切换和调用,包括等待界面、主界面、发短信界面、拨号界面、计算器界面、音乐播放器、视频播放器、网上冲浪等界面。实现手机界面的一般操作。在此过程中,会熟练掌握Action事件,按钮事件、事件驱动程序、窗口设计。在布局方面,将采用xml语言和java语言混合布局。现将登录界面截图如下: 图1-1 登录界面和主界面在登录界面输入正确密码后,进入等待界面十秒等待后,进入系统主界面,点击ImageButton按钮进入各自的功能实现界面,实现各自的具体操作。第2章 系统功能介绍2.1系统功能总框图 图书馆管理系统功能总框图,如图2-1所示。图2-1 系统功能框架图2.2 模块功

5、能介绍2.2.1 登录模块功能介绍此模块主要采用java语言实现,使用AlertDialog.builder类实现登录对话框。利用此类的方法进行实现登录对话框的标题以及内容。输入登录名和密码后即可检测,密码或者登录名输入错误后就后退出程序,然后重新登录。输入错误后,可以单击“重置”按钮就行清空密码或者登录名,然后重新输入密码和用户名。由于知识有限,本此登录设计采用固定密码和用户名,是本次课程设计的一个不小的遗憾!图2-2 系统登录界面2.2.2 等待模块功能介绍 此模块的设计目的是为了使用Splash Activity窗口设计而特意添加的功能,主要内容包括个人信息介绍。此界面采用Relativ

6、eLayout和TableLayout布局实现手机窗口。在此界面使用Runnable类实现了10秒钟的等待时间,以便于进行信息的阅读,十秒过后,界面自动切换到系统主界面,当前界面关闭。图2-3 Splash界面2.2.3系统主界面模块功能介绍 系统主界面采用XML语言进行手机界面的布局,通过添加多个ImageButton进行事件驱动设计。包括发短信、打电话、上网、计算器、音乐播放器(未实现)和视频播放器(未实现)。通过单击相应的按钮,可以跳转到想用的功能界面。图2-4 系统主界面2.2.4短信和拨号模块功能介绍短息和拨号两个界面的界面设计采用XML语言实现,而具体功能采用语言实现。在发短息界面

7、,输入手机号码和短息内容,即可直接发信要发送的对象。在拨号界面,输入手机号即可进行直接拨号,另外,也可单击“间接拨号按钮”调用手机系统拨号程序进行拨号。此两项功能实现较为简单,没有使用价值,只有学习参考价值。图2-4 短信和拨号界面2.2.计算器模块功能介绍计算器模块是本次课程设计中最复杂的部分,计算器模块同样采用上述布局方法和实现方法,可实现普通数据运算和复杂的科学运算以及三角函数的运算。在计算器中添加了智能提示按钮,可对计算器按键进行智能提示,用户可以知道复杂的按钮的具体操作,提高计算器的可行性和实用性。图2- 计算器界面2.2.6网上冲浪模块功能介绍 网上冲浪界面是本次课程设计最有使用的

8、一个方面,通过ImageButton,添加事件处理程序,可以快速访问互联网。主要连接一些自己比较常用的网站,比如安工贴吧、安阳工学院教务管理系统、计算机科学与信息工程学院首页、百度首页、新浪微博和我的QQ空间等。通过这些可以快速进入我经常访问的网页。但此设计没有做成自己的浏览器,而是调用系统浏览器,是这次程序设计的不足之处。图2- 网上冲浪界面第三章 系统功能实现3.1 系统登录模块设计 软件应用系统应该有自己的系统登录管理,这也是出于系统安全方面的考虑,设置用户名和密码登录,就必须设置一个系统登录功能模块。系统登录采用的是固定密码和用户名登录,是本课程设计一个遗憾,缺乏使用价值。3.1.1

9、登录框布局设计使用XML程序设计创建login.activity.xml文件,使用相对布局,加入EditText控件和TextView控件,实现登录框和密码框的设计。其代码如下: 布局结果如图所示:图3.1 登录框布局3.1.2 登录对话框设计登录对话框的设计与实现采用JAVA语言实现,实例化AlertDialog.Builder类,此类用作创建手机界面的对话框,实例View类中的方法,加载login.activity布局,即将此布局加载到对话框的里面。在登录对话中可以显示布局里面的内容,运行结果如图2-2 所示,具体实现代码如下:protected void onCreate(Bundle

10、savedInstanceState) / TODO Auto-generated method stubsuper.onCreate(savedInstanceState);AlertDialog.Builderbuilder=new AlertDialog.Builder(MAIN_ACTIVITY.this);View view=LayoutInflater.from(MAIN_ACTIVITY.this).inflate(R.layout.login_dialog, null); Final EditText Username=(EditText)view.findViewById(R

11、.id.AccountEditText);final EditText Password=(EditText)view.findViewById(R.id.PasswordeditText);builder.setView(view);builder.setTitle(登錄對話框);builder.setPositiveButton(确定, new DialogInterface.OnClickListener() Overridepublic void onClick(DialogInterface dialog, int which) / TODO Auto-generated metho

12、d stubString username=Username.getText().toString().trim();String password=Password.getText().toString().trim();String currentuname=吕鹏;String currentpassword=201103010042;try if(.equals(username)|.equals(password)Toast.makeText(MAIN_ACTIVITY.this, 用户名或者密码不能为空, 1).show();MAIN_ACTIVITY.this.finish();i

13、f(!currentuname.equals(username)|!currentpassword.equals(password)Toast.makeText(MAIN_ACTIVITY.this, 用户名或者密码错误, 1).show();MAIN_ACTIVITY.this.finish();if (currentuname.equals(username)¤tpassword.equals(password) Intent intent=new Intent(MAIN_ACTIVITY.this, Splash_Activity.class);Toast.makeText(

14、MAIN_ACTIVITY.this, 登陆成功!, 1).show(); startActivity(intent);MAIN_ACTIVITY.this.finish(); catch (Exception e) / TODO: handle exceptionToast.makeText(MAIN_ACTIVITY.this, 出现异常, 1).show(););builder.setNegativeButton(取消, new DialogInterface.OnClickListener() Overridepublic void onClick(DialogInterface di

15、alog, int which) / TODO Auto-generated method stubMAIN_ACTIVITY.this.finish(););builder.show();3.2 等待模块设计此模块的设计目的为的是练习使用Splash Activity,用于显示个人信息。在XML布局方面,没有采用才布局,主要采用的是JAVA语言布局。在此模块实现了规定时间的延时操作,时间到后,即可通过Intent实现跳转下一个界面。其实现代码如下:public class Splash_Activity extends Activityprivate final int SPLASH_DIS

16、PLAY_LENGHT=1000;/延时时间Overrideprotected void onCreate(Bundle savedInstanceState) / TODO Auto-generated method stubsuper.onCreate(savedInstanceState);TableLayout tableLayout=new TableLayout(this);/使用TableLayout布局setContentView(tableLayout);/加载此布局TableRow tableRow1=new TableRow(this);TableRow tableRow

17、2=new TableRow(this);TextView name=new TextView(this);name.setText(n JAVA课程设计nn+姓名:吕鹏nn+学号:201103010042n+ n班级:11计科信息);/设置显示信息name.setTextColor(Color.BLACK);name.setTextSize(18);TextView textView1=new TextView(this);textView1.setText( 10秒钟等待.);textView1.setTextColor(Color.RED);textView1.setTextSize(2

18、0);ImageView imageView=new ImageView(this);imageView.setImageResource(R.drawable.me);/加载图片tableRow1.addView(imageView);tableRow1.addView(name);tableRow2.addView(textView1);tableLayout.addView(tableRow1);tableLayout.addView(tableRow2);new Handler().postDelayed(new Runnable() Overridepublic void run()

19、 / TODO Auto-generated method stubIntent mianIntent=new Intent(Splash_Activity.this, MainActivity.class);/实现窗口之间的调用Splash_Activity.this.startActivity(mianIntent);/开启下一个ActivitySplash_Activity.this.finish();/关闭当前的Activity, SPLASH_DISPLAY_LENGHT);3.3 系统主界面模块设计3.3.1 主界面XML布局设计 主界面的XML布局非常的简单,只需添加几个Imag

20、eButton即可。在工程目录下的layout 文件夹下,新建activity_main.xml文件,在可视化的布局界面,添加5个ImageButton按钮,并加载与功能相关的图片。相关代码如下:activity_main.xml 3.3.2 主界面背景图片设计 添加手机界面的背景图片,可以提高的欣赏性。下面简单介绍添加背景图片的简单步骤。首先,打开values 文件下的styles.xml,添加如下代码: drawable/mianactivity 其次,打开工程目录下的AndroidManifest.xml文件,加载上面的图片。新建一个新的Activity时,都需要在此文件声明,其加载图片

21、代码和声明窗口代码如下: drawable/mianactivity 3.3.3 主界面功能实现设计此部分采用JAVA语言实现,创建MainActivity.iava文件,首先获取XML文件中的各个按钮的id,为每个按钮添加事件监听器,并且添加事件处理程序,当点击按钮时,就会创建Intent 对象,跳转到相应的界面。运行效果如图2-4所示。MainActivity.iava文件的主要代码如所示:public class MainActivity extends Activity private ImageButton bt_message;private ImageButton bt_tell

22、;private ImageButton bt_net;private ImageButton bt_calculator;private ImageButton bt_music;Overrideprotected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);/加载界面 / 获取按钮的idbt_message=(ImageButton)findViewById(R.id.message);bt_tell=(I

23、mageButton)findViewById(R.id.call);bt_net=(ImageButton)findViewById(R);bt_calculator=(ImageButton)findViewById(R.id.calculator);bt_music=(ImageButton)findViewById(R.id.music);bt_tell.setOnClickListener(new OnClickListener() Overridepublic void onClick(View v) / TODO Auto-generated method stubIntent

24、intent=new Intent(MainActivity.this, Tell_Activity.class);startActivity(intent);/跳转到下一个界面);/* * 调用发短息的界面 */bt_message.setOnClickListener(new OnClickListener() Overridepublic void onClick(View v) / TODO Auto-generated method stubIntent intent=new Intent(MainActivity.this, Message_Activity.class);star

25、tActivity(intent);/finish(););/* * 调用计算器 */bt_calculator.setOnClickListener(new OnClickListener() Overridepublic void onClick(View v) / TODO Auto-generated method stubIntent intent=new Intent(MainActivity.this, Calculator_Activity.class);startActivity(intent););/* * 进入网站选择页面 */bt_net.setOnClickListe

26、ner(new OnClickListener() Overridepublic void onClick(View v) / TODO Auto-generated method stubIntent intent=new Intent(MainActivity.this, Internet_Activity.class);startActivity(intent););3.4 短信和拨号模块设计3.4.1短信功能实现设计 实现此功能,首先创建message_activity.xml文件,在此文件中实现发短信界面的设计,并用相同的方法设计背景图片。这个过程非常的简单,然后创建Message_

27、Activity.java文件,获取按钮的id并为按钮添加事件处理程序。该功能实现最重要的方法就是通过PendingIntent.getBroadcast的方法,实现发送短信的功能。Message_Activity.java文件的部分代码如下:/发送短信button.setOnClickListener(new OnClickListener() Overridepublic void onClick(View v) / TODO Auto-generated method stubString telStr=Message_Activity.this.tel.getText().toStri

28、ng();String note=Message_Activity.this.content.getText().toString();SmsManager sms=SmsManager.getDefault(); /调用系统发短信功能PendingIntent sentintent =PendingIntent.getBroadcast(Message_Activity.this, 0, new Intent(), 0); try if(content.length()70&telStr.length()=11) /设置字数限制List msgs=sms.divideMessage(note

29、); for(String msg:msgs) sms.sendTextMessage(telStr, null, msg, sentintent, null); else sms.sendTextMessage(telStr, null, note, sentintent, null); new AlertDialog.Builder(Message_Activity.this).setMessage(短信发送成功!).create().show(); catch (Exception e) / TODO: handle exception e.printStackTrace(); /Toa

30、st.makeText(Message_Activity.this, 短信发送失败, 1000).show();new AlertDialog.Builder(Message_Activity.this).setMessage(短信发送失败!).create().show(); );/清空内容reset.setOnClickListener(new OnClickListener() Overridepublic void onClick(View v) / TODO Auto-generated method stubtel.setText();content.setText(););3.4

31、.2 拨号功能实现设计拨号功能的实现与短信功能的实现大同小异,具体布局也是相似,具体实现的方法详见课程设计的附件代码部分,这里不再累赘叙述。3.5 计算器模块设计3.5.1 计算器界面设计 计算器界面布局采用XML语言设计,总体界面才线性布局,鉴于计算器的按钮是有规则的按钮,故采用TableRow布局。在layout文件夹中,创建calculator_activity.xml,具体代码详见附件的工程文件夹,效果如下图所示:图5-1 计算器界面布局3.5.2 计算器功能实现设计首先,最基本的我们要先定义一些变量,用来表示按键和文本内容,如数字按键,还有用于显示输出结果的显示器,用于显示记忆内容的文本框,用于显示提示的文本框。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com