基于Android的移动学习平台设计与开发_第1页
基于Android的移动学习平台设计与开发_第2页
基于Android的移动学习平台设计与开发_第3页
基于Android的移动学习平台设计与开发_第4页
基于Android的移动学习平台设计与开发_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于Android的移动学习平台设计与开发摘要:随着现代网络技术的发展,方便快捷的生活方式成为了人们向往的生活的方式,方便的学习方式也成为了学生们平时学习的需求。在国外,移动学习平台已经发展有些规模,在一些学校开始尝试使用移动学习平台进行教育。在国内,移动学习平台的发展还是比较任重而道远。移动学习平台是能够通过移动电子设备提供在任何时间、任何地点能为学习者提供学习帮助的一种新型平台。而针对现在的学生每天使用手机的时间占比的增长,使用语言,设计一款基于Android的移动学习平台。本文结合开发过程,阐述了一些基于Android的移动学习平台的技术要点,并对一些要点进行了深度的分析探讨。关键词:Android;移动学习;教育;Java

DesignanddevelopmentofmobilelearningplatformbasedonAndroidAbstract:withthedevelopmentofmodernnetworktechnology,theconvenientandfastwayoflifehasbecomethewayoflifethatpeopleyearnfor,andtheconvenientwayoflearninghasalsobecometheneedsofstudentsintheirdailystudy.Inforeigncountries,mobilelearningplatformshavedevelopedtosomeextent,andsomeschoolshavestartedtotrytousemobilelearningplatformsforeducation.InChina,thedevelopmentofmobilelearningplatformisstillalongwaytogo.Mobilelearningplatformisanewtypeofplatformthatcanprovidelearningassistanceforlearnersatanytimeandanyplacethroughmobileelectronicdevices.Aimingattheincreasingproportionofstudentsusingmobilephoneseveryday,anandroid-basedmobilelearningplatformisdesignedbyusinglanguage.Combinedwiththedevelopmentprocess,thispaperexpoundsthetechnicalkeypointsofsomeandroid-basedmobilelearningplatform,andmakesin-depthanalysisanddiscussiononsomekeypoints.Keywords:Android,Mobilelearning,Education,Java

目录TOC\o"1-3"\h\u第1章绪论 61.1研究背景 61.2本课题的研究现状及发展趋势 61.3研究目的及意义 71.4本章小结 8第2章系统开发相关技术 92.1Android系统介绍 92.1.1Android系统选择 92.1.2Android系统架构 92.1.3Android应用程序架构 112.2开发环境 122.2.1Androidstudio开发工具 122.2.2AndroidSoftwareDevelopmentKit 122.2.3开发环境搭建 132.3开发语言 132.4SQLite数据库 142.5本章小结 15第3章系统需求分析 163.1可行性分析 163.1.1技术可行性 163.1.2操作可行性 163.1.3经济可行性 173.2功能描述 173.3用户用例 173.4数据字典 183.5数据流图 193.6系统性能分析 203.6.1运行分辨率 203.6.2运行流畅度 213.6.3内存占用和释放 213.7本章小结 21第4章系统概要设计 224.1系统总体设计 224.2移动学习平台功能模块设计 224.2.1登录注册功能模块设计 224.2.2图书资源功能模块设计 234.2.3问题答疑功能模块设计 254.2.4在线咨询功能模块设计 264.3数据库设计 264.3.1数据库设计原则 264.3.2数据库E-R图 274.3.3数据库实体图 284.3.4数据库表设计 304.4本章小结 31第5章系统实现 325.1系统功能模块和代码展示 325.1.1登录界面 325.1.2图书浏览模块 355.1.3问题答疑模块 395.1.4咨询聊天模块 435.1.5个人信息模块 485.2本章总结 50第6章系统测试 516.1测试方法 516.1.1.黑盒测试 516.1.2.白盒测试 516.2测试结果与分析 526.2.1登录功能测试 526.2.2注册功能测试 526.2.3菜单功能测试 536.2.4头像功能测试 536.3本章小结 54总结与展望 55致谢 56参考文献 57

第1章绪论研究背景在互联网的迅速发展和网络终端设备的普及的趋势之下,“互联网+”的发展越来越广泛,也越来越强。互联网科技正在渗透着人们的生活,给人们带来越来越多的便利。随着“互联网+”的推行,互联网开始加入到更多的传统行业中,也创造了许多新兴行业,不断推动了社会经济的发展,推动演化出新的经济体系。为许多传统行业带来了新的生机,也为社会开创了许多新兴行业,为社会发展带来了许多机会。在“互联网+”的推动下,人们的生活方式也日新月异起来,随着互联网技术不断地深入我们的生活中,人们对互联网科技的依赖也不断地提升。生活中的许多地方就需要依靠互联网的方式来帮助人们来进行。而教育作为一个每个人都必须经过的一个必要服务模式,有时候就需要借助一些互联网科级的力量来为求知者展示知识的魅力;随着人类文明的发展,学生所需要学习的知识从古代的五车发展到了现在的图书馆,所需要学习的知识在不断的增加。再加上在现代这种快节奏时代的社会中,如何快速的学习也成为了学生们的一种需求。移动学习模式能够在网络科技发达的情况下,在任何时间任何地点为人们提供学习帮助。移动学习平台不但能够为用户提供所需的知识库,提供便利的学习帮助,也能够帮助师生建立无距离式的交流,是一种符合现在社会形式和用户需求的新式教育平台。本课题的研究现状及发展趋势随着当前社会发展的趋势,很多学校,无论什么教育层次的学校都开始引进新的科技设备加入到学生的教育生活中,从教学上课到宿舍管理,都开始采用信息化的方式,规范处理并管理。在这些的基础上,移动学习才会有更好的发展方向。目前在国外,已经很多相关的研究项目,例如欧洲的M-Learning项目,挪威的KNIWMOBILE项目,麻省理工OLPC项目。和非洲的农村的移动学习。反观国内的移动学习项目发展得较少,实验范围较小,移动学习的发展还有待发展。目前国内的学生学习方式也有这不同的方式。(1)传统的学校课堂学习方式;(2)假期报选补习班进行课外拓展的学习方式;(3)课堂下,结合学校课本内容,进行自我复习和预习的学习方式。在这些学习方式中,报补习班的学习方式下,许多的补习班会给很多经济一般的家庭造成严重的负担,而学生的自我学习有时也会造成事倍功半的效果。所以除了传统的学校课堂学习方式以外,其他的学习方式基本上对学生整个家庭来说是费时费力。移动学习方式,只需要通过一个简单的移动电子设备就能进行,如果在学校的合作帮助下,创建一个良好的移动学习平台,不仅能够为许多家庭节省许多开支,也能帮助学生进行快速有效地学习;我国在移动学习领域的发展还是有很长的路要走,我国准备在未来十几年中,将移动学习的发展分为三个阶段。(1)第一阶段为基础环境建设阶段,无线网络是移动网络发展的基础,将无线网络资源发展成适应移动学习的基础环境是移动学习发展的基础,然后逐步形成国家、地区、组织三个层次额网络生态学习环境。这个阶段按我国的社会发展趋势来看,这个阶段在一些一线城市的基础环境已经搭建完成,其他城市的建设还有待发展,这个阶段还需要移动服务商和厂商进行推动发展。(2)第二阶为段知识体系建设阶段,该阶段需要在第一阶段完善的基础上进行,第二阶段需要进行大规模的知识体系的构建,将现有的知识体系进行重新整合研究,然后添加新的学习内容,完成学习内容有关化以及已有资源共享化的共享兼容;针对不同的学习主题就需要构建相应需求的知识体系和构架去为移动学习做准备。这个阶段则需要众多的教育机构进行联合推动。(3)第三个阶段为学习服务建设阶段,经过前两个阶段的铺垫后,第三阶段就是移动学习发展的高潮,也是我国教育新发展的开始,是将我国全面教育社会化发展进程的新起点,这个阶段则由政府进行推动。研究目的及意义“互联网+”的推出就是为了方便人类的生活,而移动学习的推动和发展也不外于此。很多教育行业认为移动学习的发展会对现在许多高校的生存环境造成一些威胁性的冲击。实际不然,移动学习的目的使为了让人们能够真正意义上做到活到老学到老,为学生和老师之间建立一个更好的零距离沟通学习的桥梁。移动学习是基于学校教育发展起来,它以间歇性的方式穿插在学生的休息片段中,能够方便学生在课余时间中灵活地学习。在移动学习的课程中可以采用LPM之类的学习过程管理模式,加强学生的学习效率。移动学习平台在阅读方面有着强大的图书资源,会减少纸张图书的消耗。而且现在每人都会必备移动电子设备,随着智能终端的普及,采用移动学习方式,会减少一些学习中所需要的一些设备,实现事半功倍的学习效果。本章小结本章主要分析了移动学习的研究背景,讲述了在目前在国内外移动学习的发展情况,并简单讲述了我国的移动学习的发展计划。最后分析了移动学习研究的目的和意义。对本文所研究的内容目的进行了简单的介绍。后面会逐渐讲解软件设计开发中的问题和情况。第2章系统开发相关技术Android系统介绍Android系统选择移动智能设备发展截止到2019年末,市场上目前已有的并且比较成熟的操作系统有Android、iOS、WindowsMobile和BlackBerryOS等。但截止到目前,微软从2019年12月10日开始宣布停止为Windows10Mobile提供新的安全更新和安全补丁,和Android和iOS斗争十余年的Windows操作系统从此退出了移动设备的市场,而BlackBerryOS也早在2018年4月1日开始停止了应用商店的付费支持,黑莓也逐渐淡出移动设备市场。另外华为的鸿蒙系统还未加入移动设备市场中。所以目前的移动设备的市场由Android和ios两大巨头占据足市场最大份额。虽然只剩下Android和iOS两家独大,但明显Android的市场份额还是要大于ios。所以目前市场上Android操作系统的市场份额仍是稳居第一。Android系统架构Android系统是一种基于Linux的手机操作系统,它是一个真正开放并且自由的移动操作系统,它主要部署在以智能手机、平板电脑等为代表的移动智能设备上。Android操作系统和其他操作系统有着自己的分层,Android操作系统的内部结构非常清晰,由上至下主要包括四层:应用程序程序层、应用框架层、核心类库和Android运行时层、Linux内核。Android体系架构,如图2-1所示。(1)应用程序层。应用程序层位于Android系统框架的顶层,应用程序是指用java语言编写的运行在虚拟机上的程序,它不同于系统应用,它不仅包含了Android的一些基本应用(Email,时钟,日历等),而且也包括了用户自己安装的第三方应用程序(如各QQ,微信之类的APP应用软件)。(2)应用框架层。应用框架层是Google发布的以Java类的形式为应用程序提供许多高级的服务的API框架。其中包括了许多的管理器,这些管理又同时对应Android的相应组件。开发人员可以在开发过程中自由免费使用这些框架,帮助开发人员简化开发过程,但相应的开发人员在开发过程中需要遵守这些框架的开发原则,这样才能合理开发出优秀的应用程序。(3)核心类库与运行时层。这一层和应用框架层有关,当开发人员在开发过程中使用到一些Android应用框架时,Android包含一些C/C++库,这些库就能来支持开发者使用的各个组价,为开发者提供更好的服务。主要依靠核心类库层和运行层。这一层包括了主要的核心类库:Bionic、Webkit、LibWebCore

、SQLite和OpenGL等。其中Bionic提供了C/C++标准库的功能,Webkit和LibWebCore

提供了浏览器引擎。SQLite则负责Android系统的数据存储。OpenGL主要为底层的硬件3D提供加速功能等。(4)Linux内核与硬件抽象层。Linux内核是Android系统框架的基础,也就位于Android系统框架的底层,在Linux内核中,它提供了基本的系统功能,比如进程管理,内存管理,设备管理(如摄像头,键盘,显示器)。如果从事开发行业,只需要关注具体功能模块的实现,而不需要深入到Linux内核中去关注具体细节。图2-1Android体系架构图Android系统,最初是由安迪·罗宾(AndyRubin)开发出来的。在2007年11月5日,Google公司正式向外展示了这款名为Android的移动操作系统。2008年9月,Google公司发布了Android的最早的版本:Android1.0。系统推出以后就席卷全球,成为全球最受欢迎的手机操作系统。而Google对Android更新的速度也非常快,基本上半年就有一个新的版本发布,而且每个版本Google都以甜品的名字作为版本名,直到Android10开始,Google宣布Android系统做出巨大改变,新的吧版本也开始用版本号命名。与其他移动操作系统相比,Android系统具有以下一些优点;(1)平台开放性。Android是一款真正开放、开源的移动操作系统。Google公司在正式发布Android操作系统的当天便为了Android发展创立了一个联盟组织,该组织由多个手机开发商、电信运营商、芯片制造商和软件开发商组成,一起组成开放手持设备联盟(OpenHandsetAlliance)来共同推进Android系统研发和发展。这样一来,使得多个厂商能都打破中间的壁垒,推进合作。另外,Android作为一个开源的平台,自然能够吸引许多的开发者能够基于Android开发许多应用程序。随着Android系统的开发,Android系统能够应用到其他的平台上,他不仅可以在智能手机上运行,也可以在平板电脑,智能电视、智能手边等智能电子设备中运行。(2)无缝结合的Google应用。Google作为网络巨头,Google的服务如地图、邮件、搜索等已经形成了用户和互联网之间的重要纽带。Google的这些服务产品对于人们现在的生活、工作而言,已经成为了不可或缺的工具。而Android作为Google的重要产品,所以Google对Android提供的支持力度肯定是可想而知的。因此,Android手机就能够无缝结合这些优秀的Google服务产品,方便了用户对相关产品的体验。(3)基于组件的应用设计。这一点与Android的开放性有关,在安卓应用程序开发中,体现了高度组件化的思想。开发人员可以利用这些组件进行组件开发,这些Android应用程序的高度组件化特性,模糊了不同应用程序之间的界限,提升了组件的灵活性和可复用性,使得Android程序开发过程变得简单。换句话说,应用程序开发人员,不一定需要具备很深的编程能力,只需要开发人员拥有一定的编写组件能力,就可以通过系统的配置文件对相关组件进行调动配置。Android应用程序架构通常情况下,一个完整的Android应用程序应该包括四大组件,分别为:活动(Activity)、服务(Service)、广播接收器(BroadcastReceiver)以及内容提供商(ContentProvider)。(1)Activity组件。Activity为Android中的界面组件,是所有程的根本,它是一个主要为用户与程序直接提供交互的组件,也是程序员接触最频繁的组件。在开发的Android应用程序中,一般会有多个Activity组成。每Activity都有active/Runing、Paused、Stopped和Killed四种状态。在栈中,系统会根据Activity在栈中的位置,进行完整的生命周期转换。(2)Service。在Android应用程序结构中,Service为一种生命周期长,没有可视化界面的后台服务组件。它通常在Android系统后台运行,是一个不可见的用户界面。从使用方式来说,Service服务组件既能够和Activity前台组件进行双向的数据交换操作,又可以以单播方式响应Intent的请求和数据处理。(3)BroadcastReceiver。BroadcastReceiver称为触发器组件,是一种广泛运用的在程序之间传递信息的机制。它主要用于对后台事件的监听。当系统或应用程序有事件发生时,组件管理服务会抓取事件信息,然后发送通知告诉对应触发器组件,使其触发执行组件的进程。(4)ContentProvider。ContentProvider为Android应用程序数据源组件,用来保存和检索数据,并且让程序之间相互访问对方数据变为了可能,也是跨应用数据共享的唯一方法。开发环境Androidstudio开发工具AndroidStudio是谷歌推出的一个Android集成开发工具,基于\t"/item/Android%20Studio/_blank"IntelliJIDEA.类似\t"/item/Android%20Studio/_blank"Eclipse\t"/item/Android%20Studio/_blank"ADT,AndroidStudio提供了集成的Android开发工具用于开发和调试。虽然早些年Eclipse+ADT+SDK是较为流行的android开发环境,但由于谷歌早些年就已经停止了对Eclipse的官方支持,而且Google也开始推崇使用Androidstudio进行开发,所以目前最好用Androidstudio进行对基于android的程序的开发。AndroidSoftwareDevelopmentKitAndroid软件程序开发包(AndroidSoftwareDevelopmentKit,AndroidSDK),包含了一套完整的开发工具。包含软件包、软件框架、硬件平台、操作系统等建立应用软件。目前,市场上常见的操作系统平台,都支持Android应用程序开发,包括:微软的WindowsXP及以上版本操作系统、Linux操作系统和MacOSX10.5.8和以上版本。本身Android是一个对第三方完全免费开放的平台,所以开发人可以免费使用Android软件开发工具包进行开发,给发开人员带来的一定的便利,节省了一定的成本。开发环境搭建本移动学习平台是基于Android平台环境而开发的,因此,要开发基于Android的移动学习平台开发,需要搭建平台开发环境。基于前面分析,所选择的开平台为Androidstudio。开发环境的搭建步骤,基本可以按如下步骤来操作:(1)先到下载Androidstudio安装包,Androidstudio的安装包可以直接在Android官网平台下载最新的适合自己电脑的安装包。(2)Androidstudio的安装包下好后,直接一步安装,在安装过程中只需要注意一下Androidstudio的安装路径和AndroidSDK的安装路径即可。(3)安装好后,便可以根据Androidstudio的提示新建一个项目,根据自己的要求选择Activity风格和Activity的一些信息。然后就可以试试运行程序。开发语言虽然,从2017年5月开始,Google宣布将Kotlin作为Android的第一开发语言,Kotlin不仅与JAVA100%互通,而且Kotlin还有JAVA目前尚不支持的新特性。但JAVA作为开发语言中的巨头,java程序员总多,而且在Android发展过程中,java也有着不小的贡献,所以在Android开发语言选择时,还是优先选择JAVA语言进行开发。Java语言作为一种计算机编程语言,正被众多的开发人员所使用。它具有简单性、面向对象性、分布性、健壮性和平台无关性等特点。(1)简单易用性。在语法上,Java语言吸收了C++语言的优点,同时又摒弃了C++语言中一些容易出错和混淆的部分。比如:摒弃了多重继承,使程序更具有可读性;同时摒弃了C++的指针概念,减少了出错的机会。此外,Java源代码的书写与特定环境无关,既可以通过市面上一些专业的软件来进行编辑,也可以通过电脑附带的记事本或文本编辑器等软件来进行编写,然后再将源程序进行编译,编译完成后,便可得到相应的结果。(2)稳健性。Java语言是一种强类型语言,摒弃了C语言风格的隐式声明,能够较好保证编译程序能够捕捉调用错误。(3)安全性。Java安全性可以从四个层面来考虑,即语言安全性、编译时安全性、运行时安全性和可执行代码安全性。语言级安全性指Java的数据结构是完整的对象,这些封装过的数据类型具有安全性。编译时要进行Java语言和语义的检查,保证每个变量对应一个相应的值,编译后生成Java类。运行时Java类需要类加载器载入wwwjxzxmrnet,并经由字节码校验器校验之后才可以运行。Java类在网络上使用时,对它的权限进行了设置,保证了被访问用户的安全性。(4)跨平台性。由于Java语言自带了虚拟机,它提供了一个字节码到底层硬件平台及操作系统的屏障,从而使得Java程序可以在不受计算机硬件和操作系统的约束情况下正常运行。跨平台是程序开发人员追求的目标和软件发展中所必要的趋势。(5)面向对象。Java语言是一种面向对象语言,也自然继承了面向对象的诸多好处,如代码扩展、代码复用等等。由于面向对象技术以对象为基本粒度,其下包括属性和方法,其中,对象的说明用属性来表达,而通过方法来操作该对象。面向对象技术的这种开发机制,使得应用程序的开发变得简单易用、节省代码。SQLite数据库SQLite是一款轻型的数据库系统,它的第一个Alpha版本诞生于2000年5月,至今快有二十个年头。由于其占用资源较少,因而在很多嵌入式开发中被采用。SQLite数据库不仅支持当前一些主流操作系统(包括Linux、Windows等),而且它还能够与其他一些计算机编程语言(PHP、Tcl、C#和Java等)进行结合使用,同时还提供了ODBC接口。同样与其他两款开源数据库MySQL和PostgreSQL相比,它的处理速度更快。SQLite体系结构。总体说来,SQLite数据库具有如下特点:(1)轻量级。由于SQLite采用进程内部引擎机制,它不存在数据库的服务客户端,所以是一款轻量级的数据库系统。完全配置时,小于400KiB,省略可选功能配置时小于250KiB.(2)独立性。SQLite是一款零配置(即无需安装和管理配置)的软件,而且不需要第三方引擎,完全自给自足,不需要任何外部的依赖。(3)隔离性。SQLite数据库中的所有文件都存储在同一个单一的文件中,方便管理和查询。(4)开源性。源代码完全开源,可以作为任何用途使用,没有限制。(5)支持多语言开发。SQLite数据库同时支持多种语言开发,包括PHP、C++和Java等。另外SQLite也支持SQL92(SQL2)标准的大部分查询语言功能。尽管SQLite是一款嵌入设备的轻型数据库管理系统,但麻雀虽小,五脏俱全,在支持SQL语言和功能方面,不会逊色于其他一些开源数据库系统。它的这些特点,特别适合运用在Android应用系统的开发上。本章小结本章主要对基于Android的移动学习平台设计与开发涉及的相关技术进行介绍。主要包括:Android系统介绍、平台开发环境、数据库技术等。

第3章系统需求分析软件需求分析就是软件开发人员经过深入细致的调研和分析后,确定软件各个模块的需求,仔细分配各个模块中的元素。本章节主要讲述各个模块之间的逻辑与需求。可行性分析在对软件进行具体的需求分析前,首先我们要对基于Android的移动学习平台进行简单的需求分析,以此来判断该平台是否有否有必要进行开发实施。可行性的分析主要从技术可行性、操作可行性和经济可行性三个方面下手。技术可行性技术可行性顾名思义时从开发技术的角度考虑,分析开发者能否利用当前的开发技术在规定的时间能设计开发出符合相关要求的系统。而对基于Android的移动学习平台设计与实现的技术分析,整个系统简单的分为客户端和服务器端。在架构上,系统优先采用C/S软件架构;语言方面将JAVA作为系统的开发语言。数据库管理系统选择简单、便捷的SQLite和免费、实用的MySQL。客户端基于Android开发平台,部署现代生活中每个人都需要的智能手机上。而服务器端,选择部署在Apache+Tomcat服务器端,并且利用JavaEE技术进行开发。操作可行性操作可行性主要从用户的角度出发,主要分析设计开发出的系统是否能符合目标用户的体验。“移动学习”的概念早在上个世纪就被提出,但由于技术的限制,移动学习的发展受到限制,用户操作限制要素过多。从21世纪开始到现在,移动通讯技术和移动终端电子设备都在飞快地发展,现在一些低配的手机、平板和电脑等一些移动电子设备的价格非常低廉,现在在中国移动电子设备已经达到了人均一台的地步,已经满足移动学习时人们对移动终端的需求。现在普及的4G已经达到了移动学习的数据传输的要求,后面5G的开发为移动学习提供了更大的发展空间,也让我们看到了移动学习模式更多的可能性和更深的潜力。所以就目前的操作方面,移动学习的研究和实践都不会有什么问题,拥有很强的可行性。经济可行性从经济角度分析,系统开发所用的Android平台在移动操作系统的市场上占据最大地份额,并且该数值还在稳定地上升,成功成为移动终端里的主流操作系统,确保了Android作为系统开发平台能够为系统提供一定经济效应和市场平台。并且Android作为一个开源、免费的一个开发平台,减少了一些开发所需费用。为基于Android的移动学习平台的研究和开发节约了一定的成本。所以从经济方面来看,基于Android的移动学习平台的设计与开发具有一定的可行性。功能描述登录注册用户在点击进入客户端时,都会要求进行账号登录,如果没有账号进行登录,可以选择注册,注册一个新的账号。每个账号都用手机号进行注册。虽然用户分了学生和老师两部分,但两个用户所享受的功能都是一样的,用户的级别也一样。不过因为最初系统选择的用户范围只限于学校,所以用户只能进行登录和注册。对于账号信息的修改还需要找相关的管理员进行用户信息修改。图书浏览功能用户可以根据自己的喜好在平台上查找自己喜欢的图书进行阅览,图书查找时,支持分类查询和搜索查询。点击图书后,进入阅览模式,对屏幕进行左右滑动,图书就可以前后翻页进行月阅览。问题答疑功能在问题答疑模块中,用户可以浏览平台上现有的问题,点击问题查看其它人的回答,也可以在问题下发表自己的意见。该模块也支持用户上传自己的问题。咨询功能咨询模块中,主要是用户之间的聊天联系。在咨询模块中,还支持表情功能。对所有聊天信息也支持时间展示,展示信息所发出的时间。对聊天模块中的信息内容也支持复制和删除功能,能将聊天记录里的信息复制到粘贴板和删除掉。头像更换功能在个人信息模块中,会展示用户的一些信息,点击头像,支持从相册里选一张图片呢当头像,也支持用相机照一张相片当头像。用户用例进行系统分析和设计的第一步是创建系统的用例模型。用例图是指由参与者、用例,边界以及它们之间的关系构成的用于描述系统功能的视图。用例图是开发人员所能观察到的系统功能的一种模型图。用例图是系统功能的一种蓝图。用例图呈现了一些参与者,一些功能用例,以及它们之间的关系,通过用户参与者的角度出发,描述每个事物之间的联系和互动。作为一个描述系统的所有参与操作者之间的联系图,在需求分析阶段有着比较重要的作用,整个开发过程都会围绕着这个用例图进行开发。而本系统的操作参与者虽然分为学生用户和老师用,但因为其享受的等级和功能一样,所以都统一归为普通用户,展示用户主要以学生为例。本系统的用例图如图3-1用户用例图所示。图3-1用户用例图数据字典数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明,使用数据字典为简单的建模项目。数据字典最重要的作用是作为分析阶段的工具。任何字典最重要的用途都是供人查询对不了解的条目的解释,在结构化分析中,数据字典的作用是给数据流图上每个成分加以定义和说明。在数据字典中建立的一列的严密的定义,有利于分析员和用户之间的交流。用户数据字典主要描述的是用户信息存储的数据集合,除了基础的手机号码账号和密码外,还包括了一些用户的相关信息,如学院,专业,年龄等等。用户数据字典如表3-2所示。表3-2用户数据字典-study-admin别名用户信息表描述保存用户的信息定义study-admin=tel+psd+name+school+major+sex+age+dep位置db文本数据字典主要描述了图书书籍信息存储的数据集合,用于保存图书资源中所有图书的信息资料,数据保存在数据库中。文本数据字典如表3-3所示。表3-3文本数据字典-Text别名文本信息表描述保存所有图书文本定义Book=id+name+author+content+press+tag+picture位置db问题数据字典主要描述了问题数据信息存储的数据集合,用于存储问题信息。数据保存在数据库中,问题数据字典如表3-4所示。表3-4问题数据字典-Issue别名类别信息表描述保存问题信息定义issue=id+content+author+answer+tag位置db数据流图数据流图简称DFD,它普遍应用于企业的管理系统中,是一种结构化系统分析工具。数据流图经常用于表示业务信息系统的数据流,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。普通用户数据流图。虽然平台用户划分了学生和老师两部分,但实际两种身份的用户功能体验都是一样的,所以平台用户都统一为普通用户。普通用户需要进行登录才可以进入移动学习平台内,然后才可以进入平台学习。并且用户自己的信息是相对锁定的,自己无法修改。如图3-5所示。图3-5用户登录数据流图系统性能分析基于Android开发的移动学习平台,对于客户端的载体的移动设备会有着一些基础的设备性能需求。从这方面进行简单分析,来满足用户需求。虽然现在的智能科技的发展日新月异,人们换手机的速度越来越快,手机的配置也越来越强,但也不乏有些收入困难的家庭会采用一些便宜的低配置手机。所以为了开发的应用能够照顾到所有的用户,所以在应用开发中,要对性能需求和设计方面考虑全面。针对基于Android的移动学习平台的分析,在研发的过程中,需要从分配率、适配性、兼容性和内存占用等方面进行仔细考虑。运行分辨率分辨率在移动终端配置中是重要的一环,一直是Android应用开发过程中需要考虑的一环。在Android应用开发过程中,Android在界面布局器中,Android应用开发界面布局界面有着多种布局方式。多种的布局方式虽然给开发者提供可了更大的开发空间,让开发过程有着更好的灵活性,但这些更大的空间和灵活性也让开发者更加难以控制。一些不合理的布局设置会影响整个界面的效果,所以,合理的布局设置对于界面的反应效果也是至关重要的。在一些应用中,图片资源的选择也是开发者必须考虑的一环。不同的图片资源遇上不同分辨率的屏幕,会出现一些不正常的情况。例如,现在的一些高配置的移动电子设备照的照片都是一些很大的高清照片,如果放在一些分配率较低的移动设备上,会把图片放大,无法看清图片所有的信息。相反的,低配置的移动电子设备地图片加载到高配置的移动电子设备上时,所展现出来的效果就比较模糊。为了应对这些情况,Android应用开发平台提供了许多不同分辨率的版本选择,让开发者可以根据开发需求情况,选择最佳选择配置,从而达到展示效果最佳化。运行流畅度手机应用程序在移动设备中运行的流畅性是开发者在开发过程中所需要注重的一些性能因素。用户在体验产品过程中,手机应用的流畅性能够直接影响用户的体验感。如果遇到程序卡顿或者死机的情况,会给用户带来反感、厌恶等情绪。因此开发者在开发过程中,需要从多方面进行考虑,从界面布局、图片加载、自定义控件渲染等方面尽量减少程序的运行时间,以此能够让程序能够运行流畅。内存占用和释放虽然Android应用程序使用了java语言提供的管理内存的垃圾处理器,但并不代表开发者在开发过程中可以忽略这方面的问题。稍微懂手机的人都知道,手机的运行内存容量是有限的,如果开启的应用程序占用的内存过大,手机的内存被应用程序占据了大量的空间后,手机就会出现卡顿、死机等不良现象。所以开发者在开发过程中需要考虑对程序的内存释放的要求。本章小结本章主要对基于Android的移动学习平台需求进行了分析。整个过程中,重点针对平台开发的可性行、数据、平台非功能需求等方面的进行详细的说明和分析。 系统概要设计一个设计师在设计一个系统构架时,需要将用户的需求转换为交互框架和视觉框架,其结果往往以反映交互控件布置、界面元素分组以及界面整体板式的页面框架图的形式来呈现。这是一个用户需求者和设计者之间便于沟通的桥梁,能够让简单优化用户需求者与设计者之间的矛盾。这是一个将对用户目标和需求转换,称具体界面设计解决方案的重要环节。系统总体设计基于Android的移动学习平台的总目标是:在现有的计算机网络,数据库和开发平台上,利用现有的软件,开发一个具有开发性,易扩容性,易维护的移动学习平台。为所有的用户提供良好、方便的学习条件。本系统主要的功能模块有登录注册、资源中心、问题答疑、在线咨询。老师用户和学生用户可以在系统内使用相同的功能。如图4-1系统功能结构图所示。图4-1系统功能结构图移动学习平台功能模块设计登录注册功能模块设计用户注册模块主要负责对用户的注册信息进行审核,用户只有在注册成功后才能拥有合法的账号和密码。才能正式成为移动学习平台的用户,然后通过登录才能进入移动学习平台。而用户在注册时,需用正确的手机号和正确格式的密码进行注册。在注册成功后,用户可以通过登录页面进行登录,进入移动学习平台界面。登录注册流程图如图4-2所示。图4-2登录注册流程图图书资源功能模块设计在图书资源模块中,主要为用户提供学习时所需要的图书资源,也用户在进入移动学习平台所看到的第一个模块。在资源模块中,用户可以进行分类查询、搜索和资源查看,进行线上学习的操作。在资源中心模块中,资源分类查询、资源搜索查询和资源查看是两个主要的子功能模块,然后就是主要的图书浏览功能,让用户能够随心随时随地阅读。如图4-3所示。图4-3图书资源模块功能流程图在资源中心模块中,后期平台肯定会为其补充大量的图书资源。在大量的图书资源中,用户可以在图书资源里面直接进行翻阅查找。如果感觉想找到自己所需要的图书资源觉得过于麻烦就需要一些优秀的搜索功能来帮助用户寻找自己所需要的图书资源。在资源分类查询模块中,用户可以通过点击资源中心模块界面中的分类菜单,在设计好的分类选项中选择自己所需图书所在的类别,进行快速简单地筛选,然后用户可以通过上下翻滚,选出自己所需要的图书资源。虽然只是简单的模糊筛选,但也会为用户提供简单的帮助。模糊搜索查询也是为了帮助用户在大量的图书资源中找寻自己所需要的图书资源所设计的功能,用户可以点击搜索菜单,进入搜索界面,用户可以输入自己所需资源的关键词,然后点击搜寻,系统就会根据你所提供的词,为你推荐出以索引词相似的资源图书。在经过一系列搜索,用户找到自己所需要的图书书籍后,就可以点击书籍,进入“图书浏览”模式中查看书籍中的内容,用户就可以进一步地了解这些资源中的知识。问题答疑功能模块设计问题答疑模块是移动学习平台提供的学习功能之一,为用户提供一个可以进一步学习讨论的地方。用户通过登录后,进入移动学习平台后,点击进入问题答疑模块,就可以享受问题答疑模块的服务功能。结合移动在线学习系统的特点和用户需求的分析,问题答疑模块应该包括“问题上传”、“问题浏览”和“问题解答”等三个功能。问题答疑模块流程图如图4-4所示。图4-4问题答疑模块功能流程图在问题答疑模块中,用户可以使用“问题上传”功能提出自己疑惑的学术性问题,将问题放在平台上,看是否有人能帮助解答问题。通过移动学习平台的这个功能,可以让用户之间联动,进行问题上的互动。每一个人都有自己擅长的一面和不擅长的一面,通过这个问题上传模块,可以将自己不擅长的一面提出去,让擅长的人来帮助你解决。这个功能相比后面的咨询功能,有着更大的广泛性和随发行。用户在问题答疑模块中,可以浏览所有问题,而在问题展览模块中,会有几个较大的分类供用户选择查看搜索。而用户可以翻滚页面,浏览问题,选择自己感兴趣的问题,点击进行详细浏览。每个用户不仅可以可以浏览自己或其他用户上传的问题,也可以点击解答问题,进入解答页面,用自己擅长的部分为其他进行解惑。在解答的过程中,也可以满足用户的成就感,以此来成就一个好的学习氛围。在线咨询功能模块设计用户在学习总会遇到一些问题,问题答疑功能虽然广泛,但时效性太缺乏稳定性,和及时性,如果遇到一些需要立马解决的问题,那就需要用到在线咨询功能模块。在线咨询功能模块,可以让老师为你在线答疑。相比问题答疑模块,有着更好的及时性和详细性,能够为用户更好地解答问题。在线咨询功能模块流程图如图4-5所示。图4-5在线咨询模块功能流程图数据库设计数据库设计原则为有效对移动学习平台数据进行管理,在对数据库进行设计时,需要把握以下一些设计原则。(1)数据文件结构设计要合理。数据文件结构设计时,要考虑到全面的因素,并结合相应的实际需求,对数据序列进行有效的分割排列,并且尽量将有关联的数据联系组织到一起,这样既能方便对数据的掌控,也能提高数据访问时的效率。(2)降低数据冗余度。数据冗余度一直是数据库研究人员关心的问题,对于一个数据库而言,如果冗余度过高,会浪费大量的存贮空间,严重妨碍数据库中数据的完整性,同时也侧面反映了数据库的设计人员在设计过程中分析还不够透彻。而在对数据库进行设计时,也并不是没有冗余的数据库是最好地,在某些合适的情况下,适当存在一些冗余也是必要的,这也正好反映了数据划分的关联性。(3)保持数据独立性。其表现在数据库中存储的数据结构和结构关系,不会因为外部请求访问而发生改变,更不会发生意外的改变。对于数据库外界而言,数据库只对外提供一些操作接口。(4)数据的安全性。在数据库安全性方面,可以通过设置权限等方法来防止非法用户对数据非法访问和操作,从而保证数据的安全性和完整性。(5)数据库设计应具有良好的可扩展性。随着用户需求改变和系统功能升级,系统数据库的数据结构不可避免的需要进行扩充和修改,因此,在设计数据库初期时,应需要考虑数据库的可扩展性。数据库E-R图E-R图也称实体-联系图(EntityRelationshipDiagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。它是描述现实世界关系概念模型的有效方法,是表示概念关系模型的一种方式。在E-R图中,使用方框代表实体,使用菱形代表关系,使用椭圆代表实体的属性。实体与实体之间用线连接起来,并进行对应关系的标注有1:n或n:n或n:m,形成E-R图,实体与属性图也要使用直线进行连接,形成实体图。总体E-R图表现了系统总体的实体之间的相互联系。在常见的E-R图中,一般都是使用小的实体代替后续介绍的实体,然后再对每一个实习进行逐一介绍。基于Android的移动学习平台的总体E-R图如图4-5所示。图4-5总体E-R图数据库实体图用户实体图描述了用户实体的属性,包括用户手机号、用户密码、用户姓名、用户性别、用户所属学校、用户所学学院、用户所学专业和用户年龄等,其中手机号为唯一标识,如图4-6用户实体图所示。图4-6用户实体图咨询老师实体图描述了咨询老师的属性,包括老师编号、老师密码、老师姓名、老师性别、老师专业、老师电话等,其中老师编号为唯一标识,如图4-7所示。图4-7咨询老师实体图图书资源实体图描述了图书资源的属性,包括图书编号、图书名称、图书标签、出版社、出版日期等,其中图书编号为唯一识别,如图4-8所示。图4-8图书资源实体图问题实体图,描述了问题信息的属性,包括问题编号、问题类别、问题作者等,其中问题编号为唯一识别,如图4-9所示。图4-9问题信息实体图数据库表设计移动学习平台是一个拥有多个模块的系统平台,不仅包括了多个功能模块,而且包括了许多数据表。在这部分,我们选取了平台部分数据表信息进行描述与分析。各数据表具体设计信息及说明,如下所示:(1)用户信息表(UserInf_Table)。用户信息表用于记录系统各类用户信息。用户信息表字段包括用户手机号(User_tel)、用户密码(User_psd)、用户姓名(User_name)、用户性别(User_sex)、用户所属学校(User_school)、用户所学学院(User_dep)、用户所学专业(User_major)和用户年龄(User_age)等信息。其中用户手机号为用户信息表的主关键字。用户信息表结构定义和相关说明,如表4-10所示。表4-10用户信息表字段名字段名称类型及长度允许空备注户手机号User_telbigintNOTNULL主键,不能为空用户密码User_psdvarchar(32)NOTNULL用户姓名User_namevarchar(16)NOTNULL用户性别User_sexvarchar(10)用户所属学校User_schoolvarchar(32)用户所学学院User_depvarcahr(64)用户所学专业User_majorvarcahr(64)用户年龄User_ageint(5)咨询老师信息表(Teacher_Table)。咨询老师信息表用于记录系统的咨询老师的信息。咨询老师信息表包括老师编号(Tea_id)、老师密码(Tea_psd)、老师姓名(Tea_name)、老师性别(Tea_sex)、老师专业(Tea_major)、老师电话(Tea_tel)等信息。其中老师编号为咨询老师信息表的主关键字。咨询老师信息结构定义和相关说明,如表4-11所示。表4-11咨询老师信息表字段名字段名称类型及长度允许空备注老师编号Tea_idint(10)NOTNULL主键,不能为空老师密码Tea_psdvarchar(32)NOTNULL老师姓名Tea_namevarchar(16)NOTNULL老师性别Tea_sexvarchar(10)老师专业Tea_majorvarchar(32)NOTNULL老师电话Tea_telbigint(3)图书资源信息表(Book_Table)。图书资源信息表包括图书编号(Book_id)、图书名称(Book_name)、图书作者(Book_picture)、图书类别(Book_tag)、出版社(Book_press)、图书内容(Book_content)等,其中图书编号为图书资源表的主关键字,资源学习信息结构定义和相关说明,如表4-12所示。表4-12图书资源信息表字段名字段名称类型及长度允许空备注图书编号Book_idint(10)NOTNULL主键,不能为空图书名称Book_namevarchar(32)NOTNULL图书图片Book_picturevarchar(266)NOTNULL图书类别Book_tagvarchar(10)NOTNULL出版社Book_pressvarchar(64)图书内容Book_contentvarchar(266)NOTNULL(4)问题信息表(Issue_table),问题信息表描述了问题信息的属性,包括问题编号(Issue_id)、问题类别(Issue_tag)、问题作者(Issue_author)、问题描述(Issue_content)、问题解答(Issue_answer)等,其中问题编号为问题信息表的主关键字,如表4-4所示。表4-4问题信息表字段名字段名称类型及长度允许空备注问题编号Issue_idint(10)NOTNULL主键,不能为空问题类别Issue_tagvarchar(32)NOTNULL问题作者Issue_authorvarchar(16)问题描述Issue_content问题解答Issue_answer本章小结本章主要就以平台需求分析和业务流程为依据,对系统的总模块和功能模块的设计进行了分析,随后介绍了本系统的数据库设计,包括数据库。数据库的设计对于一个系统的设计有着重要的意义,需要设计者多费心思去优化设计。

第5章系统实现本章将重点对移动学习平台进行编码实现及平台测试进行介绍。首先对系统开发平台及环境进行介绍,然后针对移动学习平台功能模块进行编码实现及系统测试内容的介绍。系统功能模块和代码展示本小节根据系统的分析,设计出几个相应的系统功能模块并以模块形式体现在具体的客户端界面中,然后根据具体的客户端界面分析各个功能的细节要求,展示出其相应实现代码。登录界面登录界面是客户端的第一个界面,用户进入客户端就会看到登录界面,用户只有在通过登录审核过后,用户才能进入学习平台中享受其他功能。在登录界面用户需要输入正确的账号和密码,账号都以手机号进行注册,密码为了安全也有着一定的基础格式要求,如果输入信息错误或者为输入都会提示相应的错误。登录界面如图5-1所示。图5-1系统登录页面登录功能主要代码:publicvoidonClick(Viewv){

phoneVal=edPhone.getText().toString();

switch(v.getId()){

caseR.id.login:

if(StringUtils.isEmpty(phoneVal)){

showToast("请输入手机号");

return;

}

if(!StringUtils.isMobile(phoneVal)){

showToast("手机号格式错误");

return;

}

passVal=edPass.getText().toString();

if(StringUtils.isEmpty(passVal)){

showToast("请输入密码");

return;

}

if(!StringUtils.isPassowrd(passVal)){

showToast("密码长度应8~16位并包含字母和数字");

return;

}

edPass.setTag("unAuto");

UserModel.getInstance(mContext).setPhone(phoneVal);

UserModel.getInstance(mContext).setPassword(passVal);

IntentUtils.getIntance(mContext).toMain();

finish();

break;

caseR.id.reg:

IntentUtils.getIntance(mContext).toReg();

break;

}

}(2)如果用户还没有账号可进行登录,就可以点击登录界面中的注册按钮,跳转到注册页面进行账号注册,注册账号的格式也是以手机号进行注册,然后填写自己设计的符合格式要求的密码。身份选择虽然有老师和学生两种选择,但最后也只是影响个人信息,用户所享受的功能都一样。点击确认后,如果注册失败,就会提示相应的错误信息;如果注册成功,系统就会直接跳过登录界面,跳转到系统首页。如图5-2注册页面所示。图5-2系统注册页面注册功能主要代码:publicvoidonClick(Viewv){

phoneVal=edPhone.getText().toString();

switch(v.getId()){

caseR.id.eurse:

if(StringUtils.isEmpty(phoneVal)){

showToast("请输入手机号");

return;

}

if(!StringUtils.isMobile(phoneVal)){

showToast("手机号格式错误");

return;

}

passVal=edPass.getText().toString();

if(StringUtils.isEmpty(passVal)){

showToast("请输入密码");

return;

}

if(!StringUtils.isPassowrd(passVal)){

showToast("密码长度应8~16位并包含字母和数字");

return;

}

UserModel.getInstance(mContext).setPhone(phoneVal);

UserModel.getInstance(mContext).setPassword(passVal);

IntentUtils.getIntance(mContext).toMain();

finish();

break;

caseR.id.teaRadio:

teaImg.setImageResource(R.mipmap.sex_radio_pre);

stuImg.setImageResource(R.mipmap.sex_radio);

break;

caseR.id.stuRadio:

teaImg.setImageResource(R.mipmap.sex_radio);

stuImg.setImageResource(R.mipmap.sex_radio_pre);

break;

}

}图书浏览模块(1)在图书浏览模块的页面中,用户可以通过直接查找,分类查找和搜索查找在图书资源中寻找自己想要的书籍。在分类模块中,用户可以选择自己喜欢的类别,书籍展示区域就会自动跳转到相应的类别区域,也可以在该区域类左右滑动,起到同样的左右跳转效果,如图5-3图书模块页面所示。图5-3图书模块页面图书模块主要代码:publicvoidinitView(){

searchLayout=getView().findViewById(R.id.searchLayout);

titleView=(TitleView)getView().findViewById(R.id.video_title);

vip=(ViewPager)getView().findViewById(R.id.video_vp);

pagerView=getView().findViewById(R.id.pagerView);

pagerView.setBackgroundColor(mContext.getResources().getColor(R.color.transparent));

pagerAdapter=newMyPagerAdapter(fragments,getChildFragmentManager());

vip.setAdapter(pagerAdapter);

titleStrings.add("全部");

titleStrings.add("科学");

titleStrings.add("经济");

titleStrings.add("文学");

titleStrings.add("哲学");

titleStrings.add("教育");

titleStrings.add("医疗");

titleStrings.add("技术");

for(inti=0;i<titleStrings.size();i++){

HomeChildFragchildFrag=newHomeChildFrag();

fragments.add(childFrag);

}

pagerAdapter.setData(fragments);

titleView.setTitleDatas(titleStrings,vip);

vip.setPageTransformer(true,newDepthPageTransformer());

vip.setOffscreenPageLimit(3);

pagerView.setImageLoader(newGlideImageLoader());

pagerView.setImages(newBannerModel().getBannerUrls());

pagerView.start();

pagerView.setOnBannerListener(newOnBannerListener(){

@Override

publicvoidOnBannerClick(intposition){

IntentUtils.getIntance(mContext).toWeb();

}

});

}用户在选择好自己想要阅读的书籍,就可以点击书籍,进入图书浏览模式,和阅读小说一样,可以在屏幕左右滑动切换上一页和下一页。为用户的读书体验带来方便。如图5-4阅读页面所示。图5-4进入阅读页面阅读功能主要代码:

publicintgetLay(){

returnR.layout.act_pager_view;

}

publicvoidinitView(){

scanview=(ScanView)findViewById(R.id.scanview);

setTitle("详情");

setBackImg();

}

publicvoidinitClick(){

List<PagerModel>items=newArrayList<PagerModel>();

for(inti=0;i<8;i++){

PagerModelmodel=newPagerModel();

if(i==0){

model.setNumPager("第一章");

model.setTitle("为什么英国的法官和律师要戴假发?");

model.setContent("在一些影视作品中,XXXXX");

}elseif(i==1){

model.setNumPager("第二章");

model.setTitle("为什么长颈鹿的脖子特别长?");

model.setContent("长颈鹿是XXXX");

}elseif(i==2){

model.setNumPager("第三章");

model.setTitle("为什么焰火会有不一样的颜色?");

model.setContent("焰火的底部装着XXXXX");

}elseif(i==3){

model.setNumPager("第四章");

model.setTitle("为什么南非被称为“黄金之乡");

model.setContent("南非的自然资源XXXXXX");

}elseif(i==4){

model.setNumPager("第五章");

model.setTitle("为什么久坐久站脚会发麻?");

model.setContent("一个人连续坐上几个小时,XXXXXXX");

}elseif(i==5){

model.setNumPager("第六章");

model.setTitle("为什么自己挠胳肢窝不会痒?");

model.setContent("有时候别人挠XXXXX");

}elseif(i==6){

model.setNumPager("第七章");

model.setTitle("为什么有的人会花粉过敏?");

model.setContent("有些人一接触到鲜花XXXXXXXX");

}elseif(i==7){

model.setNumPager("第八章");

model.setTitle("为什么人体的左右不对称?");

model.setContent("从外表看,XXXXX");

}

items.add(model);

}

adapter=newScanViewAdapter(this,items);

scanview.setAdapter(adapter);

}

publicbooleanonCreateOptionsMenu(Menumenu){

getMenuInflater().inflate(R.menu.main,menu);

returntrue;

}问题答疑模块问题答疑是学习中的一个重要环节之一,在问题答疑模块中,每个用户可以提出自己所困惑的问题,放在平台上,让其他用户参与解答。每个用户都可以在问题答疑模块中查看用户上传的问题。每个用户也有进行问题答疑的权利,更多是让众多用户参与到学习讨论的氛围中。问题答疑如图5-5问题上传页面所示。如图5-6问题解答页面所示。图5-5问题上传页面问题上传主要代码:publicvoidinitView(){

backTv=findViewById(R.id.backTv);

submitTv=findViewById(R.id.submitTv);

titConEd=findViewById(R.id.titConEd);

buConEd=findViewById(R.id.buConEd);

}

@Override

publicvoidinitClick(){

backTv.setOnClickListener(newView.OnClickListener(){

@Override

publicvoidonClick(Viewv){

finish();

}

});

submitTv.setOnClickListener(newView.OnClickListener(){

@Override

publicvoidonClick(Viewv){

StringtiC=titConEd.getText().toString();

StringbuC=buConEd.getText().toString();

if(StringUtils.isEmpty(tiC)){

showToast("请输入问题描述");

return;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论