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