欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

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

    • 资源ID:89790006       资源大小:3.26MB        全文页数:29页
    • 资源格式: DOC        下载积分:14.9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要14.9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

    安阳工学院计算机科学与工程学院JAVA程序设计课程综合项目报告项目题目:基于Android平台的手机应用软件设计与实现专业班级:计算机科学与技术(信息技术)11-1学生姓名:吕鹏学生学号:201103010042指导教师姓名:许研 2013年12月摘 要随着IT技术的发展,移动开发已被广泛的应用于社会的各个领域,成为推动社会发展的技术动力。而在移动开发中,Android开发近些年来突飞猛进的发展,在智能手机领域中的市场份额以及超过80%。同样,基于安卓平台的手机应用开发也达到前所未有的高度,各种安卓手机应用软件竞相出现。本次的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.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第四章 系统设计总结27参考文献28第1章 系统目标 实现简单的手机界面操作,包括密码登陆,多个Activity的界面切换和调用,包括等待界面、主界面、发短信界面、拨号界面、计算器界面、音乐播放器、视频播放器、网上冲浪等界面。实现手机界面的一般操作。在此过程中,会熟练掌握Action事件,按钮事件、事件驱动程序、窗口设计。在布局方面,将采用xml语言和java语言混合布局。现将登录界面截图如下: 图1-1 登录界面和主界面在登录界面输入正确密码后,进入等待界面十秒等待后,进入系统主界面,点击ImageButton按钮进入各自的功能实现界面,实现各自的具体操作。第2章 系统功能介绍2.1系统功能总框图 图书馆管理系统功能总框图,如图2-1所示。图2-1 系统功能框架图2.2 模块功能介绍2.2.1 登录模块功能介绍此模块主要采用java语言实现,使用AlertDialog.builder类实现登录对话框。利用此类的方法进行实现登录对话框的标题以及内容。输入登录名和密码后即可检测,密码或者登录名输入错误后就后退出程序,然后重新登录。输入错误后,可以单击“重置”按钮就行清空密码或者登录名,然后重新输入密码和用户名。由于知识有限,本此登录设计采用固定密码和用户名,是本次课程设计的一个不小的遗憾!图2-2 系统登录界面2.2.2 等待模块功能介绍 此模块的设计目的是为了使用Splash Activity窗口设计而特意添加的功能,主要内容包括个人信息介绍。此界面采用RelativeLayout和TableLayout布局实现手机窗口。在此界面使用Runnable类实现了10秒钟的等待时间,以便于进行信息的阅读,十秒过后,界面自动切换到系统主界面,当前界面关闭。图2-3 Splash界面2.2.3系统主界面模块功能介绍 系统主界面采用XML语言进行手机界面的布局,通过添加多个ImageButton进行事件驱动设计。包括发短信、打电话、上网、计算器、音乐播放器(未实现)和视频播放器(未实现)。通过单击相应的按钮,可以跳转到想用的功能界面。图2-4 系统主界面2.2.4短信和拨号模块功能介绍短息和拨号两个界面的界面设计采用XML语言实现,而具体功能采用语言实现。在发短息界面,输入手机号码和短息内容,即可直接发信要发送的对象。在拨号界面,输入手机号即可进行直接拨号,另外,也可单击“间接拨号按钮”调用手机系统拨号程序进行拨号。此两项功能实现较为简单,没有使用价值,只有学习参考价值。图2-4 短信和拨号界面2.2.计算器模块功能介绍计算器模块是本次课程设计中最复杂的部分,计算器模块同样采用上述布局方法和实现方法,可实现普通数据运算和复杂的科学运算以及三角函数的运算。在计算器中添加了智能提示按钮,可对计算器按键进行智能提示,用户可以知道复杂的按钮的具体操作,提高计算器的可行性和实用性。图2- 计算器界面2.2.6网上冲浪模块功能介绍 网上冲浪界面是本次课程设计最有使用的一个方面,通过ImageButton,添加事件处理程序,可以快速访问互联网。主要连接一些自己比较常用的网站,比如安工贴吧、安阳工学院教务管理系统、计算机科学与信息工程学院首页、百度首页、新浪微博和我的QQ空间等。通过这些可以快速进入我经常访问的网页。但此设计没有做成自己的浏览器,而是调用系统浏览器,是这次程序设计的不足之处。图2- 网上冲浪界面第三章 系统功能实现3.1 系统登录模块设计 软件应用系统应该有自己的系统登录管理,这也是出于系统安全方面的考虑,设置用户名和密码登录,就必须设置一个系统登录功能模块。系统登录采用的是固定密码和用户名登录,是本课程设计一个遗憾,缺乏使用价值。3.1.1 登录框布局设计使用XML程序设计创建login.activity.xml文件,使用相对布局,加入EditText控件和TextView控件,实现登录框和密码框的设计。其代码如下:<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android=" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <EditText android:id="+id/AccountEditText" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="+id/AccountTextView" android:layout_alignBottom="+id/AccountTextView" android:layout_alignParentRight="true" android:ems="10" /> <TextView android:id="+id/AccountTextView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_marginLeft="18dp" android:layout_marginTop="30dp" android:text="登录名" android:textSize="20sp" /> <EditText android:id="+id/PasswordeditText" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_below="+id/AccountEditText" android:layout_marginTop="18dp" android:ems="10" android:inputType="textPassword" > <requestFocus /> </EditText> <TextView android:id="+id/PasswordTextView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBottom="+id/PasswordeditText" android:layout_alignLeft="+id/AccountTextView" android:text="密 码" android:textSize="20sp" /></RelativeLayout>布局结果如图所示:图3.1 登录框布局3.1.2 登录对话框设计登录对话框的设计与实现采用JAVA语言实现,实例化AlertDialog.Builder类,此类用作创建手机界面的对话框,实例View类中的方法,加载login.activity布局,即将此布局加载到对话框的里面。在登录对话中可以显示布局里面的内容,运行结果如图2-2 所示,具体实现代码如下: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 Username=(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 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).show();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)&&currentpassword.equals(password) Intent intent=new Intent(MAIN_ACTIVITY.this, Splash_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() Overridepublic 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 Activityprivate 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 TableRow(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(Color.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 Runnable() 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 主界面XML布局设计 主界面的XML布局非常的简单,只需添加几个ImageButton即可。在工程目录下的layout 文件夹下,新建activity_main.xml文件,在可视化的布局界面,添加5个ImageButton按钮,并加载与功能相关的图片。相关代码如下:activity_main.xml<RelativeLayout xmlns:android=" xmlns:tools=" android:layout_width="match_parent" android:layout_height="match_parent"> <ImageButton android:id="+id/call" android:layout_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_content" 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_content" 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_below="+id/message" android:layout_marginTop="26dp" android:layout_toLeftOf="+id/call" android:src="drawable/th_calculator" /> <ImageButton android:id="+id/music" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="+id/call" android:layout_alignTop="+id/calculator" android:src="drawable/th_music" /></RelativeLayout>3.3.2 主界面背景图片设计 添加手机界面的背景图片,可以提高的欣赏性。下面简单介绍添加背景图片的简单步骤。首先,打开values 文件下的styles.xml,添加如下代码:<style name="Main_activity"> <item name="android:windowBackground">drawable/mianactivity</item> </style> 其次,打开工程目录下的AndroidManifest.xml文件,加载上面的图片。新建一个新的Activity时,都需要在此文件声明,其加载图片代码和声明窗口代码如下:<style name="Main_activity"> <item name="android:windowBackground">drawable/mianactivity</item> </style>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;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=(ImageButton)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 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);startActivity(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.setOnClickListener(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_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().toString();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<String> msgs=sms.divideMessage(note); 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(); /Toast.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.2 拨号功能实现设计拨号功能的实现与短信功能的实现大同小异,具体布局也是相似,具体实现的方法详见课程设计的附件代码部分,这里不再累赘叙述。3.5 计算器模块设计3.5.1 计算器界面设计 计算器界面布局采用XML语言设计,总体界面才线性布局,鉴于计算器的按钮是有规则的按钮,故采用TableRow布局。在layout文件夹中,创建calculator_activity.xml,具体代码详见附件的工程文件夹,效果如下图所示:图5-1 计算器界面布局3.5.2 计算器功能实现设计首先,最基本的我们要先定义一些变量,用来表示按键和文本内容,如数字按键,还有用于显示输出结果的显示器,用于显示记忆内容的文本框,用于显示提示的文本框。

    注意事项

    本文(本科毕业设计--基于android平台的手机应用软件设计与实现.doc)为本站会员(知****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

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

    收起
    展开