android软件工程简历

2024-04-29

android软件工程简历(精选8篇)

篇1:android软件工程简历

Android软件开发工程求职简历

基本资料

姓 名: YJBYS

性 别: 男

出生年月: 1990年7月

工作经验: 应届毕业生

毕业年月: 6月

居 住 地: 陕西省

籍 贯: 陕西省

求职意向

职位类型: 全职

期望月薪: 2500-3000元

期望地点: 陕西省 西安市

期望职位: 3G手机Android软件开发工程师

意向概述: 希望能满足基本的生活条件要求,其他没有什么要求,希望能得到这次机会。

教育经历

9月 - 206月 XX文理学院 电子信息科学与技术 本科

工作经历

4月 - 205月 中行工业XX集团 实习生

校内奖励

9月 奖学金 XX文理学院

年10月 优秀班干 XX文理学院

校内职务

206月 - 2012年11月 班长 XX文理学院

自我评价

父母从小就希望我成为一个有用的人,我也一直这么要求自己。性格开朗、稳重、有活力,待人热情、真诚;工作认真负责,积极主动,能吃苦耐劳,用于承受压力,勇于创新;有很强的组织能力和团队协作精神,具有较强的`适应能力;纪律性强,工作积极配合;意志坚强,具有较强的无私奉献精神。

团队协作

内很快融入到集体的氛围中。

联系方式

电子邮箱:XXX@yjbys.com

手 机:XXXXXXXXXXXX

篇2:android软件工程简历

性别:男

民族:汉

婚姻状况:未婚

出生年月:1988-1-25

目前所在地:北京

联系电话:

E-mail:,对div+css技术有使用。

自我评价

篇3:android软件工程简历

概述

在当今社会, 蓬勃发展的移动互联网已渗透到人们日常生活的方方面面, 在不断为大家带来便利的同时也在渐渐地改变着人们的生活方式。餐饮业是有着悠久历史的传统行业, 对于大学校园中的学生而言, 一日三餐自然必不可少。本系统旨在借助移动互联网, 为学生订餐提供便利, 同时也方便学校食堂的经营管理工作。

本系统主要针对大学校园中的食堂点餐问题而设计, 其目的在于构建一个软件系统, 使学生可在Android设备上通过客户端远程订餐, 而食堂可通过网页对后台订单信息进行管理, 以在一定程度上缓解食堂在就餐高峰期的混乱问题, 提升学生的食堂订餐体验。

本系统具备以下功能:

服务器端:

1) 通过数据库管理用户信息、订单信息。

2) 提供与客户端交互的应用程序接口。包括用户管理操作 (注册、登录、个人信息管理) , 菜品查询操作, 订单操作 (提交、取消、修改、查看) 。

3) 提供后台管理功能, 实现对菜品信息、用户信息、订单信息的相关操作。

客户端:

1) 实现用户的注册、登录、个人信息管理。

2) 实现校园餐厅餐点信息查询。

3) 实现订餐订单的提交、修改、取消等管理工作。

技术手段

Node.js

Node.js致力于简化高速、可扩展网络应用的开发。Node.js的一大特色是使用事件驱动的非阻塞I/O模式, 使运行在不同设备上的数据密集型实时应用更加轻量、高效。Node.js是运行在服务器端的Java Script。要在服务器端运行Java Script代码, 需要编译、执行。而Node.js利用谷歌的V8虚拟机完成了这些工作。Node.js提供大量的实用模块, 开发人员不必从最底层开始编写程序。因此, Node.js实际上由运行时和库这两部分组成。

后端框架Sails

Sails是使用Node.js技术的Web后端开发框架。为使开发过程更高效、更具可控性, Sails与其它MVC Web应用程序框架有着相同的设计理念, 并提供清晰合理的应用程序模板。

Waterline是预装在Sails中的功能强大的对象关系映射层, 它与数据的存储方式无关, 在很大程度上简化了对一个或多个数据库的操作。在底层的数据库之上, Waterline提供了一个抽象层, 允许开发者统一地查询和操作数据, 而无需对特定的数据库特定的代码。

为充分利用Waterline的抽象性, 本系统在设计数据库时, 不通过底层接口通过原生SQL语句手动实现外键与多表连接查询, 而使用Waterline提供的关联 (Association) 来实现类似于外键的结构, 使用populate () 实现类似于多表连接查询的查询操作。

模板引擎EJS

EJS是一个Java Script模板库, 常用于从JSON数据中构建HTML字符串。它致力于解决Java Script动态生成HTML代码时的代码可读性与可维护性问题。传统的做法是在Java Script中将HTML标签及动态数据连接成字符串后再处理, HTML代码与Java Script代码混杂在一起, 程序的编写及维护有所不便。而EJS通过使用运行于客户端的模板, 能避免HTML标签夹杂在Java Script代码中, 使程序代码更简洁。同时, EJS封装了许多视图辅助函数, 这些视图辅助函数使诸如创建链接、创建表格等视图展示代码更加便捷。

在本系统中, Sails在服务器端将标记语言模板编译成HTML页面, 此即是Sails中的视图 (View) 。在多数情况下, 它用于对传入的HTTP请求的响应。用户可通过Android客户端查看食品、下单、查看订单列表, 食堂方可通过浏览器对用户、食品、订单进行管理。

系统设计

本系统分前后台两部分, 前台是Android客户端, 后台利用Web页面进行管理。

Web管理模块:实现对管理员的身份认证, 以及对用户信息、食品信息、订单信息的查看与修改。

客户端模块:实现新用户注册、用户登录、食品信息查看、订单的下达及查看操作。

本系统各模块的示意如图1所示。

后端设计

后端的主要作用是为其它的模块提供数据存储、执行访问权限控制策略、提供API。

数据存储:使用Waterline ORM对数据库的抽象, 建立模型及模型间的关联, 以实现不同表之间的联合查询操作。使用数据模型的生命周期回调自动完成数据维护操作。例如创建用户时, 在写入数据库存前对明文密码进行散列;添加订单时, 计算订单的金额并更新数据库存中相应的字段等。

控制器:完成对请求的接收、整理, 根据请求对数据库进行相应操作, 整理并返回操作结果。

访问权限控制:对Web管理界面及API执行访问权限控制。对于Web管理界面采用会话认证, 在用户登录后, 将该用户的身份信息存储在会话中, 在请求页面时检查会话中的用户身份信息, 实现对不同权限用户的访问控制。对于API的访问采用Token认证, 每当API被访问时, 将请求中的Token信息与数据库中的用户Token进行比对, 若某次请求中的Token与某用户的Token对应, 则服务器视该请求为该用户所发出, 并使得该用户可以且仅能访问与自己相关的操作, 如下单、查询历史订单等。

(1) 用户表

本系统使用Passport.js实现基于本地用户名/密码的身份验证, 需要一个额外的模型来在存储用户的身份认证信息, 故用户信息实际上存储在两个相关联的模型中, 即User模型和Passport模型。它们的定义分别位于api/models/User.js和api/models/Passport.js中。

User模型只保存了用户名、订单等基本系统。

Passport模型用于处理用户的身份验证, 预留了本地验证或第三方平台验证的方法。本系统中只使用了本地验证。由于在每一次会话中, 应用程序只需要验证一个用户, 故把身份验证相关的数据封装到一个模型中, 程序就只用对会话中的不包含用户身份验证信息的基本信息进行处理, 由此使会话本身尽可能地轻量。

(2) 食品表

食品表中存有各种食品的基本信息。api/models/Food.js中的内容如下:

(3) 订单表

订单模型Order中只包含了订单的编号、下单的用户编号, 并与存储有订单明细的Order Item建立关联, 来描述一份订单的完整信息。api/models/Order.js中对数据的定义如下:

(4) 订单明细表

一个订单对应的商品种类、数量是灵活的, 使得在一个模型中存储订单中的所有物品比较困难。于是单独设立一个订单明细模型Order Item, 记录订单中的商品种类、数量信息, 并使每个Order模型与Order Item模型建立一对多的关系, 便于订单明细的查询。

Web管理

管理员可通过Web浏览器访问管理界面, 对系统中的用户数据、食品数据、订单数据进行操作。界面顶部的导航条可在不同管理项目之前切换。主要包括登录界面、用户管理界面、食品管理界面, 以及订单管理界面的设计。

Sails应用程序的目录结构如图2所示。

下对其中重要的目录、文件作简要说明。

api/controllers目录:此目录中含有应用程序的控制器。在Sails中, 控制器是包含用于与模型交互、向客户端渲染对应的视图的逻辑的Java Script文件。

api/models目录:此目录中含有应用程序使用的模型。在Sails中, 模型是对应用程序中数据的存储结构的定义。在此可配置记录在数据库中如何定义。

api/policies目录:这是保存认证策略文件的目录。认证策略实质上是用于对应用访问进行身份验证的Express中间件。

api/services目录:此目录中包含有服务。服务的作用类似于控制器, 但服务与请求和响应无关。为了保持控制器的简洁, 任何与请求、响应无关的逻辑都可以写成服务。

assets目录:此目录用于存储静态资源文件。例如, 在assets/some Folder/some File.txt创建一个文件, 当Sails应用程序启动后, 可通过http://localhost:1337/some Folder/some File.txt来访问到它。

config/env/development.js:运行于开发模式时, Sails会加载此文件。本系统在此文件中指定数据模型默认的数据库连接。不指定运行模式相关的配置时, Sails默认运行于开发模式。

config/local.js:本文件用于Sails应用程序的本地环境配置, 可指定监听的端口号以及Sails的运行模式。

config/http.js:本文件常用于配置Sails的HTTP服务器所使用的中间件, 以及中间件的顺序。

config/connections.js:配置数据库适配器。如连接数据库的参数、使用的数据库名称等。

config/policies.js:配置默认的认证策略。

config/routes.js:此文件配置用户的URL与控制器的映射关系。

views目录:此目录中含有所有自定义的视图。要创建新的自定义视图, 可在此文件夹中建立一个新的文件夹, 并在这个新文件夹中建立新的.ejs文件。若要向客户端渲染这个视图, 可在config/routes.js中为它配置一个路由, 或在控制器的动作中使用res.view () 方法。

Android客户端设计

Android客户端包括如下模块:

(1) 注册/登录模块:实现用户的登录过程, 登录后取得用户的Token用于身份认证。

(2) 食品查看模块:实现食品列表的展示, 并能将食品添加进购物车。

(3) 订单操作模块:实现购物车查看、订单提交、历史订单查看功能。

系统测试

Web管理

在本机启动服务器:进入服务器项目所在目录, 在命令行中执行sails lift即可开启服务器。在默认配置下, 服务器将监听本机的1337端口。

可进入管理系统的登录页面。登录界面如图3所示。

在Web界面, 管理员成功登陆后可以管理用户信息。在食品管理界面, 显示了食品ID、名称、单价、图片等信息, 并可对食品信息进行添加、编辑、删除操作。在订单管理中, 订单详情界面显示了订单的下单用户、下单时间, 订单中食品的图片、名称、数量、价格, 以及订单的总价格。图4至图6显示了Web页面的管理信息。

Android客户端测试

Android客户端的登录界面如图7和图8所示。登录成功后, 将会显示食品列表界面。

食品列表界面如图9和图10所示所示。

点击界面右下方的“订单”标签将进入图11所示的购物车页面, 此页面可进行下订单前的确认, 并可以删除不想要的项目。长按购物车中的某一项, 会提示用户是否要删除, 如图12所示。确认无误后可点击“立即下单”按钮, 向服务器提交订单, 如图13所示。

从订单界面左滑, 或点击上方的“订单”可进入历史订单界面。下拉会向服务器请求登录用户的订单信息。订单按照时间升序, 如图14所示。

总结

篇4:android软件工程简历

说到拨号软件,大体分为两类。一类是简洁型,功能简单实用,除了拨号就只剩下拨号了。另一类就是功能型,除了拨号外,短信、通讯录管理、云备份样样精通。所以我们将按不同类型来分别推荐。

简洁型

编辑推荐1.EX拨号

推荐理由:模仿MIUI

使用过MIUI系统的人都会喜欢上那个清晰简洁的拨号面板,所以与MIUI拨号界面相似的EX拨号就受到人们的热捧。如果你是一个喜欢简洁并不追求过多功能的使用者,EX拨号是你不二的选择。软件的最大特点就是未接来电或者拨出电话都是中文标注,比起某些软件使用红绿箭头符号来表示,看起来直接明了多了。

编辑推荐2.点心拨号

推荐理由:支持用户自定制

很多人喜欢在众多的拨号软件中挑选最适合自己的那一款,评判的标准很简单,按键符合自己的手指宽度,在拨号按键时不能因为键盘的过大或过小而有太多的误操作。如果你是比较关注键盘大小的人,那点心拨号是你不二的选择。软件特有的键盘大小自定义功能,能让你定制出完美适合自己手指宽度的拨号键盘。

编辑推荐3.桌面拨号

推荐理由:带有桌面插件

现在拨号软件大都具有一键拨号功能,但是再简单的功能也需打开拨号器。对于常用或者紧急救助的电话我们完全可以像QQ那样将常用联系人放到桌面。桌面拨号软件可以将常用联系人列表甚至拨号盘以插件的形式显示在桌面,对于家里的老人来说,当有危机情况时,一个按键就能拨出电话那才是真正的既快捷又方便。

功能型

编辑推荐1.触宝拨号

推荐理由:功能强大,附加功能丰富

说到触宝拨号相信很多人都在用,原因很简单,功能太丰富了。在通讯方面,触宝就有手势拨号功能,联系人按号码自动分组等实用功能,而在附加功能方面,触宝拨号更是能实现名片交换和支付宝手机转账功能,实在没有理由不推荐甚至不安装这样一款“不务正业”的软件,有了它很多别的软件都可以不用安装了。

编辑推荐2.QQ通讯录

推荐理由:广大的用户群

手机丢失后手机上的联系人号码必然也会随之丢失,所以很多人都会将通讯录备份在云端。如果你正在使用云端工具备份通讯录,那不如直接使用QQ通讯录来得实在。QQ通讯录软件在“个人中心”功能中提供了“通讯录备份”这一简单而又实用的增强功能,通过该功能的帮助,用户可以联网备份手机号码防止悲剧发生。同时该功能还支持QQ邮箱、电脑QQ、WAP网络便捷管理,让用户可以随时下载回手机,做到通讯录永不丢失!如此实用的功能加上QQ的广大用户基础,不用QQ通讯录用谁呢?

编辑推荐3.GO拨号

推荐理由:主题丰富,换一种主题换一种心情

篇5:android软件工程简历

年龄:24

电话:

现住地址:北京 海淀区

邮箱:.com

教育经历2007.9-2011.6潍坊学院计算机网络工程统招本科 求职意向Android软件开发工程师

专业技能 熟练掌握Core Java编程, 具有扎实的技术功底,有良好的Java编程习惯  熟练掌握常用UI控件,熟练常用布局及资源文件的使用

 熟练掌握Android SDK应用程序开发(Activity、Service、Broadcast、WebView、SQLite、Location、Media、Camera、Sensor、SMS、Contacts)

 熟练Android平台下的Http通信、Socket通信、XML解析(DOM、SAX、PULL)、 熟悉使用Oracle、MySql数据库、熟练使用SQL语句

 熟练使用Eclipse、MyEclipse、hierarchyviewer、draw9patch、apktool等工具  熟悉Linux/Unix常用命令

 了解Android NDK编程  了解JSP、JavaScript、Servlet、JQuery、Ajax、Tomcat等相关WEB应用开发技术 项目经验 项 目 一:某航空公司手机订票系统

开发工具:Eclipse + ADT + Android SDK+ MySql

开发平台:Windows平台

技术实现:Android常用UI组件自定义Adapter拨打电话

SQLite的使用Socket通信JDBC的增删改查

项目描述:该系统是一个航空手机订票系统,主要功能有用户登录、用户注册、预订机

票、订单管理、基本账户管理、乘机人管理、联系人管理、查询网点、查询机型、订阅管理等功能。

责任描述:担任项目小组长,负责组员之间代码的整合,主要每天将组员修改的代码整

合在一起,让整个程序能够正常的运行,并且负责实现了修改用户密码、订单管理的功能。

 项 目 二:GoMarket 2.1(安智市场)

开发工具:Eclipse + ADT + Android SDK +PhotoShop

开发平台:Windows平台

技术实现:ListView数据的分页加载Nine-Patch图像Style机制

XML的解析(XmlPullParser)HTTP数据通信文件的下载及保存 项目描述:GoMarket是一个可以下载Android手机应用程序的软件,主要功能有下载

软件、文件管理等功能,该项目主要模仿原程序学习复杂界面的布局和综

合运用UI组件,实现软件的下载和保存,以及掌握HttpClient连接服务

器读取模拟数据、NotificationManager、XmlPullParse的运用。

责任描述:独立完成了从Tomcat后台服务器读取模拟数据,通过Pull解析,实现了

ListView数据的分页加载和软件的下载及保存

 项 目 三:植物大战僵尸

开发工具:Eclipse + ADT + Android SDK

开发平台:Windows平台

技术实现:Surface双缓冲技术 CallBack回调Graphics绘图Animation动画 项目描述:该项目的主要目的是模仿植物大战僵尸,了解自定义GameView类,学习如

何开发简单游戏和了解游戏引擎以及一些游戏框架设计模式。责任描述:独立完成了植物在画布上显示并能够发子弹,让僵尸能够在画布上运动 培训经历

2011.3--2011.8北京达内科技有限公司Android开发工程师 兴趣爱好

喜欢跑步、乒乓球、旅游等

自我评价

 热衷于移动互联,对手机开发有着浓厚的兴趣 性格乐观,做事稳重、待人诚恳,乐于助人,平时能和周围的同学打成一片 有良好的编程习惯,有责任心,勇于承担压力,对工作饱满热情 有良好的团队精神和自学能力,善于接受新事物,能很快的适应新的环境(培训期间曾

篇6:Android简历

个人信息

姓名:XXX

年龄:XX

学历:本科

联系电话:186XXXXXXX

个人技能

1.熟练掌握JAVA面向对象编程语言,有良好的编码习惯;

2.熟悉jsp、javascript、servlet、javaBean进行web应用开发,了解jQuery,ajax等技术;

3.能使用Struts2、Hibernate、Spring等开源框架技术;

4.熟练操作SQL sever、MySQL数据库,熟悉SQL语句;

5.熟练掌握Android adt编程环境和调试流程;

6.熟练掌握Android的4大组件和5种常用布局;

7.熟练Sqlite、File、SharePreference等存储方式;

8.熟练使用xml、json等解析技术;

9.熟悉编程软件环境配置,熟练运用Eclipse和MyEclipse等编程软件。

教育培训

2009年9月——2013年6月

2012年2月——2012年5月

项目经验

1.Android选课系统

描述:一款基于Android平台的选课软件,通过软件访问WEB短的服务器进行操作,web端采用servlet实现,能进行课程的查询、添加、删除。

2.基于SSH的论坛

描述:实现简单的注册登录功能,用户可创建自己的论坛并有管理权限,会员可发帖,帖子有回复功能,版主可管理自己的帖子。

自我评价

我有一颗积极向上的心,对于软件开发有较大兴趣。喜欢运动,热爱生活,热爱学习。诚实做人,踏实做事是我的做人原则。有较强的团队意识,比较善于团队合作。我坚信,努力不一定会成功,但肯定会有收获。我期待这个收获的过程。我将投入自己全部的激情,努力奋进。

篇7:android个人面试简历

姓 名:

国籍: 中国

目前所在地: 番禺区

民族: 汉族

户口所在地: 湖南

身材: 168 cm 58 kg

婚姻状况: 未婚

年龄: 34 岁

培训认证:

诚信徽章:

求职意向及工作经历

人才类型: 普通求职

应聘职位: 计算机软件:ERP/SAP系统工程师、软件工程师:Windows Mobile,Android,J2ME开发、嵌入式软件开发(Linux/单片机/DLC/DSP…):

工作年限: 8

职称: 无职称

求职类型: 全职

可到职日期: 一个星期

月薪要求: 5000--8000

希望工作地区: 广东省 北京 上海

个人工作经历:

公司名称:

起止年月:20xx-03 ~ 20xx-04广州市科思电脑系统公司

公司性质: 所属行业:

担任职务: 项目经理、软件工程师

工作描述: 负责企业ERP/SAP,MRP2,HR管理系统的开发与实施工作,多次带领开发团队深入企业,参与多家企业的ERP/SAP系统的设计与项目实施,成功完成了电子、服装等十多个行业公司企业的ERP/SAP系统的开发与实施任务。

离职原因:

公司名称: 起止年月:20xx-02 ~ 20xx-01广州市天河学院

公司性质: 所属行业:

担任职务: 计算机系教师

工作描述: 负责软件,网络计算机相关课程讲授,带领学生进行进行课程实验。

离职原因:

公司名称: 起止年月:20xx-01 ~ 20xx-01广州艾斯顿有限公司

公司性质: 所属行业:

担任职务: 电脑部主管,软件工程师

工作描述: 负责公司的电脑维护,网站维护,软件开发工作。

离职原因:

教育背景

毕业院校: 湖南常德电脑大学

最高学历: 本科

毕业日期: -07-01

所学专业一: 计算机信息管理

所学专业二:

受教育培训经历:

起始年月 终止年月 学校(机构) 专 业 获得证书 证书编号

1992-09 -07 湖南常德机电工程学校(湖南常德职业技术学院) 机械电子 毕业证

1996-09 1999-07 湖南常德电脑大学 计算机信息管理 毕业证

20xx-01 20xx-01 广东外语外贸大学 商务英语 结业证

语言能力

外语: 英语 良好

国语水平: 优秀 粤语水平: 良好

工作能力及其他专长

1.精通Windows Mobile,WinCe手机系统软件开发,熟悉Android,J2Me系统设计。

2.精通C/C++VB/VC++,C++Builder/ABAP, EVC/WIN CE, SQL SERVER等编程语言, 有丰富的ERP/MRP/OA系统开发与实施经验,精通酒店信息管理系统的开发与维护,为多家企业成功设计开发了ERP/SAP系统软件和一百多家五星级酒店管理系统,赢得了客户广泛的好评。

2.熟识思科、华为等网络设备的安装与调试维护工作,精通RFID、嵌入式系统程序设计、嵌入式/上位机编程。

详细个人自传

精通Windows Mobile,WinCe手机系统软件开发,熟悉Android,J2Me系统设计,精通C/C++VB/VC++,C++Builder/SAP(ABAP), EVC/WIN CE,RFID、SQL SERVER等编程语言, 熟悉思科、华为等网络设备的安装与调试维护工作,为多家企业成功设计开发、完成实施ERP/SAP系统软件和一百多家五星级酒店管理系统,赢得了客户广泛的好评。

篇8:android软件工程简历

Google于2007年11月宣布的基于Linux平台的Android是一个真正意义上的开源智能手机操作系统[1], 该系统一经推出立即受到了全球移动设备厂商和开发者的热捧。Android采用了开源的Linux操作系统, 底层使用了访问硬件速度最快的C语言, 应用层采用了简单而强大的Java语言, 这使得Android在众多手机操作系统中尤为突出。

据中国图书商报社和读吧网联合发布的《2007年中国电子图书发展趋势报告》数据显示, 2007年, 中国手机用户迅猛增长, 加上手机资费下调、大屏幕智能手机进一步普及, 手机阅读人数和所占比例有明显增长, 从2006年的2.7%增长到2007年的5.9%。由此可见, 随着人们生活节奏的加快, 人们不再仅仅满足于纸质图书的阅读, 更将目光转向了愈加成熟的电子图书, 因此基于移动设备的图书阅读软件需求量增加, 基于目前主流的Android系统的阅读软件更是受到众人的热捧。但是目前市场上主流的电子图书阅读软件大多千篇一律, 存在翻页效果单一、阅读图书格式有限、图书分类管理欠缺等问题。此外单一的电子图书阅读器不能促进用户的学习, 更不能使用户养成自主学习的能力。

本文通过目前市场需求分析以及对众多图书阅读软件的比对, 设计了一个基于Android平台的阅读学习软件。该软件使用Android平台推出的SDK和Android内置的小型嵌入式数据库SQLite开发接口以及Android设备上可用的传感器硬件, 实现了图书搜索与下载、全格式图书阅读、图书分类管理、重力感应翻页、背景音乐设置等功能。该系统开发成本低, 功能实用, 投入使用后还可以嵌入收费广告, 能够带来一定的经济效益。

1 系统总体介绍

1.1 系统开发意义

移动学习是以手机、PAD、笔记本等移动终端为学习工具, 通过无线通信技术来传递教学等相关信息, 使学习者能在任何时间、任何地方进行学习的全新学习方式。随着移动通信与教育的有效结合, 其在当代教育领域中发挥的作用也将越来越大[2]。该软件以当下流行的Android系统为平台, 通过学习资料的下载, 以及良好的图书阅读学习体验为用户的移动学习提供基础。该软件通过Android系统具有吸引力的用户界面元素, 设计了不同主题的阅读背景, 促进用户的使用和阅读的积极性, 此外该软件还添加了背景音乐模块, 使用户的阅读环境更加丰富, 用户在与环境的相互作用中自主发现、探索且建构新知, 提高自主学习能力, 养成终身学习的良好品行[3]。

1.2 总体框架

根据用户的需求和软件的特点, 本系统的功能划分如图1所示。

本系统通过SQLite数据库引擎来实现结构化数据存储。SQLite是一个嵌入式数据库引擎[4], 针对内存等资源有限的设备 (如手机、PAD、MP3) 提供的一种高效的数据库引擎。Android提供了一些新的API来使用SQLite数据库, 通过使用这些API便可实现数据库操作。

本系统根据开发需求编写了DBUtil工具类进行专门的数据库操作。DBUtil类是对数据库进行基本操作的类, 每次对数据库进行操作时都要先调用openOrCreateDatabase方法打开或者创建数据库, 获得一SQLiteDatabase的实例, 然后通过该实例的一些方法, 执行SQL语句, 对数据库进行增、删、改、查等操作, 操作结束后还需要关闭数据库, 所以编写DBUtil类来封装整个过程。当程序要创建表、删除表、查询记录、插入记录、更新记录、删除记录时, 直接调用DBUtil类中对应的方法即可。本系统主要包括四张数据表:图书记录表、上次阅读记录表、搜索记录表、书签表。

Android操作系统内置了很多传感器如加速度传感器、压力传感器、地磁传感器、方向传感器等, 利用这些传感器开发者可以开发出一些有特色、有创意的应用程序。本系统通过Android操作系统内置的方向传感器, 自动识别屏幕的方向, 当手机倾斜方向改变时, 监听器会调用onSensorChanged方法进行翻页设置。

2 系统的具体实现

2.1 图书搜索模块

1) 移动设备网络

当系统进行网络搜索时, 需要网络连接, 因此需要确定当前网络状态, 程序会使用Android.net.ConnectivityManager类来检查网络连接, Android系统是运行在Linux内核上的, 有自己的一套严格的安全及权限机制。由于本模块要用到网络连接和获取网络状态, 这都需要具有相应的权限, 所以必须在AndroidMainifest.Xml中声明所需的权限, 否则无法正常运行, 且程序不会报错, 只能通过捕获异常来发现这一问题。具体的声明如下:

通过这一权限声明, Android终端则允许应用程序访问 (获取) 网络信息。

2) 关键字查询

目前大多数应用软件都提供了搜索功能, 但是多数软件只提供单个关键字查询并且不能将关键字进行分割查询, 本系统针对以上问题设计了搜素范围更广、搜索结果更精确的查询工具。利用Android集成的Apache的Http Client模块, 可以使用HTTP访问网络。用户查询时可输入多个关键字并以空格隔开, 系统通过url发送请求, 服务器端Servlet响应请求, 获取关键字, 通过Dao接口访问后台MySQL数据库, 执行查询操作, 服务器端会根据关键字长度对关键字分割进行循环查询, 并将结果返回, Servlet获取结果后, 将信息发送至客户端。

查询时使用结构化查询语言SQL, SQL只能表示和处理精确数据, 无法表达自然语言中的模糊概念[5], 所以为了使查询结果尽可能精确, 本系统采用一定的算法, 利用复杂的查询条件, 完成多层复杂信息查询。该算法首先将全部查询字符串按空格分割为多个关键字并赋值给字符串数组results[], 然后再将每个关键字以2个字符或更多字符为最小单位实现关键字分割。本算法自动实现了多关键字识别, 并将关键字进行分割, 考虑全面并且查询范围更广。本算法中查询过程的关键代码如下:

经过多次测试, 多关键字查询的查询结果更精确, 并且在网络状态稳定的情况下查询效果良好。在关键字长度适当、个数不超过4个的情况下查询速率与普通的SQL复杂语句查询相当。

该软件提供多种格式的电子图书, 包括主流的pdf、doc、tx格式的电子学习资料, 为用户提供多样化阅读学习资源。此外用户可以将自有的学习资源上传至服务器端, 以此分享学习资料, 拓展用户的学习范围。通过众多Android用户的资源共享, 可以使系统提供范围更广、资料更全面的学习资源。

2.2 图书阅读模块

本系统设计了一个多功能的txt图书阅读器, 用于阅读tx格式的电子图书, 使系统功能更加全面, 更方便用户使用。

1) 多种翻页效果设置

本系统主要设计了三种翻页效果, 重力感应翻页、自动翻页、触摸动态翻页。

近年来, 智能手机普及的同时, 也朝着大屏幕、高分辨率、高配置的方向发展。随着手机的屏幕尺寸的增大, 传统的单手触摸翻页操作已经变得十分不便。同时, 行进中阅读的比例也逐渐增加, 大部分用户是在上下班、差旅公共运输工具上使用手机进行阅读, 触摸手机翻页已不能使众多手机用户满足。本文针对目前的需求分析, 设计了更新颖、更实用的重力感应翻页和自定义时间的自动翻页。

本系统利用Android系统内置的姿态传感器, 设计了根据手机姿态的变化进行翻页的功能。用户只需单手握住手机, 使手机处于横屏状态下, 左右摇晃手机即可对电子图书前后翻页。当重力感应功能开启时, 传感器监听器SensorListener进行监听, onSensorChanged方法响应手机姿态变化事件。当手机左右倾斜的程度达到系统要求时, 系统会进行相应的翻页等操作。此外, 为防止一次姿态变化多次翻页的问题, 本系统设置了一定时间的事件监听间隔, 距上一次翻页完成400 ms时系统才进行下一次的姿态改变时间监听, 进行翻页设置。通过多次测试, 重力感应翻页效果更好, 使用更方便。重力感应翻页的主要代码如下所示 (以向后翻页为例) :

若用户选择了自动翻页, 系统会开启一个新的子线程实现翻页效果。用户可根据自己的阅读速度设置翻页等待时间, 系统获取用户设置的等待时间使子线程休眠相应时间, 再进行向后翻页, 通过自动翻页, 用户阅读时只需握住手机或将手机固定在一个位置进行阅读, 不需要任何操作, 使用户阅读更加方便。自定义时间的翻页效果, 使自动翻页适用于不同的用户, 不必因阅读翻页过快或过慢而着急。停止自动翻页时子线程便自动停止。

本系统设计的触摸动态翻页功能是利用Android动画效果实现的[6], 为用户提供良好的阅读体验。txt图书阅读器通过Preferences数据存储方式, 自动保存上次阅读的位置以及阅读设置, 使用户的阅读更加便利。本系统通过多种翻页效果的设置, 使用户在体验阅读的同时享受学习的乐趣。

2) 背景音乐模块

Android开放平台为应用程序提供了综合的多媒体功能[7], 包括录制和播放本地存储的音频、视频和静态图像媒体, Android的多媒体播放由MediaPlayer类处理, 本系统设置的背景音乐模块, 应用Android平台的多媒体技术进行背景音乐播放, 用户在阅读的同时可以播放SD卡中自己喜欢的歌曲, 使图书阅读更加愉悦。通过ContentResolver的query方法来得到一个关于SD卡上音乐列表的索引表, 并通过该索引表获得音乐的歌曲名和ID号, 分别存为键和值。选择自己喜欢的音乐播放, 音频播放的主要代码如下:

通过背景音乐的设置, 可使用户在阅读学习的同时适当地放松, 促进用户的进一步阅读, 让学生用户在与环境的相互作用中自主发现、探索, 提高自主学习能力、养成终身学习的良好品行。

2.3 图书分类管理模块

1) 分类管理

图书分类管理模块主要分为普通图书或特殊图书, 普通图书按图书格式分类, 分别为:pdf格式、txt格式、doc格式和其他图书格式, 特殊图书分为:我最喜欢的图书和自定义列表中的图书。图书信息存储在SQLite的数据表BookStore中。该表用来记录图书的ID、图书路径、图书名称和图书类别, 其中图书类别区分图书属于普通图书还是其他特殊图书。本系统根据图书名称最后三个字符确定图书格式并将其自动加载到普通图书的相应列表中。长按图书信息可触发onLongClickListener接口, 用户可将图书添加到我最爱的图书列表或自己定义名称的新列表中, 也可删除图书。

用户可以将在本系统下载的图书或收藏在SD卡中的图书添加到图书分类管理模块, 方便用户管理各类图书, 使自己的图书分类有序。所以本系统不仅仅可以用来进行图书阅读, 更是一个图书分类管理的良好平台。

图书信息通过网格视图GridView以一定布局显示在表格中。网格视图GridView类位于Android.weight包下。该视图将其他控件以二维格式显示到表格中, 而这些控件全部来自ListAdapter适配器。GridView的属性配置有两种方式, XML属性配置和在Java代码中配置。

2) 全格式图书阅读

本系统还可以借助Android的第三方阅读软件打开各种格式的图书, 用户不必再为图书无法打开而发愁。以本系统为平台借助第三方软件可以实现不局限格式的图书阅读。用户可借助该软件阅读学习多种学习资料, 为用户的学习提供了很好的基础。

点击图书时OnItemClickListener监听会响应, 调用第三方软件打开电子图书或者使用本系统自带的txt图书阅读器阅读图书。调用第三方软件打开各种格式的图书首先设置intent的Action属性并获取文件file的MIME类型, 继而设置intent的data和Type属性, 最终跳转到相应的Activity打开图书。

为了防止因图书路径改变而找不到图书所引起的异常, 当点击图书进行阅读时会首先确定SD Card中相应的图书文件是否存在[8]。判断图书是否存在的代码如下:

2.4 系统推广

本系统引入了Android提供的多样化服务, 如QQ、blog等, 用户可借此进行参考咨询, 从而提升阅读学习平台的服务质量和内容, 吸引学习者。用户可将自己的学习经验和学习心得分享至以上个性化服务, 从而相互促进学习, 使用户逐渐养成自主学习的能力。随着移动互联网的发展, 手机上网将变得越来越普及, 这些手机上网用户都是移动阅读学习平台的潜在用户, 使得有培养这些潜在的用户成为真正的移动学习者的可能。通过个性化服务的宣传与推广, 吸引更多的潜在用户使用阅读学习平台, 培养他们使用手机阅读学习的服务需求和习惯, 进而达到培养移动学习者的目的。

3 功能展示和性能测试

本系统的测试平台是Android 2.3, 在虚拟机与Android手机上均通过了测试并且运行稳定、流畅。系统运行主界面如图2所示, 用户在此界面中可以对所有图书进行分类管理, 或借助第三方软件打开电子图书, 触摸左上方控件即可查看我最喜欢的图书列表和自定义图书列表。图3显示为输入两个关键字“新型电脑医学”时的搜索结果, 用户可查看图书简要信息、收藏图书、下载图书。图4所示为txt图书阅读界面, 表明了图书名称、当前时间和当前页码, 点击Menu按钮可对阅读进行设置, 用户可进行字体大小、字体颜色等设置。

4 结语

阅读电子书已经逐渐成为人们增长知识的重要途径, 本文根据当前需求分析, 设计和开发了基于Android平台的多功能阅读学习软件, 为众多Android用户提供了学习的便利, 可促进用户的自主学习能力。Android应用程序开发是一项复杂的工程, 通过本系统的开发, 验证了Android平台的实用性以及其强大的功能, 也为其他Android程序开发者提供了一个参考。

摘要:近年来, 随着生活节奏的加快, 移动手持设备的普及, 以及电子图书行业的发展, 基于移动手持设备的电子图书阅读软件需求量增加。针对目前需求现状, 借助Android系统的用户界面编程、SQLite数据库存储、以及Android网络与通信等技术, 设计一款多功能图书阅读学习软件。该软件基于目前流行的Android开源操作系统, 实现了多关键字图书搜索、不局限格式的图书阅读、重力感应翻页设置、背景音乐设置等功能。通过运行评测该系统具有功能完善、实用性强、操作简单等优点, 此外该系统可以促进用户的学习, 并为移动学习提供了基础。

关键词:Android平台,图书阅读,移动学习

参考文献

[1]郭宏志.Android应用开发详解[M].北京:电子工业出版社, 2010.

[2]曾群, 钟晓诚.基于3G手机图书馆的移动学习平台探究[J].图书馆学研究, 2012 (11) :17-21.

[3]刘承焜.促进大学生自主学习的教学模式研究[J].中国高等教育, 2011 (17) :58-59.

[4]黄艺锋, 闫巧.基于Android平台电子词典的设计与实现[J].计算机应用, 2011, 31 (2) :228-232.

[5]周泌, 徐小良, 汪乐宇.基于模糊算法的数据库查询工具的设计[J].计算机应用研究, 2001 (5) :15-17.

[6]吴亚峰, 苏亚光.Android应用案例开发大全[M].北京:人民邮电出版社, 2011.

[7]梅尔.Android高级编程[M].王鹏杰, 霍建同, 译.北京:清华大学出版社, 2010.

上一篇:小学生新学期国旗下献词下一篇:散开的水纹作文