android学习路线

关键词: 满足 移动 系统 学习

android学习路线(精选14篇)

篇1:android学习路线

Android开发工程师学习路线:手机产品开发要从基础开发知识做起

Android开发工程师学习路线图:想要做好手机产品开发要先从基础开发知识做起,要学好基础语言开发,即java语言开发,然后逐步提升自身的产品路线,将制作产品的每一步都进行完整的规划,并且将每一步要实现的功能做好设计。掌握基础开发知识,能够很好地掌握java语言的内涵,然后通过这一语言来实现程序框架中每一步的功能,并且将程序框架中的每一步都进行完善的规划,避免出现这样或那样的问题,在设计程序过程中也要掌握各种各样的算法。

千锋教育是Android培训行业领导者,千锋教育的Android开发基础班是从java开始指导学员学起,掌握了java语言,然后进行整体的产品规划。通过程序来实现产品设计中的每一步作用。很多Android开发人才都在后续工作上引入UI设计思想,把UI理念融入到产品设计中去,并且提升自身的学习模式,通过程序整体实现产品的性能。决定一个好的产品,程序员的学习质量非常重要,只有提升学习质量,把在开发过程中遇到的问题进行解决才是最根本的。千锋教育Android培训课程模块化,指导学员学习完阶段性课程,指导学员完成自己的产品,让学员在开发过程中遇到的问题进行解决。

Android开发学习过程中要掌握好基础知识,特别是java语言的应用,然后逐步提升学员在学习过程中遇到的一些细致化的问题,把一些难点进行解决,在开发过程中把容易出现的一些难点进行合理化控制,避免在程序生成产品后出现问题,从而导致崩溃,这是非常重要的一点。

篇2:android学习路线

曾经有在千锋3G学院学习Android开发的我,现将自己的学习心得分享如下,希望能够给更多有这方面学习的网友提供相关信息。

回想起这几个月的学习,使自己对Android开发系统有了更加系统、更加全面的认识,并且使自己的技术水平有了进一步的提高,能在社会上成为更加有竞争力的人。

在千锋的四个月的学习让我懂得了很多,开始的Java基础讲的很细,讲解的不是很快,这样可以让有基础的更好的复习,也可以让没有基础的更容易接受;之后是Android基础,这个阶段主要是让自己了解Android的各种控件的使用,为以后的项目开发打下基础;第三个阶段是项目开发,这一个阶段是最锻炼人的,可以把学到的东西都联系起来,然后进行更好的应用。最后就是就业阶段,就业部的老师都很认真负责,在我毕业前就让我开始为后面的找工作做准备,简历制作好好后又经过老师的改正,让我的简历更有机会被公司选中,还给我讲了一些面试中遇到的问题该怎么去回答。

经过这四个阶段,我学习到的不仅仅是专业的知识,也让我简单的了解到上班的状态,并深刻的体会到细节决定成功的真谛。

学习可以使我们的人生变得更加美满充实。路是自己走出来的,能否走出属于自己的一片天空,全在于自身的努力与坚持,我相信成功总是会留给那些有准备的人。做出你的选择,尝试走出第一步,成功将不会遥远。

篇3:android学习路线

通过研究现有的景区导游APP, 发现其功能集中于景区景点基本介绍和周边饮食住宿推广, 在景区内部的路径规划方面涉及较少。本文设计了一个Android平台下的景区路线规划系统, 并将改进的Floyd算法应用到系统中, 能够根据游客选择的目标景点安排游览路线。

1相关技术

Android是由Google公司推出的基于Linux平台的开源移动设备操作系统。Android操作系统采用了分层的架构, 包括应用程序层、应用程序框架层、系统运行库层和Linux内核层。应用程序层包括系统内置的核心应用和用户开发的应用, 开发人员使用Java语言调用应用程序框架层的API完成应用开发。Android平台具有开放性, 允许任何厂商加入Android联盟, 并且开发其应用程序的Java语言也是开源免费的, 打破了以往阻碍移动产业创新发展的壁垒。

2景区图结构表示法

关于景区内部路线规划的研究, 传统方法往往将景区图抽象为图论中的一个连通图, 图中各个顶点代表景点, 景点间的最短路定义为图中两点间的最短路。传统方法虽然可行, 但是不具有实际应用意义, 因为景区图的设计过于抽象, 不能包含景区内部的复杂情况。

本文意在设计一个能够实际应用的景区路线规划系统, 对景区图结构进行了细致定义。景区图中除了包含有“景点”点之外, 还应包含有“路口”点、“公共服务”点、“路线定位”点, 多种类型点构成了景区连通图中的顶点, 景区中的道路定义为图中各点之间的连线。其中“路线定位”点是景区道路上具有代表意义的点, 用来定位Android手机的位置。

3系统设计实现

3.1系统框架设计

该系统采用C/S模式, 客户端为搭载Android系统的智能手机, 支持无线上网、GPS定位等功能, 用来从服务器下载查询景区信息、上传游客位置信息;服务器端为运行在Apache Tomcat下的javaweb项目, 为客户端提供查询、下载服务。系统整体架构如图1所示。

3.2最短路算法设计

Floyd算法是图论中求解两点间最短距离的经典算法, 但是算法只给出了求解最短路的基本思想, 并没有给出最短路包括的点以及遍历顺序。并且在实际应用中需考虑游客的特殊需求, 比如不走陡峭道路、避开拥挤人流等, 这时在求解到达目标景点的最优路线前需要重新计算图中个边的权值, 不能直接使用距离作为权值。本文设计的最短路求解流程如下:

(1) 根据游客在系统中选择的条件计算图中各条边的权值, 权值计算公式为:

式 (1) 中dij代表点i到点j的实际距离;a取1时代表游客期望平坦道路, 取0代表游客不在意此项;b取1时代表游客期望回避拥挤人流, 取0代表游客不在意此项;qij代表点i到点j的路线权值。

(2) 计算当前游客所在点到目标景点最优路径, 使用Floyd算法计算最短路矩阵R的伪代码描述如下, 其中rij的初始值为j时, 表示i与j直接相邻;初始值为0时, 表示i与j不直接相邻:

for k←1 to m do

for i←1 to m do

for j←1 to m do

if (qik+qkj<qij) then

qij←qik+qkj;

rij←rik;

在最短路矩阵R中通过如下方法能够得到点vi到vj的路线:如果rij=j, vi到vj最短路为vi→vj;如果rij=k, rkj=j, vi到vj最短路为vi→vk→vj。依此类推, 任意两点vi与vj的最短路均可在R中求得。

3.3系统实现

由于景区内部地图比较复杂, 现有地图引擎不包括景区详细路线数据, 绘制地图数据成本较高, 所以本系统采用手绘地图作为底图。手绘地图不仅能够展示详细的景区内部路线, 而且其独特的风格更能够吸引游客。具体实现包括以下方面:

3.3.1图层实现

本系统设计了以下三个图层, 用来展示手绘地图、标记物、路线:

Map View层:用来显示手绘地图, 通过加载Bitmap, 将普通图片显示在屏幕上;

Mark Layer层:用来显示标记物, 包括景区、服务点等, 该图层位于最上方, 通过监听标记物的点击事件播放景点语言介绍;

Route Layer层:用来显示计算后得到的路线, 该图层位于Map View和Mark Layer之间, 通过android.graphics包中的Canvas等类进行路线的绘制。

3.3.2手绘地图GPS定位实现

为了将游客位置比较准确的显示在手绘地图上, 本系统设计了一个映射表, 记录景区内关键点的实际经纬度和图片像素点之间的关系。系统通过安卓提供的Location Mangager类的get Latitude () 方法获取游客纬度信息, 通过get Longitude () 方法获取游客经度信息。当游客到达某一记录点的定位范围后, 根据映射表将其位置显示到手绘地图上。记录点的定位范围设计为一个正方形, 边长根据景点规模和GPS定位误差来计算, 如图2所示。

系统采用同样的定位方式, 选取道路上的关键点最为定位点, 统计某条道路上的游客人数。

3.4实现结果

游客选择出发点和目标景点后, 根据提示选择路线要求, 包括是否避开人流、是否避开陡峭路段;最终得到一条当前点到目标景点的最优路线, 最终结果如图3所示。

4结束语

本文设计的景区路线规划系统, 加入了可变权值的Floyd算法。测试结果表明系统能够根据游客选择的目的地和个性需求设计最优路线, 采用的手绘地图不仅绘制简单而且更能吸引游客。

参考文献

[1]陈裕雄.安卓系统的手机定位软件开发与设计[J].无线互联科技, 2015 (17) :52-54.

[2]曾风山.基于LBS的智能导游系统设计与实现[D].长沙:湖南大学, 2014.

篇4:android学习路线

本月初,有219名开发者在一份请愿书上签名,要求Google透露一些关于Android的技术细节及开发进程,以便他们开展基于Android平台应用的开发工作。“我们非常感激开发者的积极态度,他们的这种热情让我们感到无比激动。”Google表示,这次公布的路线图,正是为了回应热情的开发者。

据Google公布的路线图显示,8月18日,Google公布Android SDK 0.9 Beta版;9月将公布Android 1.0 SDK;第三或第四季度,正式发布Android 1.0 SDK的预览版本;而第四季度,采用Android平台的手机就会面市。

目前,为了配合这一计划,Google特别邀请了一批安全专家加入到Android的开发行列中,对Android平台进行测试,并修复各种漏洞。Google还表示,将在未来几个月内发布有关Android平台安全功能的更多细节,并面向开发人员发布Android应用程序中的这些功能的使用文件和指南。

另一方面,8月18日,美国联邦通信委员会(FCC)公布了一份批准宏达(HTC)Dream手机11月上市的文件。有消息称,HTC Dream是一款基于Android平台的手机。尽管目前宏达和Google方面均未证实,但如果消息属实,HTC Dream将是第一款上市的Android手机。

篇5:Android学习总结

零零碎碎的总结:

1.客户端的功能逻辑不难,UI界面也不难,但写UI花的时间是写功能逻辑的两倍.2.写代码前的思考过程非常重要,即使在简单的功能,也需要在本子上把该功能的运行过程写出来.3.要有自己的知识库,可以是一个工具类,把写过的,看过的好的代码放进去,也可以是一个笔记本软件.因为只有放在知识库里的东西,才是你最重要的财富.4.如果你想做自由职业者,你需要学英语,因为在国外的盈利比国内多很多.如果你想进大公司,好公司,你需要学英语.你想深入学习android,但中文的android文章太少了,你查查百度,到处都是copy来copy去的hellword,所以,你需要学英语.如果你想出国,你需要学英语.5.Http协议要研究透彻.http的信息头有什么信息,分别代表什么,信息体有什么信息,代表什么,都要搞的明明白白.scoket也是一样.6.在eclipse里的layout文件都有graphical Layout.通过这个好好的把UI调整好.7.Android里的junit每次运行都会打包新的apk到设备上跑.效率非常慢.如果是跟android无关的测试,最好自己建立一个单纯的java项目做测试.8.面试的时候不要觉得自己提的薪水太高,物以稀为贵明白吗?不管你的期望薪资多少,都有可能实现,这只是时间问题.9.如果一家小公司通过猎头找到你,即使公司在小,也比外面那些40,50人的公司还要好.不要觉得公司不行,担心会倒闭.放心吧,至少活1年是没问题的.10.不要把自己绑在android上,有空也研究下IOS(最近小弟就准备研究ios,刚买了6本书...).11.移动互联网最少还有10年的快速增长.android最少还有两年的快速增长.走android这条路是不会错的.12.有空多学点开放平台的SDK.比如新浪微博,腾讯微博,淘宝平台,支付宝移动支付平台,快钱移动支付平台等等..这些都是不愁没市场的.13.即使技术再差,也要发布一个应用到market上去.因为这样你才了解做一个应用的逻辑.14.每个月拿到薪水省500-1000元出来.这些钱投在买学习资料,去培训班上课...在培训班,花再多的钱也是值得的.15.你真正的价值在项目经验和对底层的认识上.不要忽略基础知识.16.如果有空把Android的源代码看一下.底层的东西很枯燥,但这些很值得学.17..程序员其实是艺术家.代码重构和设计模式,是非常非常重要的东西,必须要学

18.不要去维护一个项目,要去做一个项目.19.一开始不要轻易去大公司,虽然大公司是可以让你呆一辈子的.但你的起点低,以后成就也低.20:每天早上提前20分钟上班,5分钟把今天的工作计划写好.15分钟用来看各大It论坛的新闻.21:如果以前没做过java,那就把SSH看下,自己搭建一个小服务器.这是为了接私活用.22:PS一定要学,接私活用.23:多下载市面上好的应用,每天都用,只有这样你才能了解市场.现在所有的APK都可以反编译,看源代码麻烦,但看layout和图片很容易,所以....你懂的.24.要有羞耻心.25.老板仅仅要求你把东西做完,需求完成.但你必须对自己要更严格一点.写一段代码,从网上复制一份代码,并不是可以用就行了,你还必须明白他的原理,为什么这样就可以?这才是对你最有用的地方,这也是你今后薪资增长的保证.26.要懂得舍得.移动领域发展太快,必要时必须要用钱换时间.不然你会远远落后别人(我之前花了4000大洋去培训班学IOS三天).27.要明白自己想要什么,什么才能最大性价比提高你的能力.对我来说,能让我提高最大的,就是Android和IOS同时会,并且自己可以做架构设计.28.看android技术书籍最快的学习方法,先通读一次.然后把书本上的demo一个一个写出来.不要觉得太容易不去写.很多东西都是这样,看起来简单,但做起来难.最后再对照自己写出来的程序代码去理解书本的意思.29.应用和游戏是2个方向,没有一个公司会同时做游戏又做应用,即使是外包公司,大多也只做一块.专精一个就可以了.30.每次做完一个项目,要强迫自己做总结,通过这个项目,我学到了什么新技术?犯了哪些

SB错误?

篇6:android学习方法

成为高级工程师就没有太具体了,就是把中级工程师的那几个建议,每个都做的很好,这个阶段往往需要1-2年或者更多。高级工程师的要求是:熟练掌握android api,理解android的内部运行机制,对view、activity等一些常用的android内部运行机制熟练掌握,对常见的android知识点都有涉猎,并且还能够解决一些比较偏门的问题(需要基于android的内部机制),对android的性能调优和适配有认识,代码风格较好并且具有一定的设计模式,在工作上除了技术还要有业务的理解,能够指导初中级工程师,在工作中能够独挡一面。同时在解决问题的能力上达到一个全新的档次,即能够用恰当的手段去解决无法google出来的问题的答案。这个解决问题的能力的档次,这个有点抽象,但是的确很重要,它决定了一个人的档次,具体的需要大家慢慢体会,当技术达到一个档次后,你就可以轻松解决一些疑难杂症。

关于整个周期,从初级到高级大概要2-3年,或者更久。这么说,业余时间利用的越充分,这个周期就会越短,你的个人价值就会越高。虽然说起来简单,但是努力的过程是很艰辛的,但是只要你坚持去努力,很快你的生活就会不一样,相信这一点,谁都知道要努力才能有所收获,但为什么还是好多人没收获呢,原因是努力是不容易的,是要花时间的,是比看电影玩游戏要痛苦很多的。不怕别人比我们聪明,就怕比我们聪明的人还比我们努力。好了,大家加油了,花的时间到了,高级工程师自然就有了。最后,再强调下努力的重要性,在一个公司里,周围人的水平都和我们差不多,要深知脱颖而出的困难程度,从那么多人中脱颖而出是很难的。因此,一定要努力,一定要逼着自己去学习,这样才有可能脱颖而出,请大家一定要有这个意识。

篇7:android学习方法

首先,要找家靠谱的公司去做android,什么是靠谱的公司,就是在里面能学到东西,可以先不考虑待遇什么的,毕竟技术有了,后面待遇也就自然有了。平时在公司要认真做项目,积极主动,一切以学知识为目标,不要图轻松少做项目。同时还要学习公司内部高级工程师、架构师们写的代码,加以理解变为自己的东西。这些都是工作中的经验,除了工作,还需要在业余时间勤奋 学习才可以。业余时间是指非工作时间的其他时间,而且这个时间利用的越多,你的成长之路历程就会越短,你就能越快地提高技术。大家不要小看业余时间,甚至好多情况下,只有工作时间是远远不够的,必须在业余时间也学习才行。那么业余时间如何学习呢?

给大家如下几个建议:

1.写一个app,比如高仿系列,或者自己做一个app发布也行

2.建立一个博客,csdn或者个人博客都行

这一条在我的眼里,是必须的,因为学习讲究总结、融会贯通,而博客刚好可以给我们一个写总结的地方。时不时把自己的知识汇总下写一篇博客出来,这对自己是一个提高,对别人也是一个帮助。这个怎么说呢,当你写博客,你就会发现一个知识你自己会了和写出来这是不一样的,能写出来才是真正地懂了。另外,当你的博客写好了,会有好多人看,这对你也是一个赞赏和激励,让你觉得你的辛勤劳动更有价值,这种利人利己的事,是一定要做的。刚开始写点基础的,慢慢就要写点难一点的,这样才能逐步提高。除了写博客,平时也要在内心多总结、思考才行,比如可以想想,android中所有的IPC方式有哪些等。写博客和做开源,对于提高个人知名度很有作用,而一旦有了知名度,很多好事就都来了。

3. 建立或者参加开源,比如github

开源的好处就不同提了,github上各色各样的开源都有,平时大家都是拿来用,但是自己写一个开源给全世界的人用,不是一个很美好的事情吗?建议大家参加开源,因为开源看起来档次比较高。

4.研究android中一些高级的概念、源码等

这个是很重要的,除了量变外,还需要质变。作为一个中级工程师,必须在核心技术上也有所提高,比如aidl、remoteviews、android内部的运行机制等

篇8:android学习路线

关键词:移动学习,Android系统,学习平台

0 引言

移动学习平台的可见完善是随着第三代通信网络的发展建设而日益推进的, 三大运营商 (移动、联通和电信) 从2012年的3G发展到4G, 网络带宽性能日趋优越, 如今人们已可通过4G网络方便快捷地接入移动互联网。据中国互联网信息中心CNNIC发布调查报告, 截至2014年6月, 我国网民规模达6.32亿, 其中手机网民达5.27亿。手机上网比例首超传统PC上网比例。

移动学习平台给人们生活带来更多便捷, 同时能够更为快速地获取网络的各类资源。移动课堂学习平台就是众多应用程序中的一种, 而且是能够应用在手机上的“课堂”。该款平台可以通过移动设备随时随地获取自己想要的信息, 实现真正意义上的自主学习。尤其在各大高等院校, 手机已经成为当代大学生随身携带的必备工具之一, 让手机上的“课堂”走入学生生活现已成为一种主流时尚趋势。

移动学习具有“Anyone Anytime Anywhere Anystyle”型自由式学习的特征, 可以有效地满足人们日益增长的学习需求, 缓解当前传统教育的课堂教学压力。移动学习可将情境感知、个性化、触觉交互、多媒体、移动计算等各类新技术融合交互进教育与培训领域, 因而具有了很多不同于传统eLearning的崭新特性。

1 国内外移动学习平台现状

移动学习平台是将移动平台的嵌入式软件设计, 后台支持系统的设计、无线接入和验证技术、移动交互技术结合在一起而形成的综合性可操作平台[1]。从研究项目的地域上看, 欧洲对移动学习的研究最为活跃, 研究和应用也相对更广泛。近年来, 欧洲相继启动多个移动学习项目, 这些项目关注的研究内容也不尽相同, 涉及英、德、瑞典和挪威等数十个国家。在我国, 移动学习项目始于2001年北京大学“移动教育理论与实践”项目, 相继推出的还有北京大学、清华大学、北京师范大学参与的教育部“移动教育”项目, 除此之外还有北京大学、南京大学等高校与一些移动通信企业合作开展的相关项目研究。

2 移动学习平台需求分析

根据高校特点进行需求分析, 主要采用结构化分析方法和面向对象分析方法[2], 采用UML建模语言开展分析和设计。UML是一种可视化的建模语言[3], 主要包括三个基本构造块:事物 (Things) 、关系 (Relationships) 和图 (Diagrams) 。

整个系统模块的设计遵循系统总体设计思路, 即基于模型构建, 由此提供给学员们一个内容丰富, 效率高超的网络空间。该系统包括学生、教师和系统管理者三种用户类型, 而在实际的应用过程中主要体现为学生和教师两种用户。针对这一状况, 用户需求内容则包括学生成绩管理、学院题库、在线课堂、学院公告、学院海报和学院广播站。具体地, 移动学习平台需求功能可如图1所示。

3 移动学习平台基本架构

3.1 移动学习平台架构形式

综合上述的系统需求分析可以得出, 学习者即客户端主要通过Wifi或3G、4G网络接入到学习系统服务器, 以实现教学资源或课程内容的学习。而教师主要利用PC机通过Internet接入到移动学习系统的服务器, 以此方式进行数据管理, 包括在线课堂、题库上传、学习成绩录入等任务实施, 在根本上是兼负着管理员的主要职责, 对于系统进行配置和管理, 节省人员开支。

服务器端是整个系统的核心, 为系统提供数据内容和数据处理。服务器端的设计将从系统层次结构设计、访问控制流程设计、基类设计、功能模块设计、API设计、数据库设计、优化设计等七个方面逐次进入和展开[4]。本移动学习平台的总体拓扑图如图2所示。

3.2 移动应用架构模式

移动终端的应用模式开发主要有三种架构, 分别是单机模式, C/S模式, B/S模式。这几种模式, 也是台式机上应用软件的主要架构模式。对其具体分析阐释如下。

单机客户端的设计方式是应用软件开发最基本, 最经典的运作方式, 可将用户需要的全部内容, 包含程序和相对应的数据全部存放到运行的机器上, 也就是移动终端上。而瘦客户端架构方式又称B/S软件架构方式, 通常指的是在客户端基于浏览器进行开发设计, 并通过网络和后台服务器进行交互的一种软件设计方式[5]。

本课题主要采用的是C/S模式, 由于所有业务逻辑全部依托于客户端运行实现, 这样客户端就会变得复杂与超载, 虽说客户端配置不断升级, 也终将是在维护和性能方面出现一定削弱。因此, 从客户端分离出一个业务逻辑层, 客户端只实现用户界面和数据呈现, 业务逻辑层主要负责具体的业务逻辑, 并向数据访问层发出任务执行请求。以上层次之间是相互独立的, 非常便于系统维护[6]。

4 移动学习平台设计

移动学习平台主要针对高校在校师生构造与搭建, 可为师生在教与学的过程中建立起线上线下便捷沟通的有利环境, 让学生随时获取学习资料, 进入学习状态, 同时还可利用互联网的共享资源条件进一步拓展学习范围。而在学习中产生的疑问则能够运用畅通的渠道获取相关教师的实时明确解答。此外, 教师也可以利用线上线下开设业余课程, 从而对教学进行改革, 起到因时授教、因需施教的作用。移动学习平台的设计具体可分为以下三个方面。

4.1 移动教学平台客户端设计

此部分主要功能有:个人应用、学校应用、其它。其中, 学校应用包括题库、在线课堂、学院优秀群、学院海报、学院广播。这一部分重点突出在线课堂, 目的是形成线上线下课堂一体性, 线上教师开设自己特长专业课堂 (由系或教务处审批) , 学员可以由本系或外系相关专业学生组成 (由开设课程教师审批) , 形成一个开放性的课堂。此种形式也可以开设为线上选修课, 并计入选修课学分。

4.2 移动教学平台服务器端

服务器端主要功能有:教师模块、学生模块、超级管理模块。主要提供师生网上课堂学习、测试、复习, 共享资源分享题库, 师生教案下载等网络支持系统。线上课堂中, 教师可以布置作业、问题和任务, 由学生自主学习完成, 也可以在线讨论研究, 增加线下辅导或答疑, 从而形成线上线下互动机制, 同时增进学生的学习兴趣和热情。

4.3 移动学习平台客户端界面设计

移动应用是否成功还需要实现和提供一个突出的用户体验, 因此在进行系统设计时, 用户体验将置于优先考虑的地位。快速、响应、无缝是显著用户体验必然具备的三个重要特征, 即运行速度快、反应敏捷和良好的交互。

移动学习端的用户主要是教师和学生。学生在本移动平台学习不需要进行注册, 只需要在移动终端登陆页面输入学号、密码, 匹配学生库, 实现学员用户登陆。教师只需要输入教师职工工位号、密码, 匹配教师库, 实现教师用户登陆。

客户端界面设计效果图如图3所示。

5 项目创新点

(1) 学校应用。学校应用是本文系统核心部分, 通过高校在线课堂的创立, 让在线课堂成为学生学习专业的启征点, 从而使开放性课堂走入不同专业、不同层次的学生中去。题库的建立有利于形成一个稳定的教学系统, 教师可以把课上的教案、课件、实验均置于其中, 师生都可随时下载研读, 因此构建一个良好的学习实现环境。

(2) 教学信息化管理。PC端管理可以对教师、学生的所有信息实施管理, 一旦系统建立起来, 还要建立一支学生形成的管理团队, 由高校专属部门进行严格管理和工作分配, 以实现真正的教育信息化和数字化。

6 结束语

移动学习在高等院校中的应用仍然处于起步阶段, 具体研发队伍还未臻于成熟和健全, 也仍未得到各院校、尤其是民办院校的应有重视, 而且老师和学生水平更有待于进一步增强和提高。移动学习平台的设计是集开发、设计于一体的课题科研项目, 在规划和设计过程中尚有很多因素需要探讨与解决, 今后即需将整体项目按照规划的思路进行和开展下去, 保证项目整体的良好、有序实现。

参考文献

[1]周济, 宋浩, 曾仲培, 等.引入移动学习技术满足学生随时之需—深圳电大移动学习网的构建与应用实践探索[J].中国远程教育, 2007, 12 (2) :45-46.

[2]樊学东.软件需求分析过程研究[J].中国电子商务, 2010 (2) :58.

[3]郑明辉.基于UML的需求分析过程研究[J].微机发展, 2004 (5) :120-123.

[4]吕伟.基于Android移动学习平台的设计与实现[D].南京:南京师范大学, 2013.

[5]周辉.基于Android移动学习平台研究与实现[D].成都:电子科技大学, 2012.

篇9:android学习路线

关键词:移动学习;数字化学习;Android;学习类App;App Inventor

中图分类号TP399 文献标识码:A 文章编号:1009-3044(2016)20-0092-02

随着智能移动终端的迅速发展与普及,一种全新的学习模式逐渐得到人们的关注,这就是移动学习。移动学习是一种在移动设备帮助下能够在任何时间、任何地点发生的学习,移动学习所使用的移动计算设备必须能够有效地呈现学习内容并且提供教师与学习者之间的双向交流 [1]。它具有良好的交互性、学习设备可随身携带、学习者可随时随地学习等优点,成为教育技术领域研究的又一个新热点。

移动学习的研究起步于欧洲和北美部分经济发达国家,就研究进展来看它的发展非常迅猛,出现了很多新技术、新思想和新方法。较之欧美等发达国家,我国移动学习的研究起步相对较晚。但这几年发展迅速,越来越多的人开始关注移动学习,移动学习的理论与应用研究取得了一定的成绩。文章针对移动学习的特点,对移动学习类APP的设计与实现展开论述,并且设计开发了一款基于Android平台的智能移动终端学习类APP 软件。

1 移动学习的特点

移动学习是在数字化学习的基础上发展起来的,是数字化学习的扩展。它除具备了数字化学习的所有特征之外,还有独一无二的特性:

1)自由性。即学习者不再被限制在电脑桌前,可在任何时间任何地点学习任何内容。

2)片段性。学习者可以充分利用时间碎片(例如坐车时)进行学习。碎片化学习要求充分利用人们的时间空隙,所以移动端学习内容应该是学习时间相对较短的学习组块,学习内容单元之间松散连接。

3)情境性。学习者可以携带移动设备在真实或仿真环境中进行情境体验,这有助于促进学习者理解和运用所学的知识。

2 开发环境及开发工具

2.1 开发环境—Android

Android是一种基于Linux自由及开放源代码的移动设备操作系统。同Palm OS、Symbian、Windows mobile、 iPhone OS等移动端操作系统相比,Android 具有开放性、应用程序平等性、应用程序间无界限和方便快速的应用程序开发等 4 个无可比拟的优点。[2]目前,Android已经成为市场份额最高的移动操作系统。Android应用开发最大特点是将界面开发与业务开发完美地区分开,并且各种资源配置也有其相应的位置存放,用工厂模式便可方便快捷地使用资源。[3]所以,在Android平台下APP开发的大部分精力都放在用户体验方面,大大减轻了开发者的负担。

2.2开发工具—App Inventor

App Inventor是谷歌公司推出用来开发Android应用程序的平台。它是一个完全在线开发的环境,在此环境下所有的项目都储存在云端服务器。因此,开发者能在任何一台可以上网的机器上进行APP设计和开发。

App Inventor主要有三大作业模块:

(1)组件设计:提供图像、按钮等各种组件用以界面设计;

(2)逻辑设计:通过将封装好的程序代码进行连接完成“程序设计”;

(3)模拟器:设计开发时可用模拟器来进行测试,但模拟器在部分功能上无法提供测试(如重力传感器等)。

App Inventor通过搭建积木块的方式开发Android平台下的APP,开发者无需直接编写程序代码。这大大降低了开发的技术难度,可以让学习类APP开发者专注于学习资源的设计和开发。

3 学习类APP设计开发

下面将以一款学习类APP—《轻松学做网页》为例,展示其设计和开发过程。该款APP的使用对象是在校大学生,开发的内容是介绍使用Dreamweaver CS6制作网页。APP中提供了众多的资源和功能,具有良好的交互性,能帮助同学们轻松掌握网页制作技能。

3.1组件设计

《轻松学做网页》APP共分成基本理论、操作视频、实验实训、行业认证、精品赏析、信息反馈六个模块。“基本理论”介绍了网页设计的基本知识,如什么是网页、网页常见布局等。“操作视频”演示了Dreamweaver CS6软件的使用。“实验实训”放置了7个实训项目,对基本理论和操作进行实际验证。“行业认证”介绍了Adobe网页设计师认证情况。“精品赏析”中给出了国内外优秀网页的图片,用以提高学习者的美术功底。“信息反馈”则让用户通过文字、语音等方式反馈APP使用过程中的问题及建议。

在App Inventor中,界面是通过组件设计完成的。App Inventor 提供了“用户界面”、“界面布局”、“多媒体”等10类共计60个组件。如此丰富的组件资源能使开发者轻松地完成界面设计。该项目APP的主界面制作过程如下:1)将“界面布局”下的表格布局组件拖入屏幕,在右侧的属性面板中设置为6行3列;2)拖动“用户界面”中的按钮组件到表格中相应的位置,一共放置六个按钮;3)用加工好的六张图片作为按钮背景。APP的主界面效果图如图1所示。

每个模块的子界面制作过程大体相同:(1)点击“增加屏幕”按钮,添加一个新的屏幕用以设计子界面;(2)在新增的屏幕上拖入相应的组件并设置组件属性,如需显示图像就先拖入图像组件,然后设置其图片、高度、宽度等属性。

3.2 逻辑设计

逻辑设计用来检测用户的行为(如点击按钮、滑动屏幕)并做出相对的反应,如当用户点击“基本理论”按钮后打开介绍基本理论的屏幕。App Inventor中的逻辑设计是通过封装好的程序模块拼接完成,共有“逻辑”、“控制”、“数学”、“文本”、“列表”、“颜色”、“变量”、“过程”八类模块。每一类的模块都用不同颜色显示。点击“基本理论”按钮的逻辑设计步骤如下:1)点击“逻辑设计”按钮将工作面板切换到逻辑设计视图;2)选中“模块”面板下的“按钮1_基本理论”,拖动“控制”模块下的“按钮被点击”代码块到逻辑设计界面;3)拖动“打开屏幕”代码块到“当按钮1_基本理论.被點击”代码块下;4)将“文本”模块下的“空字符串”代码块拼接到“打开屏幕 屏幕名称”代码块后。完成后的效果如图2所示。主界面中其它按钮的逻辑设计和“基本理论”类似。在子界面下返回主界面的逻辑设计如图3所示。

4 结束语

本文分析了移动学习的特点,在移动学习理论的指导下,设计和开发了一款基于Android系统的学习类APP。此APP提供了丰富的学习资源,能满足在校大学生的使用需求。随着移动学习类应用的丰富,人们可以方便地获取自己所需的学习资源,进而推动移动学习的快速发展。

参考文献:

[1]百度百科.移动学习[EB/OL].[2016-05-20].http://baike.baiu.com/view/3003454.htm.

[2]曾健平,邵艳洁.Android 系统架构及应用程序开发研究[J].微计算机信息,2011(9):1-3.

篇10:android学习路线

BroadCast(广播),概念:一种在系统内进行通信的机制.通过这种机制,它能够将系统中的某个进程的信息或者意图传递到其他的对这些信息或者意图感兴趣的进程.广播发送者:想要主动传递自己的信息或者意图给系统或者特定的接收者,以便其作出响应.广播接收者:想要接收系统或者特定进程的某些信息或意图,以便作出相应的响应.Android广播机制包含三个基本要素: 广播(Broadcast)-----用于发送广播。

广播接收器(BroadcastReceiver)-----用于接收广播。

意图内容(Intent)-----用于保存广播相关信息的媒介。

广播的过程:首先在需要发送信息的地方,把要发送的信息和用于过滤的信息(如Action、Category)装入一个Intent对象,然后通过调用Context.sendBroadcast()、Context.sendOrderBroadcast()方法,把Intent对象以广播的方式发出去。当Intent发送以后,所有已经注册的BroadcastReceiver会检查注册时的Intentfilter是否与发送的Intent相匹配,若匹配就会调用BroadcastReceiver的void onReceive(Context curContext, Intent broadcastMsg)方法,onReceiver()方法执行完成后,BroadcastReceiver的实例就会销毁。

sendBroadCast():发送普通广播可以在同一时刻被所有接收者收到

优点:消息传递效率高

缺点:各个接收者之间无法通信,无法终止消息传播

sendOrderedBroadCast:发送有序广播

接收者将按预先声明的优先级依次接收广播消息 优先级设置: android:priority(-1000∽1000)数越大级别越高 也可调用IntentFilter对象的setPriority()设置

上一个接收者可往广播中压入数据传递给下一个接收者

任意一个接收者都可终止广播的传播,下一个就不能接收 注意:

如果找不到合适的BroadcastReceiver组件,应用不会有任何问题。onReceiver()方法不能在10秒执行完成,会认为该进程无响应。弹出ANR(application no response)的对话框。

源代码实例如下: 发送普通广播: Aactivity:

protected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);button =(Button)findViewById(R.id.button1);button.setOnClickListener(new OnClickListener(){ @Override public void onClick(View arg0){ Intent intent = new Intent();

intent.setAction(“com.coslay.action.CUSTOM_BROADCAST”);intent.putExtra(“msg”,“简单的消息”);sendBroadcast(intent);} });} 程序启动BroadcastReceiver只需要两步: 创建需要启动的BroadcastReceiver的Intent 调用Context的sendBroadcast()或sendOrderedBroadcast()方法来启动指定的BroadcastReceiver BroadcastReceiver:

public class CustomReceiver extends BroadcastReceiver{ @Override public void onReceive(Context arg0, Intent arg1){

Toast.makeText(arg0, “接收到的Intent的Action为:”+arg1.getAction()+“n消息内容是:”+arg1.getStringExtra(“msg”), Toast.LENGTH_LONG).show();} 只要重写BroadcastReceiver的onReceive(Context context,Intent intent)方法即可。然后在如下注册监听器即可。

AndroidManifest.xml:

指定该BroadcastReceiver能匹配的Intent有两种方式: 1.使用代码进行指定: IntentFilter filter = new IntentFilter(“android.provider.Telephony.SMS_RECEIVED”);SomeReceiver receiver = new SomeReceiver();registerReceiver(receiver,filter);2.在AndroidManifest.xml文件中配置。如上所示。发送有序广播: Aactivity:

button2 =(Button)findViewById(R.id.button2);button2.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v){ Intent intent = new Intent();

intent.setAction(“com.coslay.action.SORTED_BROADCAST”);intent.putExtra(“msg”, “简单的消息”);sendOrderedBroadcast(intent, null);} });BroadcastReceiver:

public class SortedBroadcastReceiver extends BroadcastReceiver{ @Override public void onReceive(Context context, Intent intent){

Toast.makeText(context, “接收到的Intent的Action为:”+intent.getAction()+“n消息内容是:”+intent.getStringExtra(“msg”), Toast.LENGTH_LONG).show();//创建一个Bundle对象,并存入数据 Bundle bundle = new Bundle();//将bundle存入结果中

bundle.putString(“first”, “第一个BroadcastReceiver存入的消息”);setResultExtras(bundle);//取消Broadcast的继续传播 //abortBroadcast();} } 优先接收到Broadcast的接收者可以通过 setResultExtras(bundle);方法将处理结果存入Broadcast中,然后传给下一个接收者,下一个接收者通过代码:Bundle bundle = getResultExtras(true)可以获取上一个接收者存入的数据。

AndroidManifest.xml:

接收系统广播(接收开机广播启动服务): BroadcastReceiver如下:

public class LaunchReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent){ Intent tIntent = new Intent(context , LaunchService.class);// 启动指定Service context.startService(tIntent);} } Service如下:

public class LaunchService extends Service { @Override public IBinderonBind(Intent intent){ return null;} @Override public void onCreate(){ // 定义1秒执行一行输出

new Timer().schedule(new TimerTask(){ @Override public void run(){ System.out.println(“-----” + new Date()+ “-----”);} }, 0, 1000);} } AndroidManifest.xml:

BroadcastReceiver可以实现Service与Activity之间的通信: Activity如下:

public class MusicBox extends Activity implements OnClickListener { // 获取界面中显示歌曲标题、作者文本框 TextView title, author;// 播放/暂停、停止按钮 ImageButton play, stop;ActivityReceiveractivityReceiver;public static final String CTL_ACTION = “org.crazyit.action.CTL_ACTION”;public static final String UPDATE_ACTION = “org.crazyit.action.UPDATE_ACTION”;// 定义音乐的播放状态,0x11代表没有播放;0x12代表正在播放;0x13代表暂停 int status = 0x11;String[] titleStrs = new String[] { “心愿”, “约定”, “美丽新世界” };String[] authorStrs = new String[] { “未知艺术家”, “周蕙”, “伍佰” };

@Override public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState);setContentView(R.layout.main);// 获取程序界面界面中的两个按钮

play =(ImageButton)this.findViewById(R.id.play);stop =(ImageButton)this.findViewById(R.id.stop);title =(TextView)findViewById(R.id.title);author =(TextView)findViewById(R.id.author);// 为两个按钮的单击事件添加监听器 play.setOnClickListener(this);stop.setOnClickListener(this);activityReceiver = new ActivityReceiver();// 创建IntentFilter IntentFilter filter = new IntentFilter();// 指定BroadcastReceiver监听的Action filter.addAction(UPDATE_ACTION);// 注册BroadcastReceiver registerReceiver(activityReceiver, filter);Intent intent = new Intent(this, MusicService.class);// 启动后台Service startService(intent);}

// 自定义的BroadcastReceiver,负责监听从Service传回来的广播 public class ActivityReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent){ // 获取Intent中的update消息,update代表播放状态 int update = intent.getIntExtra(“update”,-1);// 获取Intent中的current消息,current代表当前正在播放的歌曲 int current = intent.getIntExtra(“current”,-1);if(current >= 0){ title.setText(titleStrs[current]);author.setText(authorStrs[current]);} switch(update){ case 0x11: play.setImageResource(R.drawable.play);status = 0x11;break;// 控制系统进入播放状态 case 0x12: // 播放状态下设置使用暂停图标

play.setImageResource(R.drawable.pause);// 设置当前状态 status = 0x12;break;// 控制系统进入暂停状态 case 0x13: // 暂停状态下设置使用播放图标

play.setImageResource(R.drawable.play);// 设置当前状态 status = 0x13;break;} } }

@Override public void onClick(View source){ // 创建Intent Intentintent = new Intent(“org.crazyit.action.CTL_ACTION”);switch(source.getId()){ // 按下播放/暂停按钮 case R.id.play: intent.putExtra(“control”, 1);break;// 按下停止按钮 case R.id.stop: intent.putExtra(“control”, 2);break;} // 发送广播,将被Service组件中的BroadcastReceiver接收到 sendBroadcast(intent);} } Service的实例代码如下:

public class MusicService extends Service { MyReceiverserviceReceiver;AssetManager am;String[] musics = new String[] { “wish.mp3”, “promise.mp3”, “beautiful.mp3” };MediaPlayermPlayer;// 当前的状态,0x11 代表没有播放 ;0x12代表 正在播放;0x13代表暂停 int status = 0x11;// 记录当前正在播放的音乐 int current = 0;

@Override public IBinderonBind(Intent intent){ return null;}

@Override public void onCreate(){ am = getAssets();// 创建BroadcastReceiver serviceReceiver = new MyReceiver();// 创建IntentFilter IntentFilter filter = new IntentFilter();filter.addAction(MusicBox.CTL_ACTION);registerReceiver(serviceReceiver, filter);// 创建MediaPlayer mPlayer = new MediaPlayer();// 为MediaPlayer播放完成事件绑定监听器

mPlayer.setOnCompletionListener(new OnCompletionListener()//① { @Override public void onCompletion(MediaPlayermp){ current++;if(current >= 3){ current = 0;} // 发送广播通知Activity更改文本框

Intent sendIntent = new Intent(MusicBox.UPDATE_ACTION);sendIntent.putExtra(“current”, current);// 发送广播,将被Activity组件中的BroadcastReceiver接收到 sendBroadcast(sendIntent);// 准备、并播放音乐

prepareAndPlay(musics[current]);} });super.onCreate();}

public class MyReceiver extends BroadcastReceiver { @Override public void onReceive(final Context context, Intent intent){ int control = intent.getIntExtra(“control”,-1);switch(control){ // 播放或暂停 case 1: // 原来处于没有播放状态 if(status == 0x11){ // 准备、并播放音乐

prepareAndPlay(musics[current]);status = 0x12;} // 原来处于播放状态 else if(status == 0x12){ // 暂停

mPlayer.pause();// 改变为暂停状态 status = 0x13;} // 原来处于暂停状态 else if(status == 0x13){ // 播放

mPlayer.start();// 改变状态 status = 0x12;} break;// 停止声音 case 2: // 如果原来正在播放或暂停

if(status == 0x12 || status == 0x13){ // 停止播放 mPlayer.stop();status = 0x11;} } // 发送广播通知Activity更改图标、文本框

Intent sendIntent = new Intent(MusicBox.UPDATE_ACTION);sendIntent.putExtra(“update”, status);sendIntent.putExtra(“current”, current);// 发送广播,将被Activity组件中的BroadcastReceiver接收到 sendBroadcast(sendIntent);} }

private void prepareAndPlay(String music){ try { // 打开指定音乐文件

AssetFileDescriptorafd = am.openFd(music);mPlayer.reset();// 使用MediaPlayer加载指定的声音文件。mPlayer.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength());// 准备声音 mPlayer.prepare();// 播放

篇11:android学习方法总结

1.搭建环境:包括对Java和Eclipse及模拟器(有真机再好不过)的熟悉,对于android的tools和adb命令可以放到后面熟悉了解。

2.从helloworld开始:了解一个基本的android应用代码包含哪些,各部分做什么用。(这里只要先了解个大概就好)

3.activity、intent:了解activity是什么及其生命周期,intent是什么东西及它是基于消息机制。

4.掌握基础:这阶段你可以反复的修改及单步调试一个简单的程序,并学会logcat、单步调试、最基本的View、最简单的布局、进而对service、intentFilter等的熟悉 (以上4步骤推荐看深入浅出Google_Android.pdf这个电子书就够了)

篇12:android学习路线

下面我们将介绍 如何查看Android源码,

Android 学习笔记之 个人认为最简单的查看Android源码方案

本文有如下优点:

1.不用费心去找Android源码地址:一个字烦,网上的东西杂七杂八的。。。

2.不用担心过程难,这个就三步。。

工具:ADT

篇13:android学习路线

随着通讯技术和互联网技术的发展,各类便携的、易用的、高性能的移动终端不断出现,移动网络所提供的服务和容量不断扩展。而“移动”也正成为未来技术发展和社会变化的主题,如何利用移动设备开展教学活动已经成为国内外教育界专家研究的热点问题。移动学习,作为一种新型教育方式,必将成为传统教育的补充,给传统教育注入活力,同时引起学习的变革。

1 移动学习概述

1.1 移动学习的内涵

作为一个新兴的、发展中的研究领域,移动学习的概念目前还没有形成较为统一的共识。Paul Harris认为移动学习能够为学习者带来一种随时随地的学习体验,能够使学习者通过移动电话或PDA随时随地享受教育片段。Alexzander Dye等人认为移动学习能够随时随地有效地呈现教学内容,并且提供教师和学习者之间的双向交流。黄荣怀认为移动学习是指学习者在非固定和非预先设定的位置下发生的学习,或有效利用移动技术所发生的学习。

1.2 移动学习的特征

基于对上述移动学习概念内涵的理解,移动学习的特征主要有:

(1)移动性,提供随时随地的学习环境。移动学习,摆脱了以教室为主的面对面教学环境。利用移动设备,学习者可随意支配时间、把握空间,获取相关数据信息进行学习和交流。

(2)情境性,提供真实或仿真学习情境。移动技术为情境学习提供了支持,使得教与学突破时空的限制,可以在真实的自然、社会环境中互动交流或者模拟真实情境开展教学。

(3)实时性,提供Just-in-Time的学习内容。“Just-in-Time”学习,即非正式学习,在学习者需要的时候为其提供学习信息,通过移动设备、互联网技术获取需要的信息。

2 Android系统的特点

Android系统是谷歌公司在2007年发布的一款开源码操作系统,主要应用于便携设备。该系统采用Softwarestack架构,由操作系统、中间件、用户界面和应用软件组成。随着Google及Open Handse Alliance(开放联盟)其他成员的大力推进,Android平台的市场占有率逐渐增加,已成为移动设备的主流操作系统,因此基于Android的移动学习平台开发具有广阔的应用前景。Android系统具有以下特点:

(1)开放性。Android拒绝专有权,提倡开放性,提供了开源的操作系统。而开放的平台允许任何移动终端厂商加入到Android联盟中,共同研究开发Android系统,使其越来越成熟。同时还有利于Android积累人气,降低生产成本。

(2)并行性。Android采用完整的多任务环境,应用程序可以并行运行。最近运行过的程序都常驻后台,而在内存管理上则由系统选择性地自动杀掉占用内存的近期非活跃进程。

(3)网络化。Android侧重于网络应用方面的功能,保证了信息的实时更新。借助Android的widget可以方便地整合现有的互联网资源,开展交流学习和评价。

(4)个性化。Android创造性地引入了“软件商店”营销模式,运营商和用户可根据需求自主预定出厂软件,制定自己特色化和个性化的产品,这是软件业发展的里程碑,对推动3G应用将会产生深远影响。

3 基于Android的移动学习平台设计研究

3.1 设计原则

(1)理念先进性。理念决定思路,决定人们思考问题的角度和方式。设计理念的先进性,有助于使移动学习平台在功能和性能上达到较高的水准。移动学习作为一种新型的学习方式,在设计过程中一定要引进先进的教育理念和技术理念作为支撑。

(2)资源丰富性。没有课程资源的广泛支持,再好的理念和目标也很难变成实际的教育成果,课程资源的丰富性和适切性程度决定着课程目标的实现范围和实现水平。因此要重视学习资源的丰富性,及时为客户端更新学习资源。

(3)操作简易性。根据学习者特点,从学习者需求出发,设计简洁、易操作的交互界面,减少学习成本,提高系统的可用性和用户体验。

3.2 体系框架

3G时代的移动网络,逐渐被C/S技术取代。因此本系统采用了基于Android平台的C/S体系框架,主要通过客户端从服务器下载学习资源,如图1所示。

(1)客户端Android平台通过Web服务利用用户操作界面Activity调用Client Request和my Handler对象向服务器发送请求,获取学习资源和相关信息。

(2)服务器端数据库系统采用SQL Server2005数据库,主要用于保存用户信息、学习资源、课程信息等相关数据。

(3)服务器端管理系统负责完成用户信息、学习资源、课程信息等数据的管理操作。

3.3 功能模块

基于以上体系框架,设计了如下移动学习系统平台,共有管理员模块、教师模块、学生模块三部分,如图2所示。在功能模块设计中,既要注重交互性,又要注意简洁、易用性。

(1)学生模块。包括注册、课程公告、课程学习、资源上传、在线提问、在线测试等功能。

(2)教师模块。包括注册、发布公告、课程设计、资源上传、答疑、作业等功能。

(3)管理员模块。包括用户管理、资源管理及各类日常维护等功能。

3.4 关键技术

(1)内容呈现技术。基于C/S体系架构的移动学习系统中,主要内容格式有文本+流媒体和动画。对于文本+流媒体这种方式,可采用XML的内容编辑方式,其在服务器进行内容编辑时难度较小,但同时客户端内容解析时效率降低。动画主要包括Flash动画和SVG动画。Flash动画以其独特的时间片段分割和重组技术,同时结合Action Script的对象和流程控制,可使得界面设计和动画设计更加灵活。SVG是基于XML语言,用于描述二维向量图形的一种图形格式。SVG动画直接声明或通过脚本来进行定义或触发。SVG通过脚本语言调用对象模型来访问或控制所有的元素、属性和属性值。

(2)内容自适应技术。移动学习的终端设备复杂多样,决定了对内容的格式、大小和呈现需求不同。如何使内容根据移动设备的性能自适应转换,从而适合屏幕大小、移动设备计算能力,甚至学习者的学习风格等个性化学习需求,是移动学习系统开发的关键技术。移动学习内容的自适应技术框架主要包括设备识别、XSL样本单生成、XSLT转换模块。同时要建立起自适应技术应用环境或情形的模型,即上下文建模。

3.5 移动学习资源形式

(1)文本形式的移动学习资源。这种形式的资源主要是以有限的文字传递学习的内容或者有关学习的讨论等,形式单一、内容简洁。常见的应用领域包括:诗词欣赏、成语解释、词汇学习、课程学习提醒等相关资源。

(2)流媒体形式的移动学习资源。这种形式的资源主要包括图片、音频、视频等,现在大多数移动设备都可以支持这类资源。而流媒体的方式更加快了移动学习资源的快速生成。

(3)Flash格式的移动学习资源。Flash是一种交互式矢量多媒体技术,被称为“最为灵活的前台”,设计方式灵活,存储空间小,同时具有跨平台特性,而且具有很强的可移植性。

4 结语

随着移动设备和3G网络的高速发展,从数字化学习到移动学习的趋势越来越明显。移动学习以其学习时间灵活,学习内容短小、精炼且片段化等特点,也奠定了在未来教育领域的重要地位。本文将移动学习系统和Android平台相结合,发挥双向优势,设计了基于Android的移动学习平台,明确了设计原则,构建了体系框架,设计了功能模块,同时还说明了设计的关键技术以及学习资源的形式。该系统可广泛应用于手机、平板电脑、PDA或其他便携式移动设备,对移动学习系统研究具有一定的参考和实用价值。

参考文献

[1]黄荣怀,SalomaaJ.移动学习-理论.现状.趋势[M].北京:科学出版社,2008.

[2]刘建设,李青,刘金梅.移动学习研究现状综述[J].电化教育研究,2007(7):23-27,38.

[3]王建华,李晶,张珑.移动学习理论与实践[M].北京:科学出版社,2009.

篇14:android学习路线

【关键词】屏幕自适应 图片自适应 嵌套布局

1 引言

近年来,Android凭借其开发性成为最热门的移动终端操作系统之一。随着硬件性能逐步提升、无线网络不断普及,基于Android平台的系统开发与移植成为一个极富发展前景的领域。

移动学习在数字化学习的基础上通过有效结合移动计算技术带给学习者随时随地学习的全新感受。移动学习被认为是一种未来的学习模式,或者说是未来学习不可缺少的一种学习模式,移动学习现今已是教育行业发展的必然应用趋势。移动学习系统提供了灵活多变的学习方式,无论在出差路上,还是在机场车站;无论是等候间歇,还是片断时间,随时随地,打开你的智能手机和平板电脑登录中信移动学习平台,都可以方便浏览最新资讯、阅读新书、学习课程。而且提供了先进高效的学习理念,中信移动学习的课程系列采用了最新的LPM学习过程管理,将课程划分成精心提炼的章节,分段按时推送,辅以大量学习补充资料,并在过程中增加了许多分享互动环节,促使学员结合实际工作进行思考,加强记忆的同时更提升学习效果。移动学习系统还掌控了学习效果,通过对学员的学习资料下载、经验分享、登录次数等关键数据统计,可以了解到学员的学习习惯及学习主动性,企业的管理层可以凭借此对学员学习效果进行有效跟进和掌握。目前移动学习系统已经越来越被学习者关注。

2 Android界面布局

2.1 android的基本布局

Android基本布局共5种,如图1所示。线性布局由LinearLayout类来代表,线性布局分为水平和垂直的顺序排列子元素,每个子元素都位于前一个元素之后。表格布局由TableLayout所代表,TableLayout继承了LinearLayout,因此它的本质依然是线性布局,适用于N行M列的布局格式。

图1

2.2 布局的嵌套使用

在开发一些复杂界面时,单一布局无法满足需求。此时就需要用到嵌套布局。同时为了达到某种效果,需要局部的页面能够动态的变化,最典型的就是在一个页面中使用多个ViewPager。当这些ViewPager所在的页面也是动态变化的时候,就需要实现多层LinearLayout的嵌套。比如一个标签页面,标题栏是静态的,内容部分是动态变化的,同时每个内容中又需要动态变化,代码实现时就需要迭代循环添加来实现。Android可以通过五种基本布局的嵌套来实现复杂界面布局。

3 界面布局自适应设计原理

首先根据需求确定根布局,可以使用LinearLayout布局或者RelativeLayout布局,设置layout_width和layout_height均为匹配手机分辨率match_parent。再则使用RelativeLayout布局来设计标题栏,设置其宽layout_width为match_parent,而layout_height为定高45dip;然后,在内容板块添加子元素,此时子元素将会按顺序排列,在根布局的子元素中添加新的布局,实现布局嵌套。在每个根布局的子元素布局中,设置其宽layout_width为match_parent,而其layout_height为根据内容填充wrap_content,这样就可以实现布局的多重布局。

对于添加的布局LinearLayout或者RelativeLayout,设置为layout_width=“match_parent”,这样主要来实现布局的自适应布局大小的效果。

对于添加的图片资源,通过切图事,考虑四种不同大小的分辨率ldpi、mdpi、hdpi、xhdpi的图片资源,分别存放在android工程文件下的res文件下的不用资源包,当手机分辨率超出了图片分辨率适应范围时,通过文件自动选择到相应分辨率适应范围图片资源文件夹,选择相应的图片对应显示。

4 Android移动学习系统中界面布局自适应实现

4.1 界面布局自适应

设置根布局为LinearLayout,设置layout_width和layout_height均为匹配父框架match_parent,其orientation属性为“vertical”,首先加入FrameLayout帧布局,在其子元素中加入ScrollView滚动视图,设置它们的layout_width="match_parent"和layout_height="match_parent",那么在ScrollView滚动视图中添加的子元素布局,来填充页面内容。

5 结束语

在Android移动学习系统开发中,通过屏幕自适应实现和图片自适应实现,可以减少界面布局修改和设计的工作量,提高了开发效率和系统执行效率。未来Android手机分辨率将会越来越多样,屏幕自适应在Android手机应用系统中也将具有推广价值。

【参考文献】

[1]朱桂英.Android移动开发技术丛书[M].北京:电子工业出版社.2012.

[2]谭忠兵.苏斯灿.基于Android的多功能文件管理系统的设计与实现[J].电脑与信息技术.2012.

注:本文为网友上传,旨在传播知识,不代表本站观点,与本站立场无关。若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:66553826@qq.com

上一篇:android面试题 下一篇:Android课程