【Android源码 栏目提醒】:文章导读:在新的一年中,各位网友都进入紧张的学习或是工作阶段。
网学会员整理了Android源码 -基于Android 平台的用户管理软件 - 期刊论文的相关内容供大家参考,祝大家在新的一年里工作和学习顺利!
基于
Android 平台的用户管理软件 姚永明吕建平 (西安邮电大学 计算机学院,陕西 西安 710121)通信作者联系方式:(E-mail:yym879hotmail.com,电话:)姚永明(1987-),男,硕士研究生,从事数字图像处理研究,E-mail:yym879hotmail.com吕建平(1957-),男,教授,从事数字图像处理研究,E-mail:lujping1126.com摘要:为了减轻
Android 用户记忆第三方应用用户名与密码负担,简化登陆过程,提供了一种用户登陆管理软件设计。
采用
Android 开发环境,文章给出从登陆鉴权到账户安全方面等详细设计。
该软件只需要一个用户名与密码就能绑定各个需要登录的第三方应用,具有一定的实用性。
关键字:
Android;用户管理;登陆鉴权;账户安全中图分类号:TP311 文献标识码:ADesign and Implementation of a User ManagementSoftware Based on
Android Platform YAO Yong-ming,LV Jian-ping School of Computer Science and Technology Xi’an University of Posts and Telecommunications Xi’an 710061 ChinaAbstract: To reduce
Android user’s burden of memorizing a large number of usernames and passwords of theapplications simplify login process,a design of a user management software is proposed.Base on AndroidSDKSoftware Development Kita detailed design including login authenticationsafety of account is given.Various third-party applications need to be logged in can be bound to only one username and password.The designhas a certain amount of practicality.Key words:
Android SDKuser managementlogin authenticationsafety of account 之后绑定各 通过用户管理软件重新注册一个账号, 0.引言 另一种是通过一个第三方应 个第三方应用的账户; 用登录后,进行绑定其他第三方应用的账户。
基于
Android 平台的智能机成为市场的 目前, 热点,同时随着移动互联网市场的发展,
Android 平台的第三方应用越来越多,如淘宝,QQ,新浪微 1.
Android 平台介绍 1 博,MSN 等等, 这些第三方应用都开放了自己的 2 API。
但是它们都需要进行用户名和密码的登录,
Android 系统是 Google 于 2007 年 11 月推出的 对用户来说就要记住这些登陆的用户名和密码,每 一个专为移动设备提供的软件平台。
3
Android 是 次登陆都带来不便。
本文提出的用户管理软件,能 一款包括基于 linux 内核的操作系统、中间件和关 够帮助用户管理各个不同的登录的用户名和密码, 键应用的手机软件平台。
该平台号称是首个为移动 减少了用户每次登录不同账户的麻烦。
终端打造的真正开放和完整的移动软件。
它的开放 本文设计的软件共提供两种方式登录, 一种是 性也保证了其不存在任何阻碍移动产业创新的专有权障碍。
随着国内 3G 进入正式的应用阶段采用 2.1 需求约束
Android 系统的智能手机层出不穷。
据 comScore最新的 2012 年 2 月美国移动用户市场份额报告, 1、系统为各种应用(QQ 微博、新浪微博、网易谷歌的
Android 移动操作系统在一年内持续增长, 微博等)提供用户资料的管理,权限的管理,及各已经达到了 50.1。
4 种应用权限的定制功能,所有的输入均为各种应
Android 采用 WebKit 浏览器引擎,具备触摸 用,并为各种应用提供用户资料的展示,接口的修屏、高级图形显示和上网功能, 用户能够在手机上 改,并为各种应用提供权限管理接口。
查看电子邮件、搜索网址和观看视频节目等,比 2、系统中的权限属于各种应用进行注册的权限,iPhone 等其他手机更强调搜索功能,界面更强大, 用户管理不定义权限名称;可以说是一种融入全部 Web 应用的单一平台。
5 3、用户修改资料等网络操作,要求所有的网络交其最震撼人心之处在于
Android 手机系统的开放 互时间不长于 5s/次;性和服务免费。
Android 是一个对第三方软件完全 4、确保用户进行鉴权正确,用户登录需进行两次开放的平台,开发者在为其开发程序时拥有更大的 验证;自由度,突破了 iPhone 等只能添加为数不多的固 5、用户管理在系统中的位置如下图(图 1)所示:定软件的枷锁;同时与 Windows Mobile、Symbian等厂商不同,
Android 操作系统免费向开发人员提供,可节省近三成成本。
2.总体设计 该软件的运行环境为
Android 系统中 java 层,6 对用户终端中的相关软件进行用户资料和使用权限的管理功能。
用户可以通过软件注册新的账号,然后绑定第三方应用的账号,之后其他绑定的多个账号可以通过该软件进行一键登录,省去了各个应用都需要登录的麻烦。
或者用户可以绑定任意一个第三方应用的账号为主账号,之后再绑定其他应用的账号,同样实现多应用的一键登录,此方式 图1 用户管理业务框图省去了用户需要重新注册新账号的麻烦。
登录用户管理后,可以直接拉起第三方应用的界面,后台通过鉴权后直接进入第三方主界面。
同时用户管理可以进行用户资料的修改,修改后可以直接保存到第三方应用中去。
。
由于其体积 用了 GPL(GNU 通用公共许可证)2.2 运行环境 小、速度快、总体拥有成本低,尤其是开放
源码这 一特点,许多中小型网站为了降低网站总体运营成1.数据库架构: 本而选择了 MySQL 作为网站数据库。
MySQLDRBDHeartbeatAmoeba 的架构模式 7 DRBDDistributed Replicated Block Device是 MySQL 是一种关联数据库管理系统,关联数 一个用软件实现的、无共享的、 服务器之间镜像块据库将数据保存在不同的表中,而不是将所有数据 9 设备内容的存储复制解决方案。
它用以构建高可放在一个大仓库内。
这样就增加了速度并提高了灵 用性的集群,其实现方式是通过网络来镜像整个设活性。
MySQL 的 SQL“结构化查询语言”是用于访 备,可以把它看作是一种网络 RAID。
DRBD 负责问数据库的最常用标准化语言。
8MySQL 软件采 接收数据,把数据写到本地磁盘,然后发送给另一个主机。
另一个主机再将数据存到自己的磁盘中。
包,这 类消 息包 负责 集群 的节 点和资 源管 理。
其他所需的组件有集群成员服务,如 TurboHA 或 heartbeat 把心跳消息包看成是控制消息包的一个心跳连接,以及一些能在块设备上运行的应用程 特例,采用相同的通信通道进行发送,这使得协议序。
例如:裸 I/O、文件系统及 fsck、具有恢复能 的实现简单化,而且很有效,并把相应的代码限制力的数据库。
在几百行之内。
Heartbeat 是 Linux-HA 工程的一个组件,自 2、客户端要求1999 年开始到现在,发布了众多版本,是目前开 系统要求:用户终端
Android2.2 系统,
Android2.3源 Linux-HA 项目最成功的一个例子,在行业内得 系统及以上;到了广泛的应用。
Heartbeat 通过插件技术实现了 开发环境:eclipse 3.4
Android2.3 SDK;11集群间的串口、多播、广播和组播通信,在配置的 3、通信协议时候可 以根 据通 信媒 介选 择采 用的通 信协 议, 采用 httpxml 协议进行数据传输;heartbeat 启动的时候检查这些媒介是否存在,如果 因为绝大部分的防火墙允许 http 协议的数据存在则加载相应的通信模块。
这样开发人员可以很 。
包通过和开放 80 端口(http 服务最常用的端口)方便地添加新的通信模块, 比如添加红外线通信模 http 的一个关键优点在于,它通常不会被防火墙阻块。
Heartbeat 通过冗余通信通道和消息重传机制 止,从而提高了使用 http 的应用程序的可用性。
同来保证通信的可靠性。
10Heartbeat 检测主通信链 时,手机 WAP 拨号的接入方式需要走 http 协议的路工作状态的同时也检测备用通信链路状态, 并把 数据包。
所以采用 http 协议进行数据传输。
这一状态报告给系统管理员,这样可以大大减少因 4、网络环境为多重失效引起的集群故障不能恢复。
一般集群通 支持 C 网、W 网、G 网的 NET、WAP 方式访问,信有两类消息包,一类是心跳消息包,这类消息包 支持 WIFI 的访问;通告集群内节点的存活情况;另一类是控制消息2.3 子系统关系的描述 用户管理分为
Android 客户端,服务器,web 各个模块间的调用的数据流向:客户端等三个部分。
下图为
Android 客户端和服务 客户端:用户管理接口 jar 包,为各个应用提器之间的交互。
(如图 2) 供接口,并确保用户管理客户端进行升级后, 不影 响其他应用。
该模块和用户管理进行直接交互。
接口 jar 包 用户管理界面层进行页面 UI 逻辑的展示,并 对使用业务逻辑模块进行业务处理。
用户管理业务 客户端数据库 UI 界面层 模块进行数据库操作,进行数据缓存。
并调用用户 管理协议模块组织用户管理协议利用网络交互层 业务控制层 和服务器进行业务交互。
用户管理同步 客户端用户管理同步监听模块,监听用户状 监听模块 网络交互层 态,权限变更的通知, 并通知业务层进行业务的处 协议模块 理。
用户管理客户端发起的业务交互通过 服务器: 服务器同步业 服务器业务逻 服务器框架 用户管理服务器框架进行获取后交给业务逻辑模 务通知模块 辑 块进行业务处理,并进行业务数据的操作和查询, 以及业务的回复。
当用户的权限及状态发生变化后 服务器数据库 利用同步通知模块进行业务的通知。
图 2 客户端与服务器的交互图3.系统网络拓扑结构 1.前端采用 LVS 做服务器负载均衡调度, 12服务器向客户端提供一个虚拟 IP,客户端连接此IP 并发送数据,LVS 服务器接收到客户端的请求后,会向中层代理 Nginx 代理服务器13转发此数据。
2.Nignx 代理服务器接收到数据后,会根据配置以及业务服务器的负载情况向业务服务器转发客户端请求数据。
3.业务服务器处理客户端请求后,会把处理结果数据转到 Nginx 代理服务器。
4.Nignx 代理服务器直接向客户端发送返回结果数据。
4.功能实现及异常处理 用户管理系统旨在为用户提供一个能够快速 并减少用户记忆账号和密码的功登录第三方应用,能。
客户端首页如下图(图 3)所展示: 图 4 新浪微博账号授权界面 图 3 客户端首页 图 5 腾讯微博账号授权界面 在使用第三方应用账号登录时,会用到WebView,先拉 起 Oauth 鉴权,进行账号授权,之 4.1 异常的处理与反馈后可以登录。
由于篇幅有限, 文本就截取新浪微博(图 4)和腾讯微博(图 5)的鉴权图片。
1、登录失败 该异常进行多次处理,采用 3 次登录,如果登 录均失败进行确认网络不给力。
提示用户查询网络是否正常,等待用户的下一个操作。
第三方微博应用账号 够实现新账号的注册和登录, 2、权限更改滞后 但是在后续的开发与设计中还有很多的问 的登录, 题需要解决和研究,例如加入人人账号,IM 聊天 图 5 腾讯微博账号授权界面 账号等的登录功能,以及 web 端的设计与开发。
并通知 push 客户端。
提示用户稍等, 等待 push 将在后面的研究中得到更好的解决。
客户端更改后反馈给用户。
如果 push 客户端一直 参考文献没有响应,则提示更改失败,提示用户稍等,再次 1郑柯.中国“开放平台”和“OpenAPI”调查分析J.修改权限。
程序员200807:16-18. 3、网络业务操作缓慢及失败 2宋誉.基于腾讯开放平台的第三方应用研究J.科技创 提示用户网络不给力,等待用户的下一个操 业月刊 201205:7-9.作,如果没有操作,则暂停业务,有下个操作后, 3 Webmaster.
Android—an open handset alliance再次进行网络业务的操作。
projectEB/OL2010-06-242012-03-16. 4、异常的用户交互方式 http://www.openhandsetalliance.com/
android_overvie 发生数据异常时,通过
Android 的通知 toast w.html. 同时提示的时间为在手机屏幕上向用户显示信息, 4 comScore Reports February 2012 U.S. Mobile1s。
Subscriber Market Share
Android Captures Majority Share of U.S. Smartphone4.2 安全保密设计 Market OL.(2012-3-16)2012-4-3 http://www.comscore.com/chi/Press_Events/Press_Rel eases/2012/4/comScore_Reports_February_2012_U.S._M 1.子系统之间通过网络协议进行交互, 交互的 obile_Subscriber_Market_Share.内容需用 http 协议上的 GZIP 压缩后进行 Base64 5 靳岩姚尚朗. GoogleAndroid 开发入门与实战M.北编码。
使用 GZIP 压缩技 术是为 了用 户感受 更 京:人民邮电出版社,2009 年 7 月:2-3.快的速 度,同 时由于 Base64 是网络上最常见的 6李宁.
Android 应用开发实战M北京:机械工业出版用于传输 8Bit 字节代码的编码方式之一,它具有 社,2011 年 11 月:122-136.简短,不可读性,故采用此种方式。
7 Linda Rising .The Pattern Almanac 2000M. 2.用户密码进行 MD5 加密;用户的密码是以 Addison Wesley Publishing Company 2000-01-15.MD5 算 法经 Hash 运 算后 存储在 文件系 统中 。
14 8 Oracle;mysql 高可用集群方案;MySQL 白皮书;2010 当 用户登 录的 时候,系统把 用户输 入的 密码 年 11 月.进行 MD5 Hash 运算, 然后再 去和 保存在 文件 9巩天宁周书明.基于 DRBD 的 Linux 高可用集群J.电系统中的 MD5 值进行 比较, 进而 确定输 入的 脑与信息技术 2012 年 01 月:28-30.密码是 否正确。
通过这 样的 步骤,系 统在 并不 10 The Linux-HA.OL.(2010-12-13)2012-03-14知道用 户密码 的明码 的情 况下就 可以 确定用 http://www.linux-ha.org/doc/users-guide/users-guid户登录 系统的 合法性 。
这可以 避免用 户的 密码 e.html.被具有 系统管 理员权 限的 用户知 道。
11 宋小倩周东升.基于
Android 平台的应用开发研究 3.客户端、服务器等数据需进行加密存储。
J.软件导刊2011102 :104-106. 12李子民.基于 LVS 的集群动态负载均衡算法研究D成5.结束语 都:电子科技大学2009. 13 林丽丽.使用高性能 Web 服务器 Nginx 实现开源负载 本文提出了一个基于
Android 平台的用户管 均衡J.大众科技2010年07月:21-14.理软件的思路和总体设计的架构, 此软件为各个开 14 张建伟李鑫张梅峰. 基于 MD5 算法的身份鉴别技发
Android 平台的手机厂商,提供一个增强自身优 术的研究J. 计算机工程20032904:118-119.势与增加用户粘合度的的方法。
本文开发的软件能