版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要传统WEB应用只能在PC机上使用,不能做到随时随地的使用,为了解决这样的不足,基于Android平台的校园客户端手机应用就应运而生。本设计阐述了在Android平台下校园客户端的设计与实现过程,其目的是让人们能够在基于GoogleAndroid平台的移动设备上享用传统WEB上校园客户端的基本功能。本系统使用android布局技术完成UI的设计,基于Java语言开发完成,在不同型号的设备模拟器上测试通过。系统实现了登录、新闻查看、校园美食、校园风光、查询图书、校园活动、以及个人中心管理。“操作简单,功能实用”这是本软件设计的核心理念,本系统力求创造最好的用户体验。关键词:校园客户端管理系统;ANDROID;客户端;目录TOC\o"1-3"\h\u26480摘要 222452第1章前言 10214231.1课题研究的目的及意义 1031581.2课题的现状 10255471.3课题的内容 11931第2章软件设计及开发工具介绍 12292182.1总体设计 12149772.2开发工具介绍和关键技术 12276482.2.1Eclipse的介绍 1395032.2.2关键技术介绍 142211第3章系统功能设计 1526573.1.用户登录 15136853.2功能模块 15173443.3用户管理 1618681第4章模块开发及编码实现 16197004.1客户端的设计设计ANDROIDUI界面 16231004.2具体功能模块 17107904.2.1登录界面 1792424.2.2功能选择界面 21142374.2.3校园新闻界面 25218554.2.4校园美食用户界面 29226044.2.5图书查看界面 31286344.2.6校园风光界面 32320014.2.7校园活动界面 38265844.2.8个人中心管理界面 4126993总结 4332745参考文献 447746致谢 45前言1.1课题研究的目的及意义移动互联网时代的来临,说明一个崭新的时代开始了。所谓移动互联网是将移动通信和互联网整合在一起,移动设备(包括手机和上网本)可以随时随地地访问互联网资源和应用。智能手机是移动互联网时代一个标志性的客户端工具,它和传统的手机是有区别的,它就像一台“小电脑”,具有独立的操作系统,可以自由安装、卸载软件,具有强大的计算和存储能力,可以通过移动通信网络来实现无线网络接入。对于移动终端设备飞速发展的今天,传统WEB上的应用出现在手机终端是一个大的趋势。而基于Android开发的校园客户端手机应用客户端,正是对这一趋势的良好体现,Android平台下的校园管理系统的开发,能很好的为用户提供方便,用户能通过它能随时随地的了解系统的实时信息,做到信息的实时化。通过Android平台下的校园客户端手机应用客户端的开发,与传统WEB应用进行良好的互补。同时,对于校内的校园手机客户端来说,手机对于学生是必不可少的一个物品,手机客户端这种形式的管理系统,能更加贴近学生的生活习惯,并且适合学生年龄段的习性,这对学生更多的接触到校园信息有一定得促进作用。1.2课题的现状目前,绝大部分的网络应用都还是传统的WEB应用,但面对Android手机如此迅速发展的今天,传统WEB的应用不能满足人们随时随地体验网络应用的想法,所以,出现在手机终端的应用将会越来越多,同时其发展的速度也会越来越快。校内管理系统作为传统WEB应用,也必将在手机客户端上得到应用。1.3课题的内容由此出现大量的应用出现在手机上,基于Android平台的校园管理系统手机客户端是依据现在的形式所开发的,它是一套基于开放性的校园管理系统。整个系统分为新闻查看、校园美食、校园风光、查询图书、校园活动、以及个人中心管理六个部分。校园新闻模块:该模块主要功能是发布校园新闻信息,更新校园动态。校园美食模块:该模块分三个功能模块①.校园餐饮:查看校园内餐饮的场所与特色;②.特色推荐:推荐特色美味的图片及信息,并实时更新动态;③.校园外卖:提供外卖信息与服务。图书查询模块:该模块主要查看新书推荐,查询校园图书,查看校园图书信息,方便借阅。校园风光模块:查看校园风光,了解风光校园特色,了解校园文化。校园活动模块:可组织活动,参与活动,校园组织活动。可填写发起活动时间与地点,参与评论与建议。个人中心管理模块:可查看学期课程表,学业成绩,个人信息管理。第2章软件设计及开发工具介绍为了使软件开发能够顺利进行,使开发人员对系统各个模块的性能、系统接口、系统开发及运行环境和计算机内部处理的逻辑及物理流程有更清晰的认识,更利于源程序的开发,现对系统的总体设计和系统结构设计及开发工具和关键技术做详细说明。2.1总体设计基于ANDROID平台开发的校园管理系统客户端从设计者的角度来看,客户端功能包括新闻查看、校园美食、校园风光、查询图书、校园活动、以及个人中心管理六大部分。校园新闻模块:该模块主要功能是发布校园新闻信息,更新校园动态。校园美食模块:该模块分三个功能模块①.校园餐饮:查看校园内餐饮的场所与特色;②.特色推荐:推荐特色美味的图片及信息,并实时更新动态;③.校园外卖:提供外卖信息与服务。图书查询模块:该模块主要查看新书推荐,查询校园图书,查看校园图书信息,方便借阅。校园风光模块:查看校园风光,了解风光校园特色,了解校园文化。校园活动模块:可组织活动,参与活动,校园组织活动。可填写发起活动时间与地点,参与评论与建议。个人中心管理模块:可查看学期课程表,学业成绩,个人信息管理。2.2开发工具介绍和关键技术2.2.1Eclipse的介绍Eclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentKit,JDK)。Eclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。它主要由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目组成,具体包括四个部分组成——EclipsePlatform、JDT、CDT和PDE。JDT支持Java开发、CDT支持C开发、PDE用来支持插件开发,EclipsePlatform则是一个开放的可扩展IDE,提供了一个通用的开发平台。它提供建造块和构造并运行集成软件开发工具的基础。EclipsePlatform允许工具建造者独立开发与他人工具无缝集成的工具从而无须分辨一个工具功能在哪里结束,而另一个工具功能在哪里开始。Android工程是在Eclipse工具上编写的,进行android工程的编写,首先需要在Eclipse上安装ADT插件,然后指定SDK所在的路径,便可以创建android虚拟机了。在Eclipse下创建虚拟机的步骤如下:(1)安装ADT插件在Eclipse单击菜单栏的Help,在Help里面选中InstallNewSoftware选项,之后便可以出现如下界面:图2.2ADT安装步骤界面指定好你的ADT路径后,便可以安装好ADT插件。(2)导入AndroidSDK安装好ADT插件后,单击Eclipse菜单栏Windows下找到preperence,点击进入,得到如下界面:图2.3AndroidSDK安装界面在左边选项选中Android,在SDKLocation下导入AndroidSDK路径,点击Apply应用,便会导入Android的各个版本。(3)创建虚拟机安装好ADT和导入AndroidSDK成功后,便可以在菜单栏Windows下找到AVDmanage选项,单击进入后便有新建android虚拟机界面,在创建界面设置好虚拟机参数点击确定后,就创建好了一个android虚拟机。创建好虚拟机后,点击开始便可以运行一个android虚拟机,虚拟机运行成功界面如下:图2.4android虚拟机视图虚拟机模拟的是android智能手机的界面,通过操作虚拟机可以体验到android智能手机的部分应用。同时虚拟机是作为开发的android应用运行的场所,他提供基本的人机交互功能。2.2.2关键技术介绍本软件采用java作为开发语言,布局和数据存储是开发本软件的关键技术,布局用来设计用户交互界面,用户界面的设计是否美观和合理直接影响用户体验,因此运用好布局技术是直接和用户相关的,而数据存储技术则记录了用户所有的操作数据和用户所需要提取的数据。在android中,软件UI通常使用xml技术设计,而xml中控件的位置和状态则离不开布局的使用,android中常用的布局有5种,分别是:AbsoluteLayout、LinearLayout、RelativeLayout、FrameLayout、TableLayout,由于布局的使用,并且布局之间可以互相嵌套,使得android软件UI的设计变得非常灵活,即使是一些非常复杂的界面设计,只要合理的使用布局,也会使开发变得很容易。第3章系统功能设计基于Android平台的校园管理系统手机客户端是依据现在的形式所开发的,它是一套基于开放性的校园管理系统。整个系统分为新闻查看、校园美食、校园风光、查询图书、校园活动、以及个人中心管理六个模块。3.1.用户登录用户登录分为两类用户:管理员和学生用户。可以通过登录界面中选定身份登录,服务器根据登录选定的信息选择数据库中的数据表进行匹配,用户名和密码正确则登录成功。3.2功能模块3.2.1校园新闻模块:该模块主要功能是发布校园新闻信息,更新校园动态。3.2.2校园美食模块:该模块分三个功能模块①.校园餐饮:查看校园内餐饮的场所与特色;②.特色推荐:推荐特色美味的图片及信息,并实时更新动态;③.校园外卖:提供外卖信息与服务。3.2.3图书查询模块:在查询界面输入所需查询书籍的书名和作者名,通过服务器端查询数据库返回你所查询的书籍信息,书籍信息包括:书名、作者、出版社名、是否被接、剩余本数等信息。在图书查询功能中,运用到了ANDROID的一个自动完成文本的控件,该控件可以通过你输入的查询信息列出带有你输入字的书名,以方便你的检索。通过此控件,大大的提高了用户检索书籍的效率,同时满足了模糊查询的功能,是用户查询书籍方便、快捷。3.2.4校园风光模块:查看校园风光,了解风光校园特色,了解校园文化。3.2.5校园活动模块:可组织活动,参与活动,校园组织活动。可填写发起活动时间与地点,参与评论与建议。3.2.6个人中心管理模块:可查看学期课程表,学业成绩,个人信息管理。3.3用户管理用户管理模块是管理员对学生用户账号的管理,对于某些特殊原因账号不使用了,比如:学生毕业等原因不再使用账号的问题,管理员有权利对这类账号进行删除,同时可以学生用户的用户名查询学生用户的信息。第4章模块开发及编码实现4.1客户端的设计设计ANDROIDUI界面在Eclipse安装好了ADT插件并且导入了AndroidSDK后,创建一个androidproject,此工程是作为图书馆管理系统的客户端,是为广大用户下载使用的,所以,该UI界面的主要要求是要操作性强和交互简单。客户端的注意事项为各个功能的布局。Androidproject名称:login_1工程结构如图所示:com.example.teacher中包含的是各种工具类和封装的方法;com.example中则是客户端中实现各个功能的类,每一个界面的类都在此包中,详细情况如下:Fouractivity.java是校园饮食的查看界面;Eightactivity.java是个人中心界面;Fiveactivity.java是图书查询界面;MainActivity.java是校园客户端启动界面;newsactivity.java是校园新闻查看界面;Oneactivity.java是用户登录界面;Sevenactivity.java是校园活动查看界面;Twoactivity.java是界面主菜单界面;Sixactivity.java是校园风光界面。4.2具体功能模块4.2.1登录界面登录界面作为系统的门面,登录界面完成的功能是验证所登录用户的账号是否正确,以验证是否有进入系统的权限。登录功能对应的程序名为com.example包下的Oneactivity.java。登录界面如下:图5.4登录界面登录界面主要为验证账号和密码的功能,登录界面分为学生用户登录和管理员登录,其主要代码如下:packagecom.example.login_1;importandroid.app.Activity;importandroid.content.Intent;importandroid.content.SharedPreferences;importandroid.os.Bundle;importandroid.text.Editable;importandroid.text.InputType;importandroid.text.TextWatcher;importandroid.view.View;importandroid.view.View.OnClickListener;importandroid.widget.ArrayAdapter;importandroid.widget.AutoCompleteTextView;importandroid.widget.Button;importandroid.widget.CheckBox;importandroid.widget.EditText;importandroid.widget.Toast;publicclassOneactivityextendsActivity{ AutoCompleteTextViewcardNumAuto; EditTextpasswordET; ButtonlogBT; CheckBoxsavePasswordCB; SharedPreferencessp; StringcardNumStr; StringpasswordStr; /**Calledwhentheactivityisfirstcreated.*/ @Override publicvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); MyApplication.getInstance().addActivity(this);//程序关闭点 setContentView(R.layout.activity_main); cardNumAuto=(AutoCompleteTextView)findViewById(R.id.cardNumAuto); passwordET=(EditText)findViewById(R.id.passwordET); logBT=(Button)findViewById(R.id.logBT); sp=this.getSharedPreferences("passwordFile",MODE_PRIVATE); savePasswordCB=(CheckBox)findViewById(R.id.savePasswordCB); savePasswordCB.setChecked(true);//默认为记住密码 cardNumAuto.setThreshold(1);//输入1个字母就开始自动提示 passwordET.setInputType(InputType.TYPE_CLASS_TEXT |InputType.TYPE_TEXT_VARIATION_PASSWORD); //隐藏密码为InputType.TYPE_TEXT_VARIATION_PASSWORD,也就是0x81 //显示密码为InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD,也就是0x91 cardNumAuto.addTextChangedListener(newTextWatcher(){ @Override publicvoidonTextChanged(CharSequences,intstart,intbefore, intcount){ //TODOAuto-generatedmethodstub String[]allUserName=newString[sp.getAll().size()];//sp.getAll().size()返回的是有多少个键值对 allUserName=sp.getAll().keySet().toArray(newString[0]); //sp.getAll()返回一张hashmap //keySet()得到的是asetofthekeys. //hashmap是由key-value组成的 ArrayAdapter<String>adapter=newArrayAdapter<String>( Oneactivity.this, android.R.layout.simple_dropdown_item_1line, allUserName); cardNumAuto.setAdapter(adapter);//设置数据适配器 } @Override publicvoidbeforeTextChanged(CharSequences,intstart,intcount, intafter){ //TODOAuto-generatedmethodstub } @Override publicvoidafterTextChanged(Editables){ //TODOAuto-generatedmethodstub passwordET.setText(sp.getString(cardNumAuto.getText() .toString(),""));//自动输入密码 } }); //登陆 logBT.setOnClickListener(newOnClickListener(){ @Override publicvoidonClick(Viewv){ //TODOAuto-generatedmethodstub cardNumStr=cardNumAuto.getText().toString(); passwordStr=passwordET.getText().toString(); if(!((cardNumStr.equals("test"))&&(passwordStr .equals("test")))){ Toast.makeText(Oneactivity.this,"密码错误,请重新输入", Toast.LENGTH_SHORT).show(); }else{ if(savePasswordCB.isChecked()){//登陆成功才保存密码 sp.edit().putString(cardNumStr,passwordStr).commit(); } Toast.makeText(Oneactivity.this,"登陆成功,正在获取用户数据……", Toast.LENGTH_SHORT).show(); //跳转到另一个Activity //dosomething Intentintent1=newIntent(Oneactivity.this,Twoactivity.class); startActivity(intent1); } } }); }4.2.2功能选择界面学生通过点击需要查看的用户功能可进入查看,可点击功能有:新闻查看、校园美食、校园风光、查询图书、校园活动、以及个人中心管理六个部分。每个功能模块有自己独立的界面,查看完独立功能可按返回键返回。功能选择界面对应的程序名为com.example.login_1包下的Twoactivity.java。界面如下:选择界面功能主要代码如下:packagecom.example.login_1;importandroid.os.Bundle;importandroid.os.Handler;importandroid.os.Message;importandroid.app.Activity;importandroid.app.ActivityManager;importandroid.app.AlertDialog;importandroid.content.DialogInterface;importandroid.content.Intent;importandroid.view.KeyEvent;importandroid.view.Menu;importandroid.view.View;importandroid.view.View.OnClickListener;importandroid.widget.ImageButton;importandroid.widget.Toast;publicclassTwoactivityextendsActivity{ OnClickListenerlistener1=null; OnClickListenerlistener2=null; OnClickListenerlistener3=null; OnClickListenerlistener4=null; OnClickListenerlistener5=null; OnClickListenerlistener6=null; ImageButtonimageButton1;//新闻 ImageButtonimageButton2;//美食 ImageButtonimageButton3;//图书 ImageButtonimageButton4;//交流 ImageButtonimageButton5;//活动 ImageButtonimageButton6;//信息 privatelongmExitTime=0; @Override protectedvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); MyApplication.getInstance().addActivity(this);//程序关闭点 listener1=newOnClickListener(){ publicvoidonClick(Viewv){ Toast.makeText(Twoactivity.this,"正在获取用户数据……", Toast.LENGTH_SHORT).show(); Intentintent1=newIntent(Twoactivity.this,newsactivity.class); startActivity(intent1); } }; listener2=newOnClickListener(){ publicvoidonClick(Viewv){ Intentintent2=newIntent(Twoactivity.this,Fouractivity.class); startActivity(intent2); } }; listener3=newOnClickListener(){ publicvoidonClick(Viewv){ Intentintent3=newIntent(Twoactivity.this,Fiveactivity.class); startActivity(intent3); } }; listener4=newOnClickListener(){ publicvoidonClick(Viewv){ Intentintent4=newIntent(Twoactivity.this,Sixactivity.class); startActivity(intent4); } }; listener5=newOnClickListener(){ publicvoidonClick(Viewv){ Intentintent5=newIntent(Twoactivity.this,Sevenactivity.class); startActivity(intent5); } }; listener6=newOnClickListener(){ publicvoidonClick(Viewv){ Intentintent6=newIntent(Twoactivity.this,Eightactivity.class); startActivity(intent6); } }; setContentView(R.layout.oneactivity_layout); imageButton1=(ImageButton)findViewById(R.id.imageButton1); imageButton1.setOnClickListener(listener1); imageButton2=(ImageButton)findViewById(R.id.imageButton2); imageButton2.setOnClickListener(listener2); imageButton3=(ImageButton)findViewById(R.id.imageButton3); imageButton3.setOnClickListener(listener3); imageButton4=(ImageButton)findViewById(R.id.imageButton4); imageButton4.setOnClickListener(listener4); imageButton5=(ImageButton)findViewById(R.id.imageButton5); imageButton5.setOnClickListener(listener5); imageButton6=(ImageButton)findViewById(R.id.imageButton6); imageButton6.setOnClickListener(listener6); }publicbooleanonKeyDown(intkeyCode,KeyEventevent){if(keyCode==KeyEvent.KEYCODE_BACK){if((System.currentTimeMillis()-mExitTime)>2000){ObjectmHelperUtils;Toast.makeText(this,"再按一次退出程序",Toast.LENGTH_SHORT).show();mExitTime=System.currentTimeMillis();}else{ MyApplication.getInstance().exit();}returntrue;}returnsuper.onKeyDown(keyCode,event);}}4.2.3校园新闻界面校园新闻界面可以事实的查看校园新闻,了解校园动态。通过左右滑动效果可以更加直观的看到图文详情。校园新闻是以图片加文字的组合,增加可阅读性。界面美观,功能完美。校园新闻功能对应的程序名为com.example.login_1包下的newsactivity.java。校园新闻功能主要代码如下:packagecom.example.login_1;importjava.util.ArrayList;importandroid.app.Activity;importandroid.os.Bundle;importandroid.os.Parcelable;importandroid.support.v4.view.PagerAdapter;importandroid.support.v4.view.ViewPager;importandroid.support.v4.view.ViewPager.OnPageChangeListener;importandroid.view.LayoutInflater;importandroid.view.View;importandroid.view.ViewGroup;importandroid.view.Window;importandroid.view.View.OnClickListener;importandroid.view.ViewGroup.LayoutParams;importandroid.widget.ImageView;importandroid.widget.TextView;importandroid.widget.Toast;publicclassnewsactivityextendsActivity{ privateViewPagerviewPager; privateArrayList<View>pageViews; privateImageViewimageView; privateImageView[]imageViews; //包裹滑动图片LinearLayout privateViewGroupmain; //包裹小圆点的LinearLayout privateViewGroupgroup; privateTextViewtv1; privateTextViewtv2; privateTextViewtv3;/**Calledwhentheactivityisfirstcreated.*/@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);//设置无标题窗口requestWindowFeature(Window.FEATURE_NO_TITLE);LayoutInflaterinflater=getLayoutInflater();Viewv1=inflater.inflate(R.layout.new_01_layout,null);Viewv2=inflater.inflate(R.layout.new_02_layout,null);Viewv3=inflater.inflate(R.layout.new_03_layout,null);pageViews=newArrayList<View>();pageViews.add(v1);pageViews.add(v2);pageViews.add(v3);imageViews=newImageView[pageViews.size()];main=(ViewGroup)inflater.inflate(R.layout.main,null);group=(ViewGroup)main.findViewById(R.id.viewGroup);viewPager=(ViewPager)main.findViewById(R.id.guidePages);for(inti=0;i<pageViews.size();i++){imageView=newImageView(newsactivity.this);imageView.setLayoutParams(newLayoutParams(20,20));imageView.setPadding(20,0,20,0);imageViews[i]=imageView;if(i==0){//默认选中第一张图片imageViews[i].setBackgroundResource(R.drawable.page_indicator_focused1);}else{imageViews[i].setBackgroundResource(R.drawable.page_indicator);}group.addView(imageViews[i]);}setContentView(main);//监听子页面事件tv1=(TextView)v1.findViewById(R.id.textView1);tv1.setOnClickListener(newTextViewOnClickListener());tv2=(TextView)v2.findViewById(R.id.textView2);tv2.setOnClickListener(newTextViewOnClickListener());tv3=(TextView)v3.findViewById(R.id.textView3);tv3.setOnClickListener(newTextViewOnClickListener());viewPager.setAdapter(newGuidePageAdapter());viewPager.setOnPageChangeListener(newGuidePageChangeListener());}//事件监听器privateclassTextViewOnClickListenerimplementsOnClickListener{ @Override publicvoidonClick(Viewv){ //TODOAuto-generatedmethodstub Toast.makeText(newsactivity.this,((TextView)v).getText(),Toast.LENGTH_LONG).show(); }}//指引页面数据适配器privateclassGuidePageAdapterextendsPagerAdapter{@OverridepublicintgetCount(){returnpageViews.size();}@OverridepublicbooleanisViewFromObject(Viewarg0,Objectarg1){returnarg0==arg1;}@OverridepublicintgetItemPosition(Objectobject){//TODOAuto-generatedmethodstubreturnsuper.getItemPosition(object);}@OverridepublicvoiddestroyItem(Viewarg0,intarg1,Objectarg2){//TODOAuto-generatedmethodstub((ViewPager)arg0).removeView(pageViews.get(arg1));}@OverridepublicObjectinstantiateItem(Viewarg0,intarg1){//TODOAuto-generatedmethodstub((ViewPager)arg0).addView(pageViews.get(arg1));returnpageViews.get(arg1);}@OverridepublicvoidrestoreState(Parcelablearg0,ClassLoaderarg1){//TODOAuto-generatedmethodstub}@OverridepublicParcelablesaveState(){//TODOAuto-generatedmethodstubreturnnull;}@OverridepublicvoidstartUpdate(Viewarg0){//TODOAuto-generatedmethodstub}@OverridepublicvoidfinishUpdate(Viewarg0){//TODOAuto-generatedmethodstub}}//指引页面更改事件监听器privateclassGuidePageChangeListenerimplementsOnPageChangeListener{@OverridepublicvoidonPageScrollStateChanged(intarg0){//TODOAuto-generatedmethodstub}@OverridepublicvoidonPageScrolled(intarg0,floatarg1,intarg2){//TODOAuto-generatedmethodstub}@OverridepublicvoidonPageSelected(intarg0){for(inti=0;i<imageViews.length;i++){imageViews[arg0].setBackgroundResource(R.drawable.page_indicator_focused1);if(arg0!=i){imageViews[i].setBackgroundResource(R.drawable.page_indicator);}}}}}4.2.4校园美食用户界面校园美食用户界面是以图片的形式展示美食的图片以及地址,通过图片可以更加直观的看到自己对美食的喜好,选择清晰明了。里面可以通过查看校园餐饮,查看校园美食的推荐地址。特色推荐,可以查看推荐的特色美味。还推出了校园外卖,查看外卖信息,以及外卖的东西的图片以及价格的展示。校园美食功能对应的程序名为com.example.login_1包下的Fouractivity.java。校园美食用户界面如下:主要代码如下:packagecom.example.login_1;importandroid.app.TabActivity;importandroid.content.Intent;importandroid.content.res.Resources;importandroid.os.Bundle;importandroid.widget.TabHost;publicclassFouractivityextendsTabActivity{/**Calledwhentheactivityisfirstcreated.*/@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.threeactivity_layout);Resourcesresources=getResources();TabHosttabHost=getTabHost();TabHost.TabSpec spec;Intentintent;intent=newIntent(this,Activity1.class);spec=tabHost.newTabSpec("ssss").setIndicator("校园餐饮",resources.getDrawable(R.drawable.btn_star_big_on)).setContent(intent);tabHost.addTab(spec);intent=newIntent(this,Activity2.class);spec=tabHost.newTabSpec("dadd").setIndicator("特色推荐",resources.getDrawable(R.drawable.btn_star_big_on)).setContent(intent);tabHost.addTab(spec);、intent=newIntent(this,Activity3.class);spec=tabHost.newTabSpec("sdsd").setIndicator("校内外卖",resources.getDrawable(R.drawable.btn_star_big_on)).setContent(intent);tabHost.addTab(spec);、tabHost.setCurrentTab(1);}}4.2.5图书查看界面图书查看界面可以看到推荐的新书,通过上下滑动效果展示最新退出的新书。可以通过校园图书管理系统进行查看与借阅。该界面的设计总体来说比较美观,操作简单,使用方便,功能完善。在查看完图书之后可以按安卓自带的返回键按钮进行返回,返回后的的界面是功能选择主界面。图书查看功能对应的程序名为com.example.login_1包下的Fiveactivity.java。图书查看界面如下:图书查看代码如下:packagecom.example.login_1;importandroid.app.Activity;importandroid.os.Bundle;publicclassFiveactivityextendsActivity{/**Calledwhentheactivityisfirstcreated.*/@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.fouractivity_layout);}}4.2.6校园风光界面校园风光界面可以通过图片的形式查看校园风光,了解校园特色。通过左右滑动进行图片切换,操作更加便捷。校园风光界面对应的程序名为om.example.login_1包下的Sixactivity.java。校园风光界面如下:校园风光代码如下:packagecom.example.login_1;importjava.util.ArrayList;importandroid.app.Activity;importandroid.os.Bundle;importandroid.os.Parcelable;importandroid.support.v4.view.PagerAdapter;importandroid.support.v4.view.ViewPager;importandroid.support.v4.view.ViewPager.OnPageChangeListener;importandroid.view.LayoutInflater;importandroid.view.View;importandroid.view.ViewGroup;importandroid.view.Window;importandroid.view.View.OnClickListener;importandroid.view.ViewGroup.LayoutParams;importandroid.widget.ImageView;importandroid.widget.TextView;importandroid.widget.Toast;publicclassSixactivityextendsActivity{ privateViewPagerviewPager; privateArrayList<View>pageViews; privateImageViewimageView; privateImageView[]imageViews; //包裹滑动图片LinearLayout privateViewGroupmain; //包裹小圆点的LinearLayout privateViewGroupgroup; privateTextViewtv1; privateTextViewtv2; privateTextViewtv3;/**Calledwhentheactivityisfirstcreated.*/@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);//设置无标题窗口requestWindowFeature(Window.FEATURE_NO_TITLE);LayoutInflaterinflater=getLayoutInflater();Viewv1=inflater.inflate(R.layout.photo01_layout,null);Viewv2=inflater.inflate(R.layout.photo02_layout,null);Viewv3=inflater.inflate(R.layout.photo03_layout,null);pageViews=newArrayList<View>();pageViews.add(v1);pageViews.add(v2);pageViews.add(v3);imageViews=newImageView[pageViews.size()];main=(ViewGroup)inflater.inflate(R.layout.main,null);group=(ViewGroup)main.findViewById(R.id.viewGroup);viewPager=(ViewPager)main.findViewById(R.id.guidePages);for(inti=0;i<pageViews.size();i++){imageView=newImageView(Sixactivity.this);imageView.setLayoutParams(newLayoutParams(20,20));imageView.setPadding(20,0,20,0);imageViews[i]=imageView;if(i==0){//默认选中第一张图片imageViews[i].setBackgroundResource(R.drawable.page_indicator_focused1);}else{imageViews[i].setBackgroundResource(R.drawable.page_indicator);}group.addView(imageViews[i]);}setContentView(main);//监听子页面事件tv1=(TextView)v1.findViewById(R.id.textView1);tv1.setOnClickListener(newTextViewOnClickListener());tv2=(TextView)v2.findViewById(R.id.textView2);tv2.setOnClickListener(newTextViewOnClickListener());tv3=(TextView)v3.findViewById(R.id.textView3);tv3.setOnClickListener(newTextViewOnClickListener());viewPager.setAdapter(newGuidePageAdapter());viewPager.setOnPageChangeListener(newGuidePageChangeListener());}//事件监听器privateclassTextViewOnClickListenerimplementsOnClickListener{ @Override publicvoidonClick(Viewv){ //TODOAuto-generatedmethodstub Toast.makeText(Sixactivity.this,((TextView)v).getText(),Toast.LENGTH_LONG).show(); }}//指引页面数据适配器privateclassGuidePageAdapterextendsPagerAdapter{@OverridepublicintgetCount(){returnpageViews.size();}@OverridepublicbooleanisViewFromObject(Viewarg0,Objectarg1){returnarg0==arg1;}@OverridepublicintgetItemPosition(Objectobject){//TODOAuto-generatedmethodstubreturnsuper.getItemPosition(object);}@OverridepublicvoiddestroyItem(Viewarg0,intarg1,Objectarg2){//TODOAuto-generatedmethodstub((ViewPager)arg0).removeView(pageViews.get(arg1));}@OverridepublicObjectinstantiateItem(Viewarg0,intarg1){//TODOAuto-generatedmethodstub((ViewPager)arg0).addView(pageViews.get(arg1));returnpageViews.get(arg1);}@OverridepublicvoidrestoreState(Parcelablearg0,ClassLoaderarg1){//TODOAuto-generatedmethodstub}@OverridepublicParcelablesaveState(){//TODOAuto-generatedmethodstubreturnnull;}@OverridepublicvoidstartUpdate(Viewarg0){//TODOAuto-generatedmethodstub}@OverridepublicvoidfinishUpdate(Viewarg0){//TODOAuto-generatedmethodstub}}//指引页面更改事件监听器privateclassGuidePageChangeListenerimplementsOnPageChangeListener{@OverridepublicvoidonPageScrollStateChanged(intarg0){//TODOAuto-generatedmethodstub}@OverridepublicvoidonPageScrolled(intarg0,floatarg1,intarg2){//TODOAuto-generatedmethodstub}@OverridepublicvoidonPageSelected(intarg0){for(inti=0;i<imageViews.length;i++){imageViews[arg0].setBackgroundResource(R.drawable.page_indicator_focused1);if(arg0!=i){imageViews[i].setBackgroundResource(R.drawable.page_indicator);}}}}}4.2.7校园活动界面校园活动可发布或查看校园活动,更新校园活动信息。可参与评论,并且及时更新。这样可以增加互动性,增强校园同学们之间的联系。校园活动界面对应的程序名为om.example.login_1包下的Sevenactivity.java。校园风光界面如下: 校园风光代码如下:packagecom.example.login_1;importjava.util.ArrayList;importandroid.app.Activity;importandroid.os.Bundle;importandroid.os.Parcelable;importandroid.support.v4.view.PagerAdapter;importandroid.support.v4.view.ViewPager;importandroid.support.v4.view.ViewPager.OnPageChangeListener;importandroid.view.LayoutInflater;importandroid.view.View;importandroid.view.ViewGroup;importandroid.view.Window;importandroid.view.View.OnClickListener;im
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025文山州工商信息管理学校工作人员招聘考试试题
- 2025昆明市晋宁区安全管理学校工作人员招聘考试试题
- 2025敦煌艺术旅游中等专业学校工作人员招聘考试试题
- 市政工程倒虹井施工技术方案
- 2026年智能农业技术报告及未来五至十年行业发展报告
- 初中化学电解水实验微型化装置的废弃物处理与环保再生课题报告教学研究课题报告
- 2026年无人驾驶物流运输报告及未来五至十年配送效率报告
- 2026年自动驾驶安全标准报告及未来五至十年智能交通报告
- 2026年生物基材料在包装行业的创新应用报告
- 26年基础护理服务老年友好机构建设课件
- 2026年人教版(新教材)小学信息技术三年级全一册第二学期(第5-8单元)期末质量检测卷及答案(二套)
- 2026内蒙古赤峰市人大常委会办公室所属事业单位竞争性比选人员3人备考题库及一套完整答案详解
- 四川-(2025年)高考四川卷历史高考真题(含答案)
- 《金融大数据分析》试题及答案
- JG/T 368-2012钢筋桁架楼承板
- 大厦综合物业管理服务投标方案
- 医院医疗设备管理及维修
- 混凝土搅拌站消防培训课件
- 土地制度与政策2016.4
- 生育服务证办理承诺书
- 部队安全员职责
评论
0/150
提交评论