基于Android系统服装类APP设计项目研究报告.docx

上传人:b****4 文档编号:4892948 上传时间:2022-12-11 格式:DOCX 页数:42 大小:1MB
下载 相关 举报
基于Android系统服装类APP设计项目研究报告.docx_第1页
第1页 / 共42页
基于Android系统服装类APP设计项目研究报告.docx_第2页
第2页 / 共42页
基于Android系统服装类APP设计项目研究报告.docx_第3页
第3页 / 共42页
基于Android系统服装类APP设计项目研究报告.docx_第4页
第4页 / 共42页
基于Android系统服装类APP设计项目研究报告.docx_第5页
第5页 / 共42页
点击查看更多>>
下载资源
资源描述

基于Android系统服装类APP设计项目研究报告.docx

《基于Android系统服装类APP设计项目研究报告.docx》由会员分享,可在线阅读,更多相关《基于Android系统服装类APP设计项目研究报告.docx(42页珍藏版)》请在冰豆网上搜索。

基于Android系统服装类APP设计项目研究报告.docx

基于Android系统服装类APP设计项目研究报告

基于Android系统服装类APP设计项目研究报告

 

摘要

本文主要介绍了“Z产品”App的设计与实现,该App基于Android系统研发,采用了Volley、xUtils、ImageLoader等框架技术,后台使用网络接口进行数据访问操作。

本App采用面向对象的思想进行设计与开发,其主要特点是:

可以作为女性同胞们追求时尚的参考,引领她们找到适合自己并且时尚的穿搭,做自己的女神。

同时也会有时尚男性穿搭的介绍,也可以让男性同胞找到自己穿搭的参考。

该App主要包含以下四个模块:

“首页”功能模块、“品牌”功能模块、“主题”功能模块、“我的”功能模块。

其中“首页”功能模块包含首次下载App的引导欢迎界面,首页可以根据所选风格展示相应的穿搭信息,广告轮播栏实时更新最新最热的穿搭攻略;“品牌”功能模块展示最新、最热的品牌信息及相应品牌昨日上升最快、本周排行、以及女装排行情况;“发现”功能模块用于展示所有的物品的分类及商品的详细分类,可以对用户喜好信息进行精确检索,一定不会错过你的最爱;“我的”功能模块包含:

我的收藏、我的位置、意见反馈、精品推荐、联系客服、关于我们等功能,我的收藏是对用户收藏穿搭的快速访问入口,我的位置让用户随时定位自己,精品推荐提供当下火热app下载入口,这里不只有穿搭符合你的口味,联系客服带给用户不一样的只能客服体验。

另外,本文对于系统的测试过程和测试结果也进行了说明,其中对登录部分撰写了相应的测试用例文档及并对系统中仍存在的问题进行了统计以及对应问题提出的解决方案。

关键词:

时尚穿搭;Android;Volley;xUtils;ImageLoader

第1章概述

1.1系统开发的背景和意义

伴随着4G时代的到来,智能手机的大幅度普及,移动终端的日趋完善。

在App叱咤风云的年代里,App开发公司风起云涌而来!

随着移动互联网在全球掀起新的发展高潮,昭示我国已进入了App开发移动互联网高速发展阶段。

随着智能手机和各种数码终端的普及,移动互联网已经融入到了我们的生活中,品类繁多的App正在潜移默化地改变着我们的生活方式。

你还在为每天穿什么衣服而烦恼吗?

你还在为逛淘宝时为买各种衣服和生活用品而挑花了眼,也不知道选择什么吗?

你还在为买回来却因为不会搭配而慢慢堆积如山的衣服而后悔吗?

你还在为最初因为一眼相中而不顾一切买下来,而现在却一直没找到机会穿的衣服而苦恼吗?

你还在为想要自己喜欢的韩剧的时尚华丽、美剧GossipGirl的高贵性感、日剧的里甜美小清新、显高显瘦的衣服,但却不知道怎样搭配而苦恼吗?

因此,Z产品应需而生。

Z产品App可以为你解决这些问题。

Z产品App是一款推荐一些时尚的穿衣搭配、推荐一些时尚品牌和各类生活用品的软件。

明星、欧美、日韩、清新、休闲、甜美等各种风格的时尚搭配应有尽有。

最受欢迎、销量最快、排行最高等各种时尚品牌尽收眼底。

美妆、数码、居家、零食、创意等各类生活用品分类大量提供。

完美的穿衣搭配师专治各种穿衣不明白、最时尚的品牌推荐提升对品牌的认识、最全的生活用品推荐告别盲目购物。

学好穿搭和品牌认识,做自己的女神!

Z产品App的目的志在帮助你解决穿衣搭配困惑的应用。

不管高矮胖瘦、日系韩范、婚礼约会、甜美休闲各种风格,遇到任何穿搭问题,Z产品都可以为你提供专业的个性化的帮助。

还可以为你提供应有尽有的生活用品,帮你推荐最合适最划算的用品。

还提供一个可以收藏你喜欢的穿搭的地方,让你随时随地都可以找到,方便又快捷。

随着手机移动客户端的发展,再对人常生活中的需求,不再喜欢去使用电脑来解决。

看新闻、看视频、买东西、查资料,都不在只一味的依赖携带不方便的电脑,而是使用手机移动端的App,可以随时随地的完成这些事情,当然作为引领人们追求时尚的Z产品也不能拘泥于电脑版的网站端,因此手机移动客户端Z产品App就产生了。

它存在的意义:

·便捷性,人们可以随时随地的使用Z产品App,查看最新最热门的穿搭方式。

·目的性,在Z产品App通过四个大方向的划分,首页、品牌、发现、我的,使你在使用App可以有目的性以最快的速度查看到你想要的穿搭。

·引导性,在Z产品App中的穿搭都是当前时尚的引领者,各种风格、各种品牌、各类物品以及这些穿搭的详细介绍都可以引导你找到最适合自己的穿搭和品牌。

该App也会给你有一些比较实用的、热门的App应用的下载方式。

·Z产品App还提供了一个可以与你对话聊天的机器人客服,让你在有疑惑、不开心的时候都可以和它交流。

也提供实时定位的功能,能让你随时随地都知道自己的身在何处。

也可以向该App提供你使用后的一些意见,使它有更好的发展。

1.2Z产品App的设计与实现简介

App主要分为四个模块,首页、品牌、发现和我的,通过这几个模块就可以很好地实现你对时尚穿搭的了解,也可以找到最适合自己的收藏起来。

每个部分又包括各自的细节功能实现组成。

界面精美,逻辑功能简单易用,整体为用户提供一个优秀的产品体验。

该应用各模块功能设计介绍如下:

1.“首页”功能模块:

包含首次下载App的引导欢迎界面,首页可以根据所选风格展示相应的穿搭信息;

2.“品牌”功能模块:

展示最新、最热的品牌信息及相应品牌昨日上升最快、本周排行、以及女装排行情况;

3.“主题”功能模块:

展示所有的物品的分类及商品的详细分类;

4.“我的”功能模块:

包含我的收藏、我的位置、意见反馈、精品推荐、联系客服、关于我们等功能。

在应用实现上,界面部分的程序编写也是基于MVC框架:

1)视图层(View):

一般采用XML文件进行界面的描述,使用的时候可以非常方便的引入。

2)控制层(Controller):

Android的控制层的重任通常落在了众多的Acitvity的肩上,这里不进行耗时操作,否则程序就很容易被回收掉。

3)模型层(Model):

对数据库的操作、对网络等的操作都应该在Model里面处理,当然对业务计算等操作也是必须放在的该层的。

App中运用到的主要控件是RecyclerView、ListView、ViewPager、GridView等,通过性能的对比使用了Volley框架实现了对数据的下载,使用xUtils进行数据的存储。

该App中的大量图片使用universal-image-loader进行加载实现缓存,防止内存溢出。

第2章软件开发工具及相关技术

Z产品App采用Java编程语言,在Windows7操作系统下开发,采用AndroidEclipse开发环境。

下面概括地介绍一下开发工具。

2.1Eclipse简介

Eclipse[1]就像软件开发者的『打铁铺』,它一开始备有火炉、铁钻与铁锤。

就像铁匠会用现有的工具打造新的工具,也能用Eclipse打造新工具来开发软件-这些新工具可扩充Eclipse的功能。

(Eclipse其中一个卖点就是它的扩充性)

Eclipse这样功能完整且成熟的开发环境,是由蓝色巨人IBM所释出。

IBM花了4千万美金来开发这个IDE(IntegratedDevelopmentEnvironment)。

第一版1.0在2001年11月释出,随后逐渐受到欢迎。

Eclipse已经成为开放原始码计划(OpenSourceProject),大部分的开发扔然掌握在IBM手中,但是有一部份由eclipse.org的软件联盟主导。

Eclipse项目由ProjectManagementCommittee(PMC)所管理,它综观项目全局,Eclipse项目分成3个子项目:

1.平台-Platform

2.开发工具箱-JavaDevelopmentToolkit(JDT)

3.外挂开发环境-Plug-inDevelopmentEnvironment(PDE)

这些子项目又细分成更多子项目。

例如Platform子项目包含数各组件,如Compare、Help与Search。

JDT子项目包括三各组件:

UserInterface(UI)、核心(Core)及除错(Debug)。

PDE子项目包含两各组件:

UI与Core。

2.2Android简介

Android[2]这一词最先出现在法国作家利尔亚当在1886年发表的科幻小说《未来夏娃》中,作者将外表像人类的机器起名为Android,这也就是Android小人名字的由来。

Android是一个软件开发平台,它诞生于2003年年底,由Danger公司(开发流行的Sidekick手机的公司)的前雇员开发。

2005年,运营Android的Danger公司被Google公司收购。

2007年,谷歌公司向外界展示了Android操作系统,并建立了一个全球联盟组织。

Android是由Google公司推出的基于Linux平台的开源的移动设备操作系统,它由操作系统、中间件、应用框架、应用程序等构成。

Android应用程序是采用Java语言开发,传统的Java语言运行是通过JVM将源文件编译成Java字节码运行,但是Android虽然是Java语言开发,但是字节码并不是最终的运行格式,并且由于版本问题和移动设备电量等问题,Google自行开发了一个虚拟机运行Android程序,这个虚拟机称为Dalvik。

当完成源代码的开发后,首先会将Java源码转换为字节码,然后通过DX工具,将字节码文件转换了.dex的文件,最后该dex格式的文件在Dalvik上运行。

最后在谈谈Android所采用的语言,其应用开发采用java语言,我们所说的java一般包含三个部分:

(1)java语言:

即其语法,其写代码的程式;

(2)java虚拟机:

为了实现一次编译到处可以运行的原则,java在编译连接以后并没有产生目标机器语言,而是采用了Javabytecode这种Java共用指令,这时就需要一个虚拟机来执行改指令;(3)库:

跟我们常用的C语言一样提供一些常用的库。

Android是一个真正意义上的开放性移动设备综合平台,它自发布以来就一直受到业界的极大关注。

开放手机联盟(OpenHandsetAlliance,OHA)中诸多重量级企业和厂商的合作,不但打破了移动领域存在了很久的垄断问题,其开放的氛围也造就了更多样化的硬件设备。

它为程序员和用户提供了前所未有的丰富资源和便捷体验,Android平台对程序员完全免费开放,大大促进了Andrid平台上应用程序的发展。

从目前整个互联网的发展来看,越来越丰富的移动应用是大势所趋,快捷的生活方式呼唤同样快捷的应用和工具,Android无疑是承载这些内容的极佳载体,Android的发展速度有目共睹,支持Android的硬件设备数量也在迅猛增长着,市场之门才刚刚打开。

这一切足以证明Android是极具发展前景的平台。

2.3基于Android平台Z产品App所用关键技术

2.3.1SharedPreferences存储

SharedPreferences[3]是Android中最容易理解的数据存储技术,实际上SharedPreferences处理的就是一个key-value(键值对)SharedPreferences常用来存储一些轻量级的数据。

主要保存一些全局的常量或状态,比如说登录状态,登录时token值,设置的手势密码等等。

获取SharedPreferences的两种方式:

(1)调用Context对象的getSharedPreferences()方法;

(2)调用Activity对象的getPreferences()方法。

两种方式的区别:

(1)调用Context对象的getSharedPreferences()方法获得的SharedPreferences对象可以被同一应用程序下的其他组件共享;

(2)调用Activity对象的getPreferences()方法获得的SharedPreferences对象只能在该Activity中使用。

SharedPreferences的四种操作模式:

Context.MODE_PRIVATE:

为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容;

Context.MODE_AppEND:

模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件;

Context.MODE_WORLD_READAB和Context.MODE_WORLD_WRITEABLE用来控制其他应用是否有权限读写该文件.

MODE_WORLD_READABLE:

表示当前文件可以被其他应用读取;

MODE_WORLD_WRITEABLE:

表示当前文件可以被其他应用写入。

2.3.2Volley网络通信框架

在Android开发过程中,网络请求[4]是很重要的一部分。

一般情况下,应用程序都是使用HTTP来发送和接收网络数据。

而这种通信方式在Android系统中一般分为两种方式:

HttpURLConnection和HttpClient。

但是这两种方式在使用上比较复杂,所以,随后就出现了一些优秀的网络通信框架,比如Volley、XUtils、HttpOK等。

Volley是在2013年的GoogleI/O大会上推出的。

它是集AsyncHttpClient和Universal-Image-Loader的优点于一身的网络框架。

能够使网络通信更快,更简单,更健壮。

但他的设计目标是适合进行数据量不大,但是通信比较频繁的网络请求,而对于大量的数据请求,Volley的性能并不好。

Volley主要用于获取JSON对象和图片加载,在这个应用中图片并不是很多,所以这里我就获取JSON对象进行详细说明。

Volley的使用:

在基类Activity声明一个RequestQueue请求队列。

在onCreate()方法中进行初始化。

在使用到网络请求的部分声明JsonObjectRequest,并添加到请求队列。

Volley提供了JsonObjectRequest、JsonArrayRequest、StringRequest等Request形式。

JsonObjectRequest:

返回JSON对象。

JsonArrayRequest:

返回JsonArray。

StringRequest:

返回String,这样可以自己处理数据,更加灵活。

另外可以继承Request自定义Request。

在这个项目中使用的是JsonObjectRequest,后台返回JSON对象,通过gson解析获取数据,再通过EventBus传回到请求的地方,再进行排版显示。

2.3.3JSON数据传输格式

JSON(JavaScriptObjectNotation)[5]是一种轻量级的数据交换格式。

它基于JavaScript(StandardECMA-2623rdEdition-December1999)的一个子集。

JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C,C++,C#,Java,JavaScript,Perl,Python等)。

这些特性使JSON成为理想的数据交换语言。

易于人阅读和编写,另外也易于机器解析和生成。

2.3.4xUtils里边的DbUtils数据库

xUtils包含了很多实用的android工具。

xUtils源于Afinal框架,对Afinal进行了大量重构重构,尤其是http模块全面兼容各种http请求。

xUtils具有Afinal的一些特性如:

无需考虑bitmap在android中加载的时候oom的问题和快速滑动的时候图片加载位置错位等问题;简洁,约定大于配置...

目前xUtils主要有四大模块:

分别是DbUtils模块、ViewUtils模块、HttpUtils模块、BitmapUtils模块。

而在这个项目中的持久化数据的存储我就是选择了xUtils里边的DbUtils数据存储,它是android中的orm框架,一行代码就可以进行增删改查;支持绑定外键,保存实体时外键自动保存;自动加载外键关联实体,支持延时加载。

2.3.5Android框架[6]

Android其本质就是在标准的Linux系统上增加了Java虚拟机Dalvik,并在Dalvik虚拟机[4]上搭建了一个JAVA的Applicationframework,所有的应用程序都是基于JAVA的Applicationframework之上。

Android主要应用于ARM平台,但不仅限于ARM,通过编译控制,在X86、MAC等体系结构的机器上同样可以运行。

图2-1Android框架图

由上图可以看出,android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和linux核心层。

1.应用程序层

所有的应用程序都是使用JAVA语言编写的,每一个应用程序由一个或者多个活动组成,活动必须以Activity类为超类,活动类似于操作系统上的进程,但是活动比操作系统的进程要更为灵活,与进程类似的是,活动在多种状态之间进行切换。

利用JAVA的跨平台性质,基于Android框架开发的应用程序可以不用编译运行于任何一台安装有android系统的平台,这点正是Android的精髓所在。

2.应用程序框架层

应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。

帮助程序员快速的开发程序,并且该应用程序重用机制也使用户可以方便的替换程序组件。

3.系统运行库层

Android包含一些C/C++库,这些库能被Android系统中不同的组件使用。

它们通过Android应用程序框架为开发者提供服务。

4.linux核心层

Android的核心系统服务依赖于Linux2.6内核,如安全性,内存管理,进

程管理,网络协议栈和驱动模型。

第3章系统可行性研究及需求分析

在Z产品App分析阶段,主要对系统进行了可行性研究[5]和需求分析,从而明确了系统所需完成的开发任务,并对系统的开发流程做了详细的说明。

3.1系统可行性研究

可行性研究[7]的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决。

研究在当前的具体条件下,开发新系统是否具备必要的资源和其他条件。

一般情况下从以下几个方面研究系统的可行性。

1.经济可行性

近年来计算机技术的快速发展,特别是计算机网络的发展,越来越深刻地改变了人们生活的方方面面。

使得人们能以更低廉的价格,开发出更方便、更实用的网络工具。

而Android语言由于其开源性,在近几年迅速的发展起来。

与之同时,也有越来越多的App诞生服务于人们的生活。

现如今的时代,是一个互联网的时代。

不管什么事情,都在朝着智能代替人类手动的方向进步。

而网购在这些年也是发展迅猛,从一开始的网银支付到现在的第三方支付更是给用户带来了极大的便利。

而Z产品App的开发就是为了方便用户更好的管理自己的资金,可以使用户不用出门就能将自己的资金可靠的存放起来。

并且还会有比银行还高的利息。

这就是互联网的金融时代。

所以Z产品App的开发在经济上是可行的。

2.技术可行性

为了提高后台的响应速度以及数据的传输速度,我采用Volley网络通信框架和后台进行数据的交互,通过对JSON数据的解析进行数据处理。

使Universal-Image-Load图片下载框架,有效的解决了图片错乱,加强了缓存机制。

xUtils数据库对一些数据存入本地,方便操作,减少消耗。

多处使用自定义View使界面看起来更加美观协调。

在一些地方使用动画,是画面感更强。

3.操作可行性

Z产品简单大方的界面使其不但更加美观,而且操作起来也及其简单。

用户只需要按照应用中相应文案说明提示,完成安卓只能手机的平常操作即可实现整个应用的操作。

在开发上边,开发领头人员开发技术精湛,经验丰富,在其带领下不存在技术不可行问题。

页面看起来美观大方,而且操作起来也非常简单。

不管是什么年龄段的人都能很轻松的学会。

它是以图片为主导加配上文字,使用者可以很轻松的使用。

该App在功能上分类更是一目了然。

使用户一看就可以找到自己想要的东西。

在App中更添加了收藏功能,是用户可以轻松的把自己喜欢的搭配收藏起来,也可以在我的模块中我的收藏中很轻松的查找。

也提供了个人定位功能可以让随时随地可以知道自己的位置。

4.开发环境的可行性

配置稍好的PC机,Windows7操作系统,eclipse开发环境,,一部Android测试机,从资源上说是容易实现的。

综上所述,此系统在技术和经济等方面都是可行,并且投入少、见效快。

所以Z产品App的开发是完全可行的。

3.2系统需求分析

需求分析[8]是软件计划时期的最后一个阶段,也是最重要的一个阶段。

它是所有开发设计的前提,要是在没有搞清用户需求之前,就动手设计编程,其后果是无论程序做的如何精妙都是徒劳的。

需求分析的基本任务是“系统必须做什么”。

虽然在可行性分析阶段已经大概了解了用户的需求,但可行性研究的基本目的是用较小的成本在较短的时间内确定系统必须完成哪些工作,也就是对目标系统提出完整,准确,清晰,具体的要求。

需求分析的结果是系统开发的基础,关系到开发的成败和系统的质量,因此,必须对系统需求分析进行严格的审查分析。

系统需求分析的任务是找出系统的所有需求并加以描述,同时建立模型,以定义系统中的关键领域类。

系统分析阶段建模的目的是捕捉系统的功能需求,分析、提取所开发系统的“客观世界”领域的类以及描述它们的合作概貌。

在软件工程中,需求分析指的是在建立一个新的或改变一个现存的电脑系统时描写新系统的目的、范围、定义和功能时所要做的所有的工作。

需求分析是软件工程中的一个关键过程。

在这个过程中,系统分析员和软件工程师确定顾客的需要。

只有在确定了这些需要后,他们才能够分析和寻求新系统的解决方法。

需求分析阶段的任务是确定软件系统功能。

在软件工程的历史中,很长时间里人们一直认为需求分析是整个软件工程中最简单的一个步骤。

但在近十年内,越来越多的人认识到,需求分析是整个过程中最关键的一个部分。

假如在需求分析时分析者们未能正确地认识到顾客的需要的话,那么最后的软件实际上不可能达到顾客的需要,或者软件项目无法在规定的时间里完工。

3.2.1功能需求

具体功能如下:

(1)用户均可以注册,注册之后就可以登录App;

(2)用户登录App之后可以收藏自己喜欢的穿搭;

(3)用户登录App之后可以查看自己收藏的穿搭;

(4)用户可以跳转到一些单品的购买链接;

(5)用户可以实时定位。

(6)用户可以与客服联系、反馈意见。

(7)用户可以退出登录

3.2.2性能需求

该App主要以展示图片为主,所以对缓存的要求就比较高,为了防止内存溢出。

所以我使用universal-image-loader框架来下载图片,利用它的缓存机制,来尽可能地防止这个问题。

其次,就是页面展示的功能,如果想要有好的页面展示效果,就需要多层控件的相互嵌套,但嵌套的同时会发生冲突,我是通过重写一些控件来解决这个问题。

3.2.3应用的可扩展型需求

该应用会不断的更新迭代,不断的修复bug和增加新功能来适应实时更新的需求。

这就使得该应用具有良好的可扩展性。

这就使得该应用有个良好的基础框架,使得后期的功能完善更加方便。

3.3系统的开发环境

1.系统开发环境

·开发平台:

Eclipse

·开发语言:

Java

·数据库:

SQLite

2.系统运行环境:

·Android设备:

4.3版本及以上

第4章系统总体设计

概要设计[9]是一个设计师根据用户交互过程和用户需求来形成交互框架和视觉框架的过程,其结果往往以反映交互控件布置、界面元素分组以及界面整体板式的页面框架图的形式来呈现。

这是一个

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1