版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、4 android校园通软件的设计与实现4.1 研究目标(1)了解android应用程序的设计和开发过程;(2) 使用多种组件进行android 平台校园资讯软件的开发。本软件是基于eclipse的开发环境,在android平台上的手机校园资讯软件。4.2 需求分析本软件是android平台的一个校园资讯程序,启动程序后查阅学校相关资讯包括在学校吃住娱乐风景等各方面的讯息。从上面的描述中可以基本了解软件的功能需求:(1) 首先是学校电影院每周电影的更新;(2) 其次有学校的各种资料;(3) 各种校园活动及周边娱乐设施的信息;(4) 校园校景美图查看;(5) 校园生活手册;(6) 扩展内容“我的
2、资料”,及“更多”两个activity。4.3 ui界面设计根据需求分析可以知道,应用程序应包含五个主要的用户界面,这里需要进一步分析每个用户界面中应该包括哪些显示内容。在首页中,需要对学校的大致情况做以介绍,并且有每周影讯的功能。在“分类”中,有各种学校的相关资料。包括娱乐,电影,纪录片,校景,公开课及生活。另外,还有扩展内容“我的资料”及“更多”两个选项卡如图4-1所示。 图4-1 用户界面草图4.4 程序模块设计 从功能需求上分析可以看出,整个应用程序应划分为5个模块,分别是首页、分类、搜索、我的资料和扩展功能区。 首页介绍学校的一个总体情况,分类是整个软件的核心,其中包括了软件的各种主
3、要功能,搜索是一个数据库搜索系统,我的资料是个人资料和数据的一个整合和提供了一些简单的小服务,更多则是后期的一些扩展功能。 在完成用户界面设计、数据库设计和模块设计后,至此程序设计阶段基本完成。4.5 软件功能图校园通软件首页分类娱乐影院信息电影纪录片校景查询热门查询更多我的资料我的课程我的备忘我的日程我的分享图4-2 软件功能图4.6 文件结构与用途在程序开发阶段,首先确定“android平台校园通软件”的工程名为myschool,据程序模块设计的内容,建立myschool工程。myschool工程源代码的结构如图5.1所示。为了使源代码文件的结构更加清晰,myschool工程设置了多个命名
4、空间,分别用来保存用户界面、数据库和工具实体的源代码文件,源代码文件的名称以及说明。图4-2 myschool工程的源代码文件包 名 称文 件 名说 明com.hs.xytmainactivity.javamainactivity所在com.hs.xyt.accountaccountactivity.java“我的资料”的activitycom.hs.xyt.channelchannelactivity.java“分类”的activitycom.hs.xyt.homehomeactivity.java“主页”的activitycom.hs.xyt.moremoreactivity.java“更
5、多”的activitycom.hs.xyt.searchsearchactivity.java“搜索”的activitycom.hs.xyt.widgetwidgetactivity.java当前信息类表4-1 myschool工程的文件用途说明android的资源文件保存在/res的子目录中。其中、/res/anim目录中保存的是产生动画效果的xml文件,/res/drawable/目录中保存的是图像文件,/res/values目录中保存的是用来自定义字符串和颜色的文件,/res/xml目录中保存的是xml格式的数据文件。所有在程序开发阶段可以被调用的资源都保存在这些目录中,具体每个资源文件
6、的用途可以参考表5.2:资源目录文 件说 明animgrallery_in.xml图片进入效果left_in.xml画面转换位置移动动画效果(从左进入)left_out.xml画面转换位置移动动画效果(从左移出)right_in.xml画面转换位置移动动画效果(从右进入)left_out.xml画面转换位置移动动画效果(从右移出)drawableicon1.png这个文件夹里是工程里所用的图片,此处不赘述。icon2.pngicon3.png layouthome.xml“首页”的布局channel.xml“分类”的布局search.xml“搜索”的布局.还有很多的layout,不赘述valu
7、esstyle.xml保存样式的xml文件strings.xml保存字符串的xml的文件drawbles.xmlappwidget的属性文件表4.2 资源文件名称与用途4.7 程序主要代码在介绍myschool的核心代码前,首先了解一下mainactivity.java()。(1) mainactivity.java的部分代码:public static string tab_tag_home = home;public static string tab_tag_channel = channel;public static string tab_tag_account = account;
8、public static string tab_tag_search = search;public static string tab_tab_more = more;imageview mbut1, mbut2, mbut3, mbut4, mbut5;textview mcatetext1,mcatetext2, mcatetext3, mcatetext4, mcatetext5;intent mhomeitent, mchannelintent, msearchintent, maccountintent,mmoreintent;先声明了用到的组件。从代码中可以看出,mainact
9、ivity的主要功能就是软件的导航栏。(2) channelactivity.java的部分代码:private void findviews() fun =(button)findviewbyid(r.id.channel_type_fun);movie=(button)findviewbyid(r.id.channel_type_movie);record=(button)findviewbyid(r.id.channel_type_record);tourism=(button)findviewbyid(r.id.channel_type_tourism);publicity=(butt
10、on)findviewbyid(r.id.channel_type_publicity);clips=(button)findviewbyid(r.id.channel_type_clips); private void setlistensers() fun.setonclicklistener(clickfun);movie.setonclicklistener(clickmovie);record.setonclicklistener(clickrecord);tourism.setonclicklistener(clicktourism);publicity.setonclicklis
11、tener(clickpublicity);clips.setonclicklistener(clickclips);private button.onclicklistener clickfun=new button.onclicklistener()public void onclick(view v)intent funint = new intent();funint.setclass(channelactivity.this, funactivity.class);startactivity(funint); ;从代码中可以看出,widgetentity类中有fun,movie,re
12、cord,tourism,publicity,clips这6个功能模块。而该页的功能就是作为这六个功能的实现也简单描述一下。(3)funactivity.java中的部分代码expandablelistview expandablelist;treeviewadapter adapter;supertreeviewadapter superadapter;button btnnormal, btnsuper;设置了二级菜单显示校内娱乐,三级菜单显示校外娱乐expandablelist.setadapter(adapter);expandablelist.setonchildclickliste
13、ner(new onchildclicklistener()overridepublic boolean onchildclick(expandablelistview arg0, view arg1,int parent, int children, long arg4)string str = 欢迎各位同学积极参加 ;toast.maketext(funactivity.this, str, 300).show();return false;);用toast做了友情小提示。以上是toast(透明试弹出型提示框)的实现代码,其中包括了显示内容,显示类型及显示时间。 public static
14、 final int itemheight = 40;/ 每项的高度public static final int paddingleft = 30;/ 每项的高度private int mypaddingleft = 0;/ 如果是由supertreeview调用,则作为子项需要往右移static public textview gettextview(context context)abslistview.layoutparams lp = new abslistview.layoutparams(viewgroup.layoutparams.fill_parent, itemheight
15、);textview textview = new textview(context);textview.setlayoutparams(lp);textview.setgravity(gravity.center_vertical | gravity.left);return textview;public view getchildview(int groupposition, int childposition,boolean islastchild, view convertview, viewgroup parent)textview textview = gettextview(t
16、his.parentcontext);textview.settext(getchild(groupposition, childposition).tostring();textview.setpadding(mypaddingleft + paddingleft, 0, 0, 0);return textview;public view getgroupview(int groupposition, boolean isexpanded,view convertview, viewgroup parent)textview textview = gettextview(this.paren
17、tcontext);textview.settext(getgroup(groupposition).tostring();textview.setpadding(mypaddingleft + (paddingleft 1), 0, 0, 0);return textview;二级菜单的具体代码。菜单内容实现方式,数据继承位置的设定,及具体显示方式。(4) tourismactivity.java中的部分代码。 public view getview(int position, view convertview, viewgroup parent)viewholder viewholder;
18、if (convertview = null)convertview = inflater.inflate(r.layout.picture_item, null);viewholder = new viewholder();viewholder.title = (textview) convertview.findviewbyid(r.id.title);viewholder.image = (imageview) convertview.findviewbyid(r.id.image);convertview.settag(viewholder); elseviewholder = (viewholder) convertview.gettag();viewholder.title.settext(pictures.get(position).gettitle();viewholder.image.setimageresource(pictures.get(position).getimageid();return
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Snow-7115042064011014-2026教培艺术机构招生引流与家长沟通SOP工具包
- 2026年体育产业六月赛事赞助方案
- 我有闪光点我有闪光点
- 会计半年工作总结合集15篇
- 河北省唐山市迁安市2025-2026学年高二下学期7月期末地理试题(文字版含答案)
- 艺术管理职业规划指南
- 小水电消防安全应急预案
- EIPB技术就业前景
- 湖南省雅礼中学2025-2026学年高二下学期7月期末考试 英语答案
- 《生活科学常识课堂|发现身边的驱蚊原理知识》
- 贵州农商联合银行招聘笔试真题2025
- 煤矿安全生产标准化管理体系2024版与2026版对比分析报告
- 2025-2026学年-浙教版七年级下册数学期末质量检测模拟卷(含答案)
- 反恐怖防范安全风险评估工作指南(试行)
- 2026秋人教版九年级英语上册单词默写
- 体检科收费室工作制度
- 快递公司员工岗位职责及考核标准
- 无尘车间物料包装与拆包规范手册
- 江苏+商会+管理办法
- 医院信息化建设中长期规划(十五五规划2025年)
- 国家中医药管理局《中医药事业发展“十五五”规划》全文
评论
0/150
提交评论