基于Android平台的手机应用软件设计与实现毕业设计(20页).doc

上传人:1595****071 文档编号:37052746 上传时间:2022-08-29 格式:DOC 页数:20 大小:369KB
返回 下载 相关 举报
基于Android平台的手机应用软件设计与实现毕业设计(20页).doc_第1页
第1页 / 共20页
基于Android平台的手机应用软件设计与实现毕业设计(20页).doc_第2页
第2页 / 共20页
点击查看更多>>
资源描述

《基于Android平台的手机应用软件设计与实现毕业设计(20页).doc》由会员分享,可在线阅读,更多相关《基于Android平台的手机应用软件设计与实现毕业设计(20页).doc(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

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

2、的JAVA课程设计将基于安卓的平台,因为安卓开发主要基于JAVA语言和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.

3、2.6网上冲浪模块功能介绍9第三章 系统功能实现103.1 系统登录模块设计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第四章 系统设计总

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

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

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

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

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

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

10、码如下:protected void onCreate(Bundle 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 Use

11、rname=(EditText)view.findViewById(R.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

12、 which) / TODO Auto-generated method 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).s

13、how();MAIN_ACTIVITY.this.finish();if(!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, Spl

14、ash_Activity.class);Toast.makeText(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() Overridepubli

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

16、ityprivate final int SPLASH_DISPLAY_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 T

17、ableRow(this);TableRow tableRow2=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(Col

18、or.RED);textView1.setTextSize(20);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 Runna

19、ble() Overridepublic void run() / 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 主界面XM

20、L布局设计 主界面的XML布局非常的简单,只需添加几个ImageButton即可。在工程目录下的layout 文件夹下,新建activity_main.xml文件,在可视化的布局界面,添加5个ImageButton按钮,并加载与功能相关的图片。相关代码如下:activity_main.xmlRelativeLayout xmlns:android= xmlns:tools= android:layout_width=match_parent android:layout_height=match_parent ImageButton android:id=+id/call android:la

21、yout_width=wrap_content android:layout_height=wrap_content android:layout_alignBaseline=+id/message android:layout_alignBottom=+id/message android:layout_marginLeft=18dp android:layout_toRightOf=+id/message android:src=drawable/th_phone ImageButton android:id=+id/message android:layout_width=wrap_co

22、ntent android:layout_height=wrap_content android:layout_alignParentLeft=true android:layout_alignParentTop=true android:layout_marginLeft=18dp android:layout_marginTop=86dp android:src=drawable/th_message ImageButton android:id=+id/net android:layout_width=wrap_content android:layout_height=wrap_con

23、tent android:layout_alignBaseline=+id/call android:layout_alignBottom=+id/call android:layout_marginLeft=26dp android:layout_toRightOf=+id/call android:src=drawable/tb_intent ImageButton android:id=+id/calculator android:layout_width=wrap_content android:layout_height=wrap_content android:layout_bel

24、ow=+id/message android:layout_marginTop=26dp android:layout_toLeftOf=+id/call android:src=drawable/th_calculator 3.3.2 主界面背景图片设计 添加手机界面的背景图片,可以提高的欣赏性。下面简单介绍添加背景图片的简单步骤。首先,打开values 文件下的styles.xml,添加如下代码: drawable/mianactivity 其次,打开工程目录下的AndroidManifest.xml文件,加载上面的图片。新建一个新的Activity时,都需要在此文件声明,其加载图片代码和

25、声明窗口代码如下: drawable/mianactivity3.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;pri

26、vate 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=(Image

27、Button)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 inte

28、nt=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);startActivity(i

29、ntent);/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.setOnClickListener(new OnClickListener()

30、 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_Activity.java文件,获取按钮的id并为按钮

31、添加事件处理程序。该功能实现最重要的方法就是通过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().toString();String note=Message_Ac

32、tivity.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); for(String msg:msgs) sms

33、.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(); /Toast.makeText(Message_Activit

34、y.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.2 拨号功能实现设计拨号功能的实现与短信功能的实现大同小异,具

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

36、ate()函数中将这些变量与calculator_activity.xml中的视图绑定,同时为按键绑定按键监听器actionPerformed.。代码详见工程文件。然后创建Calculator_Activity.java文件,在这个文件中,首先实现的是actionPerformed()函数。此函数的功能用于计算器的整体操作,包括检测输入是否合法,以及判断输入的列别,。如果输入的是数字或者运算符,就将新输入的命令增加到缓存的字符串Tipcommandmand中,并显示到显示器中。如果输入的是角度切换按钮,则将相应的标志位改变,并将当前是角度还是弧度显示出来,如果输入的是退格键,则先通过函数TTO判断是要删掉几个字符串,有可能是一个、两个、也可能是多个。若果当前标志位是应经输入的“=”的标志位。其次,我们介绍print()函数,这个函数根据变量vbegin来判断当前显示内容后面追加字符串还是清零后显示。然后是right()函数,这个函数通过判断字符串内容是否只包含按键上面的字符来判断当前字符串是否合法,合法则返回ture,反之,返回false.。最后介绍是TTO()函数,判断当前字符串最后一个字符的内容来决定是删除一个、两个、还是单

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

当前位置:首页 > 教育专区 > 小学资料

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁