《Android移动应用设计与开发--第02章.ppt》由会员分享,可在线阅读,更多相关《Android移动应用设计与开发--第02章.ppt(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第2章章 Android项目项目n2.1 第一个应用程序第一个应用程序 2.1.1 创建Android项目 2.1.2 项目核心文件和目录 2.1.3 开发工具介绍n2.2 综合案例综合案例 2.2.1 需求分析 2.2.2 概要设计n2.3 本章小结本章导读本章导读2.1.1 创建创建Android项目项目1、首先,创建AVD(Android Virtual Device)。 AVD用于运行Android项目,在一个AVD上可以配置很多的运行项目。AVD的创建方式有两种:通过Eclipse开发环境创建,或者通过命令行创建。 通过Eclipse开发环境创建 在Eclipse开发环境下选择Wi
2、ndowAndroid SDK and AVD Manager,然后从Virtual devices目录下点击New,在弹出框中配置选项,需要在Name中输入AVD的名称,在Target中选择系统类库及API级别,然后指定SD Card和Skin即可。如下页左图。 在命令行创建则需首先找到Tools的路径,查看可用的Android targets,然后创建AVD,可通过android list targets命令来查看所创建的AVD。如下页右图。2.1.1 创建创建Android项目项目2.1.1 创建创建Android项目项目2、新建工程。点击FileNewAndroid Project,然
3、后配置工程选项。v 对于已存在的代码文件,可以通过FileNewAndroid Project,在弹出的配置框中选中Create project from existing source,然后在Location栏点击Browse来选择所要打开的项目地址,这里选取Android系统自带的例子说明,如右图所示。v 有一些是已经含有工程配置文件的项目,则可以通过FileImportExisting Projects into Workspace来导入。2.1.1 创建创建Android项目项目3、运行。 现在我们启动模拟器运行刚刚创建的project1这个项目,需要在项目名上点击右键选择Run As
4、Android Application来运行,我们也可以通过Run Configurations来修改启动配置。此时,模拟器已经启动,显示的界面如下图所示。 我们可以看到启动的模拟器上显示了一段文字,我们此时尚未在项目中输入任何代码,这是项目自己默认的显示。2.1.2 项目核心文件和目录项目核心文件和目录所建工程项目中存在的内容:v 1、src文件夹。v 2、gen文件夹。v 3、Android 1.5。v 4、assets文件夹。v 5、res文件夹。v 6、res/drawable。v 7、res/layout。v 8、res/values。v 9、.classpath。v 10、.pro
5、ject。v 11、AndroidManifest.xml。v 12、default.properties。v 13、bin文件夹。2.1.3 开发工具介绍开发工具介绍v aaptv adbv android工具v Android模拟器v Android层级阅览器v Draw Nine-patchv DDMSv sqlite3v TraceViewv logcat2.2 综合案例综合案例 本节将提出一个大案例,主要包含该大案例的需求分析和概要设计。2.2.1 需求分析需求分析 本书大案例主要是一款一定范围域内的用户进行通信和交流的产品,本书将从基础版块、操作功能、业务逻辑三方面来给出一些功能需
6、求。1、基础板块 该案例将包含四大基础版块的内容:用户个人资料,话题,私信,好友。2.2.1 需求分析需求分析2、操作功能 该综合案例将包含注册、登录、退出、注销、发表/查看话题、评论话题、发送/接收私信、阅读私信、添加/删除好友以及查看用户资料等功能。2.2.1 需求分析需求分析3、业务逻辑该大案例包括如下业务逻辑:(1)要使用该产品的功能,需要经过有效的注册;(2)该产品的所有用户都可以发表话题,并且发表的话题能够让本产品所有用户看见,同时用户还可以回复话题;(3)本产品所有的用户都能够给任意其他用户发送文本私信,并且保留发送记录;(4)本产品的所有用户都能够接收任意其他用户发送的文本私信
7、,并且可以进行阅读和查看接收记录;(5)对于本用户而言,发送或者接收的私信内容都是可以查看的;(6)任意用户可被其他用户加为好友,前提是同意其他用户所发送的加为好友的消息;(7)两用户可以解除好友关系,产品将通过一定 方式把好友关系中解除一方的操作告知被解除一方;(8)使用本产品的用户可以查看其他用户的资料。2.2.2 概要设计概要设计1、 总体设计 本案例在Android客户端上的设计主要包含四大部分: 用户界面,即UI方面的设计,对应第5章的内容; 数据库,对应第8章的内容; 事件处理,包含常用的事件响应机制和处理流程,主要对应第4章、第6章、第7章、第10章的内容; 网络访问,对应第9章
8、的内容。12、数据库表设计 a、表名:Topic(话题)b、表名:PrivateLetter(私信)2.2.2 概要设计概要设计1属性类型描述 _idint Android系统主键 UIDlong 话题发布者用户ID Topic_IDlong 话题ID Topic_Contenttext 话题内容 Topic_Timeint 话题发表的时间Topic_Nametext 话题发布者的名字Topic_Phototext 话题发布者的头像属性类型描述 _idint Android系统主键 UIDlong 私信发送者的用户ID PrivateLetter_UIDlong 私信接收者UID Privat
9、eLetter_IDlong 私信ID PrivateLetter_Contenttext 私信内容 PrivateLetter_Timeint 私信发送的时间 PrivateLetter_Nametext 私信发送者的名字 PrivateLetter_Phototext 私信发送者的头像 PrivateLetter_isSendboolean true发送,false接收c、表名: Friend(好友信息)2.2.2 概要设计概要设计1属性类型描述_idint Android系统主键UIDlong 所属用户ID Friend_IDlong 好友IDFriend_Nametext 好友名字Fr
10、iend_Phototext 好友头像 Friend_Mobiletext 好友电话号码 Friend_Sextext 好友性别 Friend_Stateint 好友的状态3、网络接口设计请求参数。 本案例将采用JSON格式进行传输,基本参数包括用户名、密码和请求数据。其中请求数据有:随机字符串、请求类型、请求参数。请求参数以数组形式传递。其数据格式如下:返回参数。 其数据格式如下: 请求参数和返回参数的requestType需一致。result的数字表示返回结果,1为成功,0为失败。content中的内容返回的是JSON格式的字符串。2.2.2 概要设计概要设计1“username”:“xx
11、x”,“password”:“xxx”,“randomkey”:“xxx”“requestType”:“xxx”,“params”:“xxx”,“xxx”,“xxx”“result”:“xxx”,“requestType”:“xxx”,“content”: “xxx”,“xxx”,.,. 本书大案例中会使用到的19种请求和返回参数的设计,如下:登录(Login) 请求数据: 返回数据:2.2.2 概要设计概要设计1“username”:“xxx”,“password”:“xxx”,“randomkey”:“xxx”,“requestType”:“Login”,“params”:“result”
12、:“数字”“requestType”:“Login”“content”:用户个人资料注销(Logout) 请求数据: 返回数据:注册(Signin) 请求数据:2.2.2 概要设计概要设计1“username”:“xxx”,“password”:“xxx”,“randomkey”:“xxx”,“requestType”:“Logout”,“params”:“result”:“数字”“requestType”:“ Logout”“content”:“username”:“xxx”,“password”:“xxx”,“randomkey”:“xxx”,“requestType”:“Signin”,
13、“params”:UID,姓名,密码,手机号,头像,性别,地址 返回数据:添加好友(AddFriend) 请求数据: 返回数据2.2.2 概要设计概要设计1“result”:“数字”“requestType”:“ Signin”“content”:“username”:“xxx”,“password”:“xxx”,“randomkey”:“xxx”,“requestType”:“AddFriend”,“params”:“好友ID,好友ID,.”“result”:“数字”“requestType”:“AddFriend”,“content”:发表话题(AddTopic) 请求数据: 返回数据:添
14、加话题回复(AddTopicComment) 请求数据:2.2.2 概要设计概要设计1“username”:“xxx”,“password”:“xxx”,“randomkey”:“xxx”,“requestType”:“AddTopic”,“params”:“话题内容”,“话题发送时间”,“话题名字”,“话题包含的图片”“result”:“数字”“requestType”:“AddTopic”,“content”:“username”:“xxx”,“password”:“xxx”,“randomkey”:“xxx”,“requestType”:“AddTopicComment”,“params
15、”:“话题ID”,“评论内容”,“评论的图片”,“评论时间”,“评论ID” 返回数据:删除好友(DeleteFriend) 请求数据: 返回数据2.2.2 概要设计概要设计1“result”:“数字”“requestType”:“AddTopicComment”,“content”:“评论ID”“username”:“xxx”,“password”:“xxx”,“randomkey”:“xxx”,“requestType”:“DeleteFriend”,“params”:好友ID“result”:“数字”“requestType”:“DeleteFriend”,“content”:删除私信(D
16、eletePrivateLetter) 请求数据: 返回数据:获得所有好友(GetAllFriends) 请求数据:2.2.2 概要设计概要设计1“username”:“xxx”,“password”:“xxx”,“randomkey”:“xxx”,“requestType”:“DeletePrivateLetter”,“params”:私信ID“result”:“数字”“requestType”:“DeletePrivateLetter”,“content”:“username”:“xxx”,“password”:“xxx”,“randomkey”:“xxx”,“requestType”:“
17、 GetAllFriends”,“params”: 返回数据: 2.2.2 概要设计概要设计1“result”:“数字”“requestType”:“GetAllFriends”,“content”:“personAddress”:“xxx”,“personName”:“xxx”,“personSex”:“xxx”,“personMobile”:“xxx”“personPhoto”:“xxx”,“personAddress”:“xxx”,“personName”:“xxx”,“personSex”:“xxx”,“personMobile”:“xxx”“personPhoto”:“xxx”.获得
18、所有私信(GetAllPrivateLetter) 请求数据: 返回数据:2.2.2 概要设计概要设计1“username”:“xxx”,“password”:“xxx”,“randomkey”:“xxx”,“requestType”:“GetAllPrivateLetter”,“params”:“result”:“数字”“requestType”:“GetAllPrivateLetter”,“content”:“privateLetterIsSend”:“xxx”,“privateLetterID”:“xxx”,“privateLetterName”:“xxx”,“privateLetter
19、Content”:“xxx”,“UID”:“xxx”,“privateLetterPhoto”:“xxx”,“privateLetterUID”:“xxx”,“privateLetterIsSend”:“xxx”,“privateLetterID”:“xxx”,“privateLetterName”:“xxx”,“privateLetterContent”:“xxx”,“UID”:“xxx”,“privateLetterPhoto”:“xxx”,“privateLetterUID”:“xxx”.获得所有话题(GetAllTopic) 请求数据: 返回数据:2.2.2 概要设计概要设计1“use
20、rname”:“xxx”,“password”:“xxx”,“randomkey”:“xxx”,“requestType”:“ GetAllTopic”,“params”:“result”:“数字”“requestType”:“ GetAllTopic”,“content”:“topicID”:“xxx”,“topicUID”:“xxx”,“topicContent”:“xxx”,“topicTime”:“xxx”,“topicName”:“xxx”,“topicPhoto”:“xxx”,“topicID”:“xxx”,“topicUID”:“xxx”,“topicContent”:“xxx”
21、,“topicTime”:“xxx”,“topicName”:“xxx”,“topicPhoto”:“xxx”.获得所有删除的好友(GetAllDeleteFriends) 请求数据: 返回数据:获得所有新增加的好友(GetNewFriends) 请求数据:2.2.2 概要设计概要设计1“username”:“xxx”,“password”:“xxx”,“randomkey”:“xxx”,“requestType”:“ GetAllDeleteFriends”,“params”:“result”:“数字”“requestType”:“ GetAllDeleteFriends”,“content
22、”:删除好友的ID,删除好友的ID,.“username”:“xxx”,“password”:“xxx”,“randomkey”:“xxx”,“requestType”:“ GetNewFriends”,“params”: 返回数据:获得所有新私信(GetNewPrivateLetter) 请求数据:2.2.2 概要设计概要设计1“result”:“数字”“requestType”:“ GetNewFriends”,“content”:新友的ID,新友的ID,.“username”:“xxx”,“password”:“xxx”,“randomkey”:“xxx”,“requestType”:“
23、 GetNewPrivateLetter”,“params”: 返回数据: 2.2.2 概要设计概要设计1“result”:“数字”“requestType”:“ GetNewPrivateLetter”,“content”:“privateLetterIsSend”:“xxx”,“privateLetterID”:“xxx”,“privateLetterName”:“xxx”,“privateLetterContent”:“xxx”,“UID”:“xxx”,“privateLetterPhoto”:“xxx”,“privateLetterUID”:“xxx”,“privateLetterIs
24、Send”:“xxx”,“privateLetterID”:“xxx”,“privateLetterName”:“xxx”,“privateLetterContent”:“xxx”,“UID”:“xxx”,“privateLetterPhoto”:“xxx”,“privateLetterUID”:“xxx”.获得新话题(GetNewToipc) 请求数据: 返回数据:2.2.2 概要设计概要设计1“username”:“xxx”,“password”:“xxx”,“randomkey”:“xxx”,“requestType”:“ GetNewTopic”,“params”:“result”:“
25、数字”“requestType”:“ GetNewTopic”,“content”:“topicID”:“xxx”,“topicUID”:“xxx”,“topicContent”:“xxx”,“topicTime”:“xxx”,“topicName”:“xxx”,“topicPhoto”:“xxx”,“topicID”:“xxx”,“topicUID”:“xxx”,“topicContent”:“xxx”,“topicTime”:“xxx”,“topicName”:“xxx”,“topicPhoto”:“xxx”.获得某用户的资料(GetPersonInfo) 请求数据: 返回数据:2.2.2
26、 概要设计概要设计1“username”:“xxx”,“password”:“xxx”,“randomkey”:“xxx”,“requestType”:“ GetPersonInfo”,“params”:“result”:“数字”“requestType”:“ GetPersonInfo”,“content”:“personAddress”:“xxx”,“personName”:“xxx”,“personSex”:“xxx”,“personMobile”:“xxx”“personPhoto”:“xxx”获得某用户的状态(GetPersonStatus) 请求数据: 返回数据:2.2.2 概要设
27、计概要设计1“username”:“xxx”,“password”:“xxx”,“randomkey”:“xxx”,“requestType”:“ GetPersonStatus”,“params”:“result”:“数字”“requestType”:“ GetPersonStatus”,“content”: “UID”:“xxx”,.获得话题评论(GetTopicComment) 请求数据: 返回数据:2.2.2 概要设计概要设计1“username”:“xxx”,“password”:“xxx”,“randomkey”:“xxx”,“requestType”:“GetTopicComme
28、nt”,“params”:“result”:“数字”“requestType”:“GetTopicComment”,“content”: “Topic_Com_ID”:“xxx”, “Topic_Com_Content”:“xxx”, “Topic_Com_Photo”:“xxx”, “Topic_Com_Time”:“xxx”, “Topic_Com_From”:“xxx”, “Topic_Com_ID”:“xxx”, “Topic_Com_Content”:“xxx”, “Topic_Com_Photo”:“xxx”, “Topic_Com_Time”:“xxx”, “Topic_Com_From”:“xxx”.发送私信(SendPrivateLetter) 请求数据: 返回数据:2.2.2 概要设计概要设计1“username”:“xxx”,“password”:“xxx”,“randomkey”:“xxx”,“requestType”:“SendPrivateLetter”,“params”:用户id,内容,时间,私信名,图片“result”:“数字”“requestType”:“SendPrivateLetter”,“content”:私信id第2章 结束