基于Android 的自主学习软件的研究与实现
  摘要:本文提出一种基于Android 平台的用JAVA 语言编写的自主学习软件,该软件安装在Android 系统的手机上,用户可以进行在线学习,也能够在有WIFI 的情况下提前更新题库后脱机学习,可以让用户利用碎片时间进行学习,真正的达到随时随地进行学习的目的。
        Abstract: This paper presents the Android-based self-learning software by JAVA language. This software is installed on the phonewith Android system. Users can conduct online learning through it, and also the item bank can be updated early under WIFI environment,so the users can conduct offline learning in fragmented time, so it can really achieve the purpose for learning anytime, anywhere.
        关键词:自主学习;Android;JAVA 语言;手机
        Key words: self-learning;Android;JAVA language;phone
        中图分类号院G434 文献标识码院A 文章编号院1006-4311(2014)29-0230-02
        0 引言
        Android 是Google 在2007 年发布的手机操作系统,因为其是开放的系统,受到广大开发者和用户体的喜爱[1]。在2012 年,Android 在全球智能手机操作系统的市场份额已经超
过70%以上。Android 的开放性给开发者广阔的空间,使得越来越多功能的应用软件应运而生。
        手机已经成为90 后学生必要的生活工具,改变了一代人的生活方式,手机应用不断地推陈出新特别是通讯软件和游戏软件,让学生的生活增添了很多乐趣[2]。本着手机不仅是通讯工具和娱乐的工具也能够成为有效的学习工具的思想,本文推出一款让学生感兴趣的手机学习软件。本文阐述的这款基于Android 的自主学习软件正是针对这一点提出的可以安装在手机上随时随地学习的软件。
        1 系统结构设计
        根据Android 系统的请求, 通过网络连接phpwebservice 访问数据库Mysql,获取所需要的资料返回给客户端,如图1 所示。服务器端充当一个媒介,让客户端和数据库相互通信。
        Android 客户端设计,将主要的练习模式、题库更新和学习信息保存等模块做成具体的Activity。如图2 所示。
        数据库设计系统采用Mysql 数据库,保存系统题库,包括题目信息表、题库表等,最后为了提高用户体验,加入了学习信息保存,包括学习进度,错题集,好题集等保存,更
能满足用户的需求。
        2 Android 客户端实现
        Android 客户端实现需要用到jdk、eclipse、adt、sdk 等工具。android 是底层基于LINUX,上面是用java 写的,至于android sdk 就是android 开发库,java jdk 是基础包,adt是android 开发插件,简单的来说就是你想用eclipse 开发android 需要这么一个插件。
        UI 即(User Interface)用户界面设计、实现,主要是练习模式Activity 实现,用到了可视化设计.XML 文件。包括了两个TextView、一个RadioGroup,4 个RadioButton、4 个Button 等。为了能适合多种屏幕,使用了相对布局,布局文件中定义长度的时候,最好使用wrap_content,fill_parent,或者dp 进行描述,这样可以保证在屏幕上面展示的时候有合适的大小。
        为了监听用户选中哪一RadioButton, 需要对RadioGroup 进行监听,利用“RadioGroup. On CheckedChange Listener”将返回的int checkedId 与选项进行匹配确定选中哪项。
        对于有些问题是判断题之类的选项有2 个不足,我们可以用到View 的setVisibility GONE---->不可见,但这个View 在ViewGroupt 中不保留位置,重新layout,那后面的view
就会取代他的位置。将其不可见,隐藏起来,代码如下:radioD.setVisibility(View.GONE)。
        新建的Activity 必须在l 文件上注册,否则打开的时候会崩溃,报错。注册Activity 代码如下:<activityandroid:name = "ample.study.ExamActivity" ></activity> 3 服务器与数据库实现我们用到了PHP 服务器和Mysql 数据库,选择了phpStudy 工具,它刚好集成了Apache+php+Mysql,完全符合了我们所需的功能,用起来方便简单。
        服务端数据通信使用json 格式,数据库和服务器在同一机器上,能够通过本地连接,直接通信:mysql_connect("127.0.0.1","root","root");本地连接数据库。“127.0.0.1”是回送地址,指本地机。而Android 客户端连接服务器,则需要通过get 方式获取xml 数据,将其解释成json 格式,提取出所需要的信息。
        PHP 服务器与数据库Mysql 的编码方式应一致,特别在有中文的情况下需要设置“mysql_query ("SET NAMESutf8")”,并且在数据库表中保存的时候必须设置成utf8 编码格式。这样服务器和数据库能保持一致,不会出现乱码。Android 客户端通过get 方式获取xml 数据,特别注意在进行网络连接的时候,必须在l 文件里面添加权
限<! -- 授权访问网络--><uses -permission android:name = "android.permission.INTERNET" />而且在Android4.0 版本以后不能够在主线程进行网络连接,否则会出现错误:“android.os. Network On MainThread Exception”。因此,必须另起一个线程进行网络连接方面的操作。
        为了方便随时随地能够进行学习的需求,利用到了Android 客户端的SQLite 数据库进行保存,使得我们的学习系统能够进行脱机使用。对于用户可以提升访问服务器的速度和性能,也减少了流量的重复消耗,对于服务器也可以减轻负担。
        4 结论
        手机应用软件不断推陈出新,设计更符合用户需求的软件是程序设计者的追求,自主学习软件正是为了顺应90 后学生这个用户体的需求而设计,优势是明显的。本文介绍的基于Android 平台的自主学习软件能够在线学习,也可以在有WIFI 的情况下提前更新题库后脱机学习,更省流量,用户能够在坐车时、等人时学习,更好地利用时间,也不要另外携带大量的书籍和其他学习资料,方便快捷。甚至还涉及了寓娱乐于学习的闯关模式,增加了趣味性和竞争性。eclipse android
        参考文献:
        [1]百度百科名片Android.[EB/OL].[2011-03-01].baike.baidu/view/1241829.htm.
        [2]杨方琦,杨改学.近十年我国移动学习学术期刊论文的内容分析研究[J].远程教育杂志,2010(6):39原45.
        [3]余燕翔.浅议移动学习[J].中国科教创新导刊,2007(15)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。