下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于 An droid 的手游应用商店的设计与实现I基于 Android 的手游应用商店的设计与实现摘要随着科技的发展,二一世纪成为了以网络化,信息化为核心的社会。网络商业化也成为了时下最热门的词汇。随着信息技术的不断更新,特别是 07 年谷歌公司推出了 An droid 开放源码,让 An droid 操作系统成为了移动平台的宠儿。本 系统主要是针对 An droid 移动平台,为广大使用群体提供手游(手机游戏)的下 载,让用户能够体验最新、最热门的手游,并从中获得快乐。本设计是一个基于 An droid 手机的手游应用商店,并采用 C/S 作为开发模式。本文从系统需求、系统实际、代码实现几
2、个方面介绍了整个软件的开发过程,这个系统采用 JAVA、MySQL 数据库,并利用 MyEclipse、TOMCATAndroid SDK ADT、AVD DDM 箋开发环境或者开发工具。基于 An droid 的手游应用商店的设计与实现II关键词:An droid、Java、MyEclipse、SQLite、MySQLThe Design and Implementation of Android-based MobileGames App StoreAbstractWith the developme nt of scie nee and tech no logy of the twen
3、ty-first cen tury tobecome a network, information as the core of society. Commercialnetwork has alsobecome the hottest vocabulary. With the continuous updating of information tech no logy,especially in 2007 Google laun ched the An droid ope n source, so that became the darl ing ofthe An droid operat
4、 ing system for mobile platforms. The system is mai nly for the An droidmobile platform, for the majority of user groups provide mobile game download, allowingusers to experienee the latest and most popular mobile games, and derive pleasure.The desig n is an An droid-based mobile phone applicatio n
5、store tour han ds, and usingC / S as a development model. From the system requirements, the system actually, codedescribes several aspects of the software development process, this system uses JAVA,MySQL database, and usi ng MyEclipse, TOMCAT, An droid SDK, ADT, AVD, DDMS, suchas the developme nt en
6、 vir onment or developme nt tools .Keywords:An droid,Java,MyEclipse,SQLite, MySQL.基于 An droid 的手游应用商店的设计与实现ill目 录摘要.I第一章绪论. 11.1 开发背景. 11.2 开发目的. 11.3 主要内容. 1第二章系统理论与技术 . 1第三章系统分析与设计 .13.1功能需求 . 13.1.1客户端. 13.1.2服务端. 23.1.2 功能模块图 . 23.2 模块结构与流程 . 33.2.1客户端.113.2.2服务端. 153.3 数据库设计 . 193.3.1数据库表及其结构 .
7、 193.3.2数据. 203.3.3客户端数据库的连接 .203.3.4服务器数据库的连接 .223.4 系统结构. 223.4.1部署图. 223.4.2类图. 223.5执行概念 . 24基于 An droid 的手游应用商店的设计与实现ill第四章系统实现. 244.1ANDROID环境搭建. 244.2 客户端. 26421用户登录. 264.2.2用户注册. 284.2.3游戏浏览. 304.2.4游戏下载. 334.2.5软件管理. 354.3 服务端. 374.3.1响应客户端登录请求 . 374.3.2用户信息管理. 40第五章结束语. 42致谢. 43参考文献 . 44基于
8、 An droid 的手游应用商店的设计与实现1第一章绪论1.1 开发背景1.2 开发目的1.3 主要内容第二章系统理论与技术第三章系统分析与设计3.1 功能需求随着 3G 时代的到来,手机应用越来越普遍,加之国民手机持有量更是爆炸式增长。为了方便 An droid 手机用户能随时随地下载手游,获取手游咨询,于是提 出本系统的主要功能。3.1.1 客户端1、 界面1)登录、注册界面2)左侧菜单界面3)手游列表查看界面4)手游详情查看界面5)手游文件管理界面2、 功能1)实现客户端与服务器之间的连接2)实现登录、注册功能3)实现手游信息列表展示功能,并能断点下载手游4)实现手游搜索功能基于 An
9、 droid 的手游应用商店的设计与实现25)实现手机软件的卸载功能6)实现客户端自动更新功能7)实现对手游的评价功能3.1.2服务端1、 界面1)管理员登录界面2)用户、手游、评价的信息管理界面2、 功能1)向客户端提供用户、手游列表、以及评价列表信息2)实现添加、删除、修改客户端用户信息3)实现添加、删除、修改手游信息4)实现添加、删除、修改手游评价信息3.1.3 功能模块图功能模块图如 3-1 所示:基于 An droid 的手游应用商店的设计与实现3基于 An droid 的手游应用商店3.2 用例解说3.2.1 用户用例解说主要参与者用例用户1.客户端用户用户1.用户注册2.用户登录
10、客户端3.查看手游列表信息4.查看手游详情手游评价手游信息列表浏览手游断占八、 、下载数据交互与逻辑处理用户登录、注客户端服务端手游信息增删查改手游评价信息增删查改基于 An droid 的手游应用商店的设计与实现45.查看评论6.发表留言基于 An droid 的手游应用商店的设计与实现57.下载手游8.卸载应用用例 ID 号UC-1用例名称用户注册参与者用户描述用户进入客户端首页,打开菜单并点击注册前置条件用户进入注册界面后置条件用户按照要求填写相关注册信息主干过程1.用户进入首页2.打开左侧菜单,点击注册分支过程a)用户进入客户端1.1 填写注册信息1.2 点击注册优先级中使用频率需要积
11、分的应用注册并登录才能下载特别需求注意和问题用例 ID 号UC-2用例名称用户登录参与者用户描述用户登录进入客户端前置条件用户已进入客户端后置条件主干过程1.登录分支过程b)进入登录界面1. 填写登录信息2. 点击登录优先级中基于 An droid 的手游应用商店的设计与实现6使用频率需要积分手游必须登录才能下载特别需求注意和问题用例 ID 号UC-3用例名称查看手游列表信息参与者用户描述用户进入客户端后,查看手游列表信息前置条件后置条件主干过程1.查看手游列表信息分支过程C)查看手游列表信息1. 进入客户端2.用户选择查看不同类别的手游优先级低使用频率高特别需求注意和问题用例 ID 号UC-
12、4用例名称查看手游详情参与者用户描述用户进入客户端,点击一个手游前置条件用户进入客户端后置条件主干过程1.用户查看手游列表2点击手游进入手游详情界面分支过程d)用户查看手游列表1. 用户查看手游列表2.用户选中一个手游基于 An droid 的手游应用商店的设计与实现73.进入手游详情界面优先级中使用频率高特别需求注意和问题用例 ID 号UC-5用例名称查看评论参与者用户描述前置条件用户已进入手游详情界面后置条件主干过程1.进入详情界面2.点击评论按钮进入查看评论分支过程e)查看手游的评论信息1. 进入手游的详情界面2.点击评论按钮,进入评论信息界面优先级高使用频率特别需求注意和问题用例 ID
13、 号UC-6用例名称发表评论参与者用户描述用户点击评论按钮后,弹出发表评论的对话框前置条件打开发表评论的对话框后置条件主干过程1.点击评论按钮2.弹出评论对话框分支过程f)用户发表评论基于 An droid 的手游应用商店的设计与实现81.点击评论按钮2. 打开评论对话框3.填写评论信息4.点击发表按钮5.完成评论发表优先级中使用频率特别需求注意和问题用例 ID 号UC-7用例名称下载手游参与者用户描述用户点击手游列表以及详情界面中的下载按钮开始 下载手游前置条件后置条件主干过程3.用户点击下载按钮分支过程g)下载手游1. 用户点击下载按钮2.需要积分的手游需要先登录,在用户积分足够的情况下可
14、以下载手游3.在点击下载按钮后按钮上显示暂停,用户再次点击 后可暂停手游下载4. 用户在下载管理界面可以对下载中的手游进行暂、 继续以及删除等操作优先级高使用频率特别需求需要积分的手游需在登录并积分足够的情况下才能下载基于 An droid 的手游应用商店的设计与实现9注意和问题用例 ID 号UC-8用例名称下载应用参与者用户描述用户进入应用卸载界面,卸载选中的应用前置条件后置条件主干过程4.用户卸载应用分支过程h)应用卸载1. 用户进入应用卸载界面2.选中需要卸载的应用3.点击卸载按钮4卸载选中的应用优先级低使用频率特别需求注意和问题3.2.2 管理员用例解说主要参与者用例管理员2.服务端管
15、理员管理员1.登录2.客户端用户信息的增加、删除3.手游信息的增删查改4.手游评论信息的删除用例 ID 号UC-1用例名称管理员登陆基于 An droid 的手游应用商店的设计与实现10参与者管理员描述管理员通过系统所预设的账号和密码登录系统前置条件管理员账号和密码后置条件主干过程1.管理员登陆分支过程a)管理员登陆1.1 填写账号、密码1.2 登录系统优先级高使用频率特别需求注意和问题用例 ID 号UC-2用例名称客户端用户信息的增加、删除参与者管理员描述登录系统后,在管理模块中添加、删除用户前置条件管理员登陆系统后置条件主干过程2.管理员登陆分支过程b)管理员登陆1.1 添加、删除用户1.
16、2 退出系统优先级高使用频率特别需求注意和问题用例 ID 号UC-3用例名称手游信息的增删查改参与者管理员基于 An droid 的手游应用商店的设计与实现11描述登录系统后,查改在手游信息管理模块中对信息进行增删前置条件管理员登陆系统后置条件主干过程1.添加、删除、修改、查询手游信息分支过程a)添加、删除、修改、查询手游信息1.1登录系统1.2 进入管理界面1.3 更新信息1.4 退出系统优先级高使用频率特别需求注意和问题用例 ID 号UC-4用例名称删除留言参与者管理员描述管理员可以登陆后通过管理模块处理用户留言前置条件管理员已经登录系统后置条件主干过程5.登录系统6.删除留言分支过程b)
17、删除留言1. 登录系统2.删除留言3.退出系统优先级低使用频率特别需求使用系统功能必须登录基于 An droid 的手游应用商店的设计与实现12注意和问题3.3 模块结构与流程3.3.1 客户端客户端概要设计如表3-1 :客户端模块简要说明登录模块在连接上服务器的前提下登录成功注册模块在连接上服务器的前提下注册成功手游浏览模块从服务器中读取数据,并把数据封装显示在手游列表中手游评价信息浏览模块从服务器中读取数据,并把数据封 装显示在手游评价列表中手游搜索模块向服务器发送请求数据并获取返回 数据,然后把数据封装显示在手游搜索 列表中自动更新模块从服务器中读取最新版本的数据, 与本地进行比较,提示
18、用户更新手游下载模块使用多线程断点技术,从服务器下载手游表 3-1 客户端概要设计表基于 An droid 的手游应用商店的设计与实现13图 3-2 客户端登录注册模块流程图基于 An droid 的手游应用商店的设计与实现141从服务器获取新版本数据1本地是最新丿g 否是、扳本开始否一是否结束安装最新版下载模块下载成功图 3-3 客户端版本更新模块流程图基于 An droid 的手游应用商店的设计与实现15图 3-4 客户端手游下载模块流程图基于 An droid 的手游应用商店的设计与实现16图 3-5 客户端整体流程图3.3.2 服务端服务端概要设计如表3-2 :基于 An droid
19、的手游应用商店的设计与实现17服务端模块简要说明向客户端提供数据接收客户端的请求数据, 然后向客 户端发送相对应的数据管理员登录只有指疋用户才能进仃登录本服务 端信息管理系统客户端用户信息增删查改提供客户端用户信息的增加、删除、查询、修改的功能手游信息增删查改提供手游信息的增加、删除、查询、修改的功能手游评价信息增删查改提供手游评价信息的增加、删除、查询、修改的功能表 3-2 服务端概要设计表图 3-6 服务端登录模块流程图基于 An droid 的手游应用商店的设计与实现18图 3-7 服务端向客户端提供数据模块流程图基于 An droid 的手游应用商店的设计与实现19图 3-8 服务端数
20、据管理模块流程图203.3 数据库设计数据库结构组织和数据库文件设计要根据不同用途,使用要求等,来决定数 据库的整体组织形式等一系列问题。数据库,顾名思义,是存放数据的仓库,只不过这个仓库是在计算机存储设备上的,而且数据是按一定格式存放。数据库 中的数据按一定模型组织描述和存储。具有较小的重复度,较高的数据独立性和 易扩张性,并且可以被一定范围内的各种用户共享。在涉及数据库的软件开发中,需要根据有待解决的问题性质,规模,以及所采用的前端程序创建工具等。做出 合适的数据库类型选择。在该项目中建立了两个数据库,客户端和服务器各一个,用这种设计方式主 要是为用户减少许多不必要的流量浪费,如果只创建一
21、个服务器数据库的话,用 户每次连接上服务器时都会将服务器的所有资源全部接受一遍,但是事实上该项 目并不需要实时的更新数据,因为有些菜品的信息可能很久都不会有变动,所以 考虑在客户端也创建一个数据库把服务器端发送过来的数据存储在本地数据库 中,当服务器有更新时只需要传递改变的数据就可以实现更新。3.3.1 数据库表及其结构客户端数据库(SQLite)Dow nload Info 表:编号,文件名,包名,图标链接,下载链接,下载进度, 文件长度,文件详细信息链接,文件存储路径。服务端数据库(MySQLUser 表:编号,头像链接,用户名,性别,生日,手机,邮箱,等级,经验, 金币,注册时间,礼包数
22、,收藏数,评论数。Game 表 :编号,标题,图标链接,包名,版本号,评价等级,描述,金币数, 奖励金币数,游戏类别,文件大小,下载数量,下载链接,详情编 号,作者编号。GameDetail 表:编号,标签,详情图片链接,评论链接;Author 表:编号,姓名,作者链接。Comme nt 表:编号,评分,评论内容,评论日期,手游编号,评论者编号。基于 An droid 的手游应用商店的设计与实现21基于 An droid 的手游应用商店的设计与实现3.3.2数据系统 E-R(实体-联系)图用来描述数据关系模型,可以用来建立数据模型 本系统共有 6个实体,其关系如图 3-9 所示。Downl o
23、ad InfoPKIDpassword n amefileNamepackageNameicon Path dow nloadUrl progressfileLe nghtdetailUrlfileSavePath图 3-9 手游应用商店实体关系图333 客户端数据库的连接客户端的数据库创建代码如下所示:public class FileDow nDBOpe nH elper exte nds SQLiteOpe nH elper private static final Stri ng DBNAME = wormhelp.db;private static final int VERSION
24、 = 1;AuthorPKIDn amesummaryUrlUserPKIDico n user namepassword sexbirthday pho neemail level experienee coin signupTimegiftbagCou ntbookmarkCou ntcomme ntCou ntComme ntPKIDstart comme ntsumbitDateuserIDgamelDGameDetailPKIDtags coverUrlcomme ntUrlGamePK JD.title iconpackageNameversion Code startsummar
25、y coi nawardCo incategoryName downl oadCou nt dow nloadLe nght detailUrldetailID authorlD22public FileDow nDBOpe nH elper(Co ntext co ntext) super(co ntext, DBNAME, n ull, VERSION);Overridepublic void on Create(SQLiteDatabase db) db.execSQL(CREATE TABLE IF NOT EXISTS + FileDow nColu mn s.TABLE_NAME_
26、FILEDOWN+ (_id in teger primary key auto in creme nt,+FileDow nColum ns.NAME+ varchar(100),+FileDow nColum ns.FILENAME+ varchar(100),+FileDow nColum ns.PACKAGENAME+ varchar(100),+FileDow nColum nsCONPATH+ varchar(100),+FileDow nColum ns.DOWNPATH + varchar(100),+FileDow nColum ns.FILESAVEPATH + varch
27、ar(100),+FileDow nColu mn s.FILELENGHT + INTEGER,+FileDow nColum ns.DETAILURL + varchar(100),+FileDow nColu mn s.PROGRESS+ INTEGER );Overridepublic void on Upgrade(SQLiteDatabase db, int oldVersi on, int n ewVersi on) db.execSQL(DROP TABLE IF EXISTS + FileDow nColu mn s.TABLE_NAME_FILEDOWN);on Creat
28、e(db);客户端数据库链接代码(主要代码)如下所示:3.3.4服务器数据库的连接基于 An droid 的手游应用商店的设计与实现233.4 系统结构本系统采用 HTTP 协议来进行数据传输。采用 C/S 结构,客户端为基于 Android操作系统平台的智能手机,主要的业务逻辑则服务器端来实现,数据存储在数据 库服务器3.4.1 部署图系统部署如图 3.7 所示,客户端采用基于An droid 操作系统平台的智能手机,服务器端包括服务器、图形界面化工具和数据库服务器,主要处理业务逻辑和对 数据的增删改查。图 3-10 系统部署图3.4.2 类图根据已建立的用例图确定要建立的对象类并确定属性和
29、操作。通过检查类的定义,分析问题的需求和运用该领域知识来确定类的属性。根据系统功能需求和基于 An droid 的手游应用商店的设计与实现24系统设计需要确定类的操作,本系统有 6 个实体类,分别为下载信息实体类(Downloadlnfo )、用户实体类(User)、评论实体类(Commen)、手游实体类 (Game、手游详情实体类( GameDetail )、手游作者实体类( Author ),如图 3-11 所示。Author-ID : Long-name : String-summaryUrl : String+setID()+getID() : Long+setName()+getNa
30、me() : String +setSummaryUrl() +getSummaryUrl() : String图 3-11 实体类图Downloadinfo-ID : Long -name : String-fileName : String-packageName : String-iconPath : String-downloadUrl : String-progress : Integer-fileLength : Integer-detailUrl : String-fileSavePath : String+setlD() +getlD() : Long+setName() +g
31、etName() :String +setFileName()+getFileName() : String+setPackageName()+getPackageName() : String+setIconPath()+getIconPath() : String+setDownloadUrl()+getDownloadUrl() : String+setProgress()+getProgress() : Integer+setFileLength()+getFileLength() : Integer+seDetailUrl()+getDetailUrl() : String+setF
32、ileSavePath()+getFileSavePath() : StringUser-ID : Long -icon : String-userName : String -sex : String-birthday : String -phone : String-email : String -level : Integer-experience : Integer -coin :Integer -sigupTime : String-giftbagCount : Integer七ookmarkCount : Integer-commentCount : Integer+setID()
33、 +getID() : Long+setIcon() +getIcon() : String+setUserName()+getUserName() : String+setSex() +getSex() : String+setBirthday() +getBirthday() :String +setPhone()+getPhone() : String+setEmail() +getEmail() : String+setLevel() +getLevel() : Integer+setExperience()+getExperience() : Integer+setCoin()+ge
34、tCoin() : Integer+setSignupTime()+getSignupTime() : String+setGiftbagCount()+getGiftbagCount() : Single+setBookmarkCount()+getBookmarkCount() : Integer+setCommentCount()+getCommentCount() : IntegerComment-ID : Long-start : Double -comment :String -sumbitDate : Date+setID()+getID() : Long+setStart()+
35、getStart() : Double+setComment()+getComment() : String+setSumbitDate()+getSumbitDate() : StringGameDetail-ID : Long-tags : String -coverUrl :String -author : Author-comment : Comment+setID()+getID() : Long +setTags()+getTags() : String+setCoverUrl()+getCoverUrl() : String+setAuthor()+getAutjor() : A
36、uthor+setComment()+getComment() : CommentGame-ID : Long -title : String -icon :String -packageName : String-versionCode : Double -start :Double -summary : String -coin :Integer -awardCoin : Integer-categoryName : String-downloadUrl : String-downloadCount : Integer-downloadLength : Integer-detailUrl
37、: String+setID()+getID() : Long +setTitle()+getTitle() : String +setIcon()+getIcon() : String+setPackageName()+getPackageName() : String+setVersionCode()+getVersionCode() : Double+setStart()+getStart() : Double+setSummary()+getSummary() : String+setCoin()+getCoin() : Integer+setAwardCoin()+getAwardC
38、oin() : Integer+setCategoryName()+getCategoryName() : String+setDownloadUrl()+getDownloadUrl() : String+setDownloadCount()+getDownloadCount() : String+setDownloadLength()+getDownloadLength() : Integer+setDetailUrl() +getDetailUrl() :String基于 An droid 的手游应用商店的设计与实现253.5 执行概念本系统时序图如图 3-12 所示:封装数据讨封装数据
39、:存入数据库图 3-12 时序图1、 客户端发送请求给服务器,服务器的后台Acti on 负责处理数据。2、 服务器业务逻辑处理会调用Service,进行数据处理。3、 Service 调用 Dao, Dao 把数据保存到数据库DB 中。4、 DAO 返回结果给 Service , Servie 进行数据处理后将结果返回给Action5、Action 把结果返回给客户端。第四章系统实现4.1 An droid环境搭建任何事物要运行,都要有它的环境,An droid 也有它的环境才能够运行,下面介绍 An droid 的开发环境配置.搭建开发环境需要的软件:1.操作系统: Windows 7 或
40、 LinuxClientActionServiceDaoDB请求数据处理返回数据结果-返回数据结果-从数据库读取数据响应基于 An droid 的手游应用商店的设计与实现262.软件包:An droid SDK(Software Developme nt kit Java Developme nt kit)、ADT(A ndroid Develoopme nt Tool)基于 An droid 的手游应用商店的设计与实现273.DE 环境:Eclipse IDE+ADT Eclipse3.3 以上4.JDK : Java Run time En viro nment 虚拟机 、(JDK)Jav
41、a Developme nt kit5.安装 An droidSDK :首先要下载 SDK,可以在这个网址下载Http:/ ,如图 4-1,选择相应的系统进行安装6.安装 An droid ADT 插件 运行 Eclipse,选择 help-i nstall new software 选择add,将会弹出一个框,如图4-2 所示图 4-1 SDK 下载基于 An droid 的手游应用商店的设计与实现28图 4-2 ADT 的安装4.2 客户端4.2.1 用户登录用户登录界面如下:基于 An droid 的手游应用商店的设计与实现29 0 铝询诊IP浚丄股口IBM提交图 4-3 手游商店登录界
42、面登录代码(主要部分):/先判断用户名和密码是否为空,然后向服务器发送登录请求.判空处理Overrideprotected MapvString. StringgetParams()throws AuthFailureError MapvString, Stringmap= new HashMapvString, String();mapput( name, nam;mapput( pass , pass);return map/从服务器获取返回结果后,客户端进行处理private void handleLoginlnfo(LoginInfoinfo ) if ( info = null )
43、WormToast. shortToast (getApplicationContext(),基于 An droid 的手游应用商店的设计与实现30Rwork_wrong );return ;/将登录状态记录下来Prefere nceUtil.setPrefl nt(getApplicatio nCon text(),PreferenceUtil.USER_LOGIN_STAT,E info .getState();if ( info .getState() = Log inInfo.LOGIN_STATE_FAIL) WormToast. shortToast (getApplication
44、Context(),R.stri ng.login_login_fail ); else if (info .getState() = Loginlnfo. LOGIN_STATE_SUCCE SMyApplication.sUserInfo = info .getUserInfo();/登录成功后,返回到主界面setResult( RESULT_OKfini sh();4.2.2用户注册注册界面如下:基于 An droid 的手游应用商店的设计与实现31图 4-4 注册界面注册代码(主要部分):/先进行字段判空等处理,然后向服务器发送注册请求.判空处理OverrideprotectedMap
45、vString. StringgetParams()throws AuthFailureError MapvString,Stringmap= new HashMapvString, String();mapput(name,n am;mapput(pass,pass);mapput(email,email );returnmapprivate void handleRegisterInfo(Registerlnfoinfo )if (info = null )WormToast. shortToast (getApplicationContext(),Rwork_wrong );基于 An
46、droid 的手游应用商店的设计与实现32return ;/将注册状态记录下来Logi nlnfo. saveLog in State (getApplicati onCon text(),info .getState();if ( info .getState() = RegisterInfo.REGISTER_STATE_FAIL WormToast. shortToast (getApplicationContext(),R.stri ng.register_fail ); else if ( info .getState()=RegisterI nfo. REGISTER_STATE_
47、ERRQRWormToast. shortToast (getApplicationContext(),R.stri ng.register_error ); else if ( info .getState()=RegisterI nfo. REGISTER_STATE_SUCCE)SMyApplication.sUserInfo = info .getUserInfo();/注册成功后,返回到登录界面setResult( RESULT_OKfini sh();4.2.3游戏浏览主界面截图:基于 An droid 的手游应用商店的设计与实现33:.|图 4-5 游戏浏览主界面截图主要代码:/
48、向服务器发送数据请求,并处理返回结果Strin gRequestrequest = new Strin gRequest(path,Liste nervStri ng() public void onResponse(Stringjson ) loading = false ;loadi ngViewUtil .hideLoadi ngView(); pullListView .onRefreshComplete();if ( json != null ) if (! isNext ) /解析返回的 Json 数据BestGame game =JsonHomeUtil. getBastGame
49、FromJson (json );if ( game != null ) / 头咅 E viewpager(M)I 0 I(?)X:燮齢毘盘 6 葯案!201丐自苗畫死培低_霸舌凤悔曲濃阳右嗨new入空溟拡SkywardIFIIWIJEKiioormt *I.MSCR*1-基于 An droid 的手游应用商店的设计与实现34size =gamegetAdvertiseme nts().getResults().size();if ( size 0) vpAdapter .bindData( gamegetAdvertisements().getResults();vpHead.setAdap
50、ter( vpAdapter );initDots( size );switchDot(O);/每隔 4 秒钟切换一张图片isPagerAutoTurn = true ;mHandler .postDelayed(viewPagerTask , 4 1000);/ 下方 listviewif ( gamegetPackages() != null ) n extPath = gamegetPackages().getNext();lvAdapter = newGameLVAdapter(getActivity();lvAdapter .bi ndAata( gamegetPackages().
51、getResults();pullListView .setAdapter( lvAdapter ); else / 下方 listview 加载Package package1 = JsonHomeUtil.getPackagesFromJson (json );if ( package1 != null & lvAdapter != null ) n extPath = package1 .getNext();lvAdapter .appendData( package1 .getResults();lvAdapter .n otifyDataSetCha nged();基于 An
52、 droid 的手游应用商店的设计与实现35, new ErrorListe ner() public void onErrorResponse(VolleyErrorerror ) layoutNoNetworkutil .showNoNetworkLayout(););4.2.4游戏下载手游下载截图如图 4-6 所示:全即普离图 4-6 手游下载管理界面手游下载的主要代码如下所示:/添加一个下载任务public void onClick(Viewv) 基于 An droid 的手游应用商店的设计与实现36/下载状态回调requestCallBack(downloadInfo , holde
53、r );将下载请求添加到下载线程中ublic void addNewDownload(.J throws DbException . 数据处理HttpUtilshttp = new HttpUtils();http .configRequestThreadPoolSize(maxDownloadThread );HttpHa ndlerhan dler =)wnload( result .getDownload(), target , autoResume, autoRename, newjrCallBack( downloadlnfo , callback );returnDow nload
54、Co un t();d();d();Util. getFilePath (result .getDow nl oad()./如果目标文件存在,接着未完成的部分继续下载。服务器不支持RANG 时将从新下载。true/如果从请求返回信息中获取到文件名,下载完成后自动重命名false , null );while ( downloadInfo.getDow nloadl nfo( result .getDow nloa/一些判断处理.addNewDownload( resultnull ) dow nl oadInfo基于 An droid 的手游应用商店的设计与实现37/下载线程Overridep
55、ublic void run() try HttpURLCo nn ectio n http = (HttpURLCo nn ectio n)downUrl .openConnection();.初始化请求int startPos = block * ( threadId - 1) +downLength ;intendPos = block * threadId -1;/设置请求的数据范围,实现断点下载http .setRequestProperty(Range , bytes= + startPos-+ en dPos);In putStreamin Stream = http .getl
56、 nputStream();.读取数据 catch (Exception e) 4.2.5软件管理设置界面如图 4-7 所示:基于 An droid 的手游应用商店的设计与实现38 吉忖宝钱包宓I*环誚门户I-StxISKB呻心1-28_rr令n Ffc aQND全准愎隆图 4-7 软件卸载截图/机身可用内存,内存总大小public void setDatelnternalMemory() File path = Environment. getDataDirectory ();StatFs stat = new StatFs( path .getPath();longblockSize=st
57、at .getBlockSize();longtotalSize=stat .getBlockCount() * blockSize ;long availableSize = stat .getAvailableBlocks() *blockSize/内存总大小Stri ng DATE= Formatter. formatFileSize (getActivity(), totalSize );Stri ngdate = Formatter. formatFileSize (getActivity(),availableSize );/可用内存O蟻駅0h.qiNBkiAO a呦CM l-?e
58、Q.fWlO d啪XM丨lOioriG基于 An droid 的手游应用商店的设计与实现39Stri ng useDate = Formatter. formatFileSize (getActivity(),totalSize基于 An droid 的手游应用商店的设计与实现40-availableSize );pgb_ un load_memory_i nstory .setMax(IOO);int progress = ( int ) ( float ) ( totalSize - availableSize ) / totalSize * 100);pgb_unioad_memory_
59、instory.setProgress( progress );tv_unload_memory_instory .setText( 已用+ useDate + 可用+ date );/根据包名卸载应用private void unLoadAPp(StringpackageName) Uri packageUri = Uri. parse (package: + packageName);In te nt delete Intent = new Inten t();deletel ntent.setActio n(ln te nt.ACTION_DELETEdelete Intent .set
60、Data( packageUri );startActivityForResult(deleteI nte nt , REQUEST_CODE_UNLOAD4.3 服务端4.3.1响应客户端登录请求/登录请求的 Struts 配置/ Action 的处理public void login() request .getParameter(name);request .getParameter(pass);Stri ng n ame = (String)String pass = (Stri ng)基于 An droid 的手游应用商店的设计与实现41MapvString. Objectmap =mUserSer
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 妇女腹带产业深度调研及未来发展现状趋势
- 江苏省南通市海门区东洲小学等2024-2025学年四年级上学期11月期中科学试题
- 包装袋用纸产业规划专项研究报告
- 传送高功率电子束的波导管产业运行及前景预测报告
- 小学语文“搭石”说课稿
- 圣诞树架产品供应链分析
- 家用除烟器产业深度调研及未来发展现状趋势
- 食品添加剂监管制度建设
- 工业用碾碎机市场需求与消费特点分析
- 交流器电产业深度调研及未来发展现状趋势
- 人教版五年级数学上册第一单元《小数乘法》(大单元教学设计)
- 家庭约法三章合同
- 2024新老物业移交协议
- 在线网课知道智慧《电路(1)(山大)》单元测试考核答案
- 不履行合同义务催告函范文
- 小学二年级上册数学-数角的个数专项练习
- 项目目标成本测算书样表
- 特种设备使用单位日管控、周排查、月调度示范表
- 职业生涯规划概述课件
- JB-T 14320-2022 氧气用止回阀
- 九年级英语《Unit 6 When was it invented》说课稿
评论
0/150
提交评论