Android毕业设计报告.docx
- 文档编号:6593928
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:54
- 大小:1.98MB
Android毕业设计报告.docx
《Android毕业设计报告.docx》由会员分享,可在线阅读,更多相关《Android毕业设计报告.docx(54页珍藏版)》请在冰豆网上搜索。
Android毕业设计报告
摘要
此刻,人们愈来愈重视互联网。
花田小憩能够为花卉爱好者们提供一个交流和交易的平台,在那个地址花卉爱好者们能够的到最新的花卉信息和购买到喜爱的花卉品种。
本文综合运用Android技术、AndroidStudio开发平台、JSON等技术和工具对花田小憩进行了分析、设计和实现。
给出了系统的功能分析、环境和质量要求;成立了系统软、硬件体系结构模型;完成了功能模块设计和数据接口的对接;同时确信了各个功能模块的测试环境,并制定了测试方案对各个模块进行有效的测试和分析;最终实现了Android平台端的应用。
项目采纳MVP架构,MVP模式是MVC模式的一个演化版本,MVP全称Model-View-Presenter。
MVP模式会解除View与Model的耦合,有效的降低View的复杂性。
同时又带来了良好的可扩展性、可测试性,保证系统的整洁性和灵活性。
MVP模式能够分离显示层与逻辑层,它们之间通过接口进行通信,降低耦合。
理想化的MVP模式能够实现同一份逻辑代码搭配不同的显示界面,因为它们之间并非依托与具体,而是依托于抽象。
这使得Presenter能够运用于任何实现了View逻辑接口的UI,使之具有更普遍的适用性,保证了灵活度。
总之,本系统能够通过对智能家居系统的操纵和受控方状态的反馈,从而使操作者能够及时把握受控方信息,使其达到交互式智能化。
更好地效劳于咱们的生活,令人们的日常生活加倍方便、智能、快捷。
关键词:
花卉;Android;JSON;MVP;在线购物
Abstract
Nowadays,peoplearepayingmoreandmoreattentiontotheinternet.Flowernapprovidesaplatformfortheexchangeandexchangeofflowerlovers,wheretheflowerloverscangetthelatestinformationaboutflowersandbuytheflowerstheylike.
Inthispaper,Androidtechnology,AndroidStudiodevelopmentplatform,JSONandothertechniquesandtoolsareusedtoanalyze,designandimplementthenap.Theanalysis,giventhefunctionofthesystemenvironmentandqualityrequirements;establishasystemstructuremodelofsoftwareandhardwaresystem;thecompletionofthedockingmoduledesignanddatainterface;whiledeterminingthetestenvironmentofeachmodule,anddevelopedatestschemefortestingandanalysisoftheeffectiveofeachmodule;finallyrealizestheapplicationofAndroidplatformtheendofthe.
TheprojectusestheMVParchitecture,andtheMVPmodelisanevolvedversionoftheMVCschema,MVP,fullnameModel-View-Presenter.TheMVPpatternremovesthecouplingofViewandModel,effectivelyreducingthecomplexityofView.Atthesametime,italsobringsgoodscalabilityandtestability,andensurestheneatnessandflexibilityofthesystem.TheMVPmodelcanseparatethedisplaylayerfromthelogicallayer,throughwhichtheycancommunicateandreducethecoupling.TheidealizedMVPmodelcanimplementthesamelogicalcodewithdifferentdisplayinterfaces,becausetheydonotdependonanddependonabstractions,butdependonabstractions.ThisallowsthePresentertobeappliedtoanyUIthatimplementstheViewlogicalinterface,makingitmorewidelyapplicableandprovidingflexibility.
Inaword,thesystemcancontroltheintelligenthomesystemandthefeedbackofthecontrolledstate,sothattheoperatorcangrasptheinformationoftheaccuserintimeandmakeitinteractiveandintelligent.Betterserveourlife,makepeople'sdailylifemoreconvenient,intelligentandquick.
keywords:
flower;Android;JSON;MVP;shoppingonline
1绪论
1.1研发背景
近些年,随着Internet和运算机网络通信技术的飞速进展、人们生活水平的不断提高,和人们精神需求的不断增加,移动应用已几乎成为每一个人都会利用的东西,不管男女老幼,就比如我外公,前几年就在学习怎么利用阅读器XX养生知识,尽管我外公之前没有接触过这些,可是在我的耐心讲解下,而且移动应用的操作也比较好上手,我外公仍是轻松地学会了。
大伙儿对移动应用充满了好奇心和求知欲,而且随着移动电话愈来愈成为人们生活中不可缺失的一部份,移动应用便随着那个趋势大大进展了起来。
然后互联网+模式顺势而生,它能够做到让人们不出门,乃至是躺在床上,光是动动手指就能够够获取各类最新信息或购买远在天边的商品,给人们的生活带来了极大的便利。
再说到我那个软件,花田小憩是一款花艺爱好者的App,它不单单是有专业的花艺教学内容,它仍是一个活跃的百万花艺爱好者社区。
在那个地址,你能够看到各式各样的话题讨论,不仅限于花艺,还延伸至家居、植物、杂物等生活美学领域。
「花田小憩」还提供了众多高清花艺壁纸,供你下载换桌面,能够适配各类屏幕尺寸。
电话的美观再也不愁了。
「花田小憩」是一款花艺爱好者不容错过的生活应用。
在那个地址,收成的不单单是花艺知识,还有同道中人和美的生活方式。
让你的节拍,慢下来,美下去。
作为一个植物生活美学平台,「花田小憩」还提供跟花艺与生活美学相关的物品销售,如鲜花、器皿、干花、书籍等。
你能够在那个地址寻觅生活的美。
「花田小憩」开办初衷是想为所有喜爱植物和美学的人们,通过花草与时刻的叠加,营造一个小而美的精致生活。
希望能让用户在繁琐的生活当中,享受一种静雅恬淡的生活之美,制造一份专属的美学生活态度。
1.2要紧研究内容
本文采纳面向对象软件开发方式,遵循软件工程的概念、原理和方式,利用AndroidStudio开发平台操纵系统的分析、设计和实现。
所开发的操纵系统要紧具有以下功能:
(1)阅读帖子:
能够通过App来查看其他用户发布的与花卉有关的帖子。
(2)购买花卉:
能够通过App来进行在线的花卉购买。
(3)发布帖子:
能够发布帖子,而且上传图片和选择分类等。
1.3论文组织结构
本文共分七章,各章的要紧内容如下:
第一章“绪论”部份要紧综述了系统的开发背景、论文研究的要紧内容和组织结构。
第二章“课题研究相关技术综述”部份对论文研究中所用到的开发工具、平台及技术、设备环境做了简单的介绍。
第三章“系统需求分析”部份要紧描述了系统的需求分析进程,包括系统的需求调查、功能分析环境和质量要求。
第四章“系统整体设计”部份对系统的整体设计进程做了论述,要紧包括系统的设计环境,系统体系结构和数据库的逻辑设计。
第五章“系统详细设计”部份表达了系统的详细设计进程,包括项目设计、系统的功能模块设计和数据接口的设计。
第六章“系统实现”部份对系统实现和测试做了概述,要紧包括系统各功能模块的实现、核心技术编码、系统的测试进程等。
第七章“总结与展望”部份讲述了对系统开发的总结和对下一步工作的预测。
2课题研究相关技术综述
2.1Android系统
Android是一种以linux为基础的开放源代码操作系统,要紧利用于便携设备。
目前尚未有统一中文名称,中国大陆地域较多人利用“安卓”或“安致”。
Android操作系统最初由AndyRubin开发,最初要紧支持电话。
2005年由谷歌收购注资,并组建开放电话联盟开发改良,慢慢扩展到平板电脑及其他领域上。
Android的要紧竞争对手是苹果公司的ios和RIM的BlackberryOS。
2020年第一季度,Android在全世界的市场份额第一次超过塞班系统,跃居全世界第一。
2021年2月数据,Android占据全世界智能电话操作系统市场52.5%的份额,中国市场占有率为68.4%。
Android的系统架构和其它操作系统一样,采纳了分层的架构。
android分为四个层,从高层到低层别离是应用程序层、应用程序框架层、系统运行库层和linux核心层。
Android是以Linux为核心的电话操作平台,作为一款开放式的操作系统,随着Android的快速进展,现在已许诺开发者利用多种编程语言来开发Android应用程序,而再也不是以前只能利用Java开发Android应用程序的单一局面,因此受到众多开发者的欢迎,成为真正意义上的开放式操作系统。
在Android中,开发者能够利用Java作为编程语言来开发应用程序,也能够通过NDK利用C/C++作为编程语言来开发应用程序,也可利用SL4A来利用其他各类脚本语言进行编程(如:
python、lua、tcl、php等等),还有其他诸如:
QT(qtforandroid)、Mono(monoforandroid)等一些闻名编程框架也开始支持Android编程,乃至通过MonoDroid,开发者还能够利用C#作为编程语言来开发应用程序。
另外,谷歌还在2020年专门发布了针对初学者的AndroidSimple语言,该语言类似Basic语言。
而在网页编程语言方面,JavaScript,HTML5等等都已经支持Android开发。
2.1.1Android大体架构
Android系统架构自上而下可分为应用程序层、应用程序框架层、系统运行库层、系统内核层四个层次,如图2.1所示。
图2.1Android系统架构图
(1)应用程序(Applications)
该层提供一些核心应用程序包,例如电子邮件、短信、日历、地图、阅读器和联系人治理等。
同时,开发者能够利用Java语言设计和编写属于自己的应用程序,而这些程序与那些核心应用程序彼此平等、友好共处。
(2)应用程序框架(ApplicationFramework)
该层是Android应用开发的基础,开发人员大部份情形是在和她打交道。
应用程序框架层包括活动治理器、窗口治理器、内容提供者、视图系统、包治理器、治理器、资源治理器、位置治理器、通知治理器和XMPP效劳十个部份。
在Android平台上,开发人员能够完全访问核心应用程序所利用的API框架。
而且,任何一个应用程序都能够发布自身的功能模块,而其他应用程序那么能够利用这些已发布的功能模块。
基于如此的重用机制,用户就能够够方便地替换平台本身的各类应用程序组件。
(3)系统运行库(Libraries)
系统库包括九个子系统,别离是图层治理、媒体库、SQLite、OpenGLEState、FreeType、WebKit、SGL、SSL和libc。
Android运行时包括核心库和Dalvik虚拟机,前者既兼容了大多数Java语言所需要挪用的功能函数,又包括了Android的核心库,比如、、等等。
后者是一种基于寄放器的java虚拟机,Dalvik虚拟机主若是完成对生命周期的治理、堆栈的治理、线程的治理、平安和异样的治理和垃圾回收等重要功能。
(4)系统内核(LinuxKernel)
Android核心系统效劳依托于内核,如平安性、内存治理、进程治理、网络协议栈和驱动模型。
Linux内核也是作为硬件与软件栈的抽象层。
驱动:
显示驱动、摄像头驱动、键盘驱动、WiFi驱动、Audio驱动、flash内存驱动、Binder(IPC)驱动、电源治理等。
2.1.2Android开发环境搭建
Android平台为开发者提供了免费而且开放的开发环境,而且利用其提供的帮忙文档和工具,开发者能够快速地编写出需要的APP。
学习Android开发的第一步确实是搭建Android的开发环境,开发环境的搭建步骤如下:
(1)第一步:
安装JDK
下载Oracle公司的JDK能够XX“JDK”进入Oracle公司的JDK下载页面,选择自己电脑系统的对应版本即可。
JDK的全称是JavaSEDevelopmentKit,也确实是Java开发工具箱。
SE表示标准版。
JDK是Java的核心,包括了Java的运行环境(JavaRuntimeEnvironment),一堆Java工具和给开发者开发应用程序时挪用的Java类库。
JDK包括的大体工具要紧有:
javac:
Java编译器,将源代码转成字节码。
jar:
打包工具,将相关的类文件打包成一个文件。
javadoc:
文档生成器,从源码注释中提取文档。
jdb:
debugger,调试查错工具。
java:
运行编译后的java程序。
(2)配置JDK的变量环境
为了配置JDK的系统变量环境,咱们需要设置三个系统变量,别离是JAVA_HOME,Path和CLASSPATH。
下面是这三个变量的设置防范。
JAVA_HOME
先设置那个系统变量名称,变量值为JDK在你电脑上的安装途径:
。
创建好后那么能够利用%JAVA_HOME%作为JDK安装目录的统一引用途径。
PATH
PATH属性已存在,可直接编辑,在原先变量后追加:
;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin。
CLASSPATH
设置系统变量名为:
CLASSPATH变量值为:
.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar。
注意变量值字符串前面有一个"."表示当前目录,设置CLASSPATH的目的,在于告知Java执行环境,在哪些目录下能够找到您所要执行的Java程序所需要的类或包。
(3)下载AndroidStudio
AndroidStudio是一个Android集成开发工具,基于IntelliJIDEA.类似EclipseADT,AndroidStudio提供了集成的Android开发工具用于开发和调试。
2021年5月16日,在I/O大会上,谷歌推出新的Android开发环境——AndroidStudio,并对开发者操纵台进行了改良,增加了五个新的功能。
AndroidStudio是谷歌推出了新的Android开发环境,开发者能够在编写程序的同时看到自己的应用在不同尺寸屏幕中的样子。
2021年5月29日,在谷歌I/O开发者大会上,谷歌发布AndroidStudio版,支持C++编辑和查错功能。
版开发码代码变得加倍容易,速度提升,而且支持C++编辑和查错功能。
(4)下载AndroidSDK
配置了JDK变量环境,安装好了Eclipse,那个时候若是只是开发一般的JAVA应用程序,那么Java的开发环境已经预备好了。
咱们要通过Eclipse来开发Android应用程序,那么咱们需要下载AndroidSDK(SoftwareDevelopmentKit)和在Eclipse安装ADT插件,那个插件能让Eclipse和AndroidSDK关联起来。
AndroidSDK提供了开发Android应用程序所需的API库和构建、测试和调试Android应用程序所需的开发工具。
下载后双击安装,指定AndroidSDK的安装目录,为了方便利用AndroidSDK包括的开发工具,咱们在系统环境变量中的Path设置AndroidSDK的安装目录下的tools目录。
在AndroidSDK的安装目录下,双击“”,打开AndroidSDKManager,AndroidSDKManage负责下载或更新不同版本的SDK包,咱们看到默许安装的AndroidSDKManager只安装了一个版本的sdktools。
2.2Sqlite数据库
SQLite是D.RichardHipp用C语言编写的开源嵌入式数据库引擎。
它支持大多数的SQL92标准,而且能够在所有要紧的操作系统上运行。
SQLite由以下几个部份组成:
SQL编译器、内核、后端和附件。
SQLite通过利用虚拟机和虚拟数据库引擎(VDBE),是调试、修改和扩展SQLite的内核变得加倍方便。
所有SQL语句都被编译成易读的、能够在SQLite虚拟机中执行的程序集。
SQLite的整体结构图如下:
值得一提的是,袖珍型的SQLite竟然能够支持高达2TB大小的数据库,每一个数据库都是以单个文件的形式存在,这些数据都是以B-Tree的数据结构形式存储在磁盘上。
在事务处置方面,SQLite通过数据库级上的独占性和共享锁来实现独立事务处置。
这意味着多个进程能够在同一时刻从同一数据库读取数据,但只有一个能够写入数据。
在某个进程或线程想数据库执行写操作之前,必需取得独占锁。
在取得独占锁以后,其他的读或写操作将可不能再发生。
SQLite采纳动态数据类型,当某个值插入到数据库时,SQLite将会检查它的类型,若是该类型与关联的列不匹配,SQLite那么会尝试将该值转换成该列的类型,若是不能转换,那么该值将作为本身的类型存储,SQLite称这为“弱类型”。
但有一个特例,若是是INTEGERPRIMARYKEY,那么其他类型可不能被转换,会报一个“datatypemissmatch”的错误。
归纳来讲,SQLite支持NULL、INTEGER、REAL、TEXT和BLOB数据类型,别离代表空值、整型值、浮点值、字符串文本、二进制对象。
SQLite的特点大致总结如下:
1.轻量级
利用SQLite只需要带一个动态库,就能够够享受它的全数功能,而且那个动态库的尺寸想当小。
2.独立性
SQLite数据库的核心引擎不需要依托第三方软件,也不需要所谓的“安装”。
3.隔离性
SQLite数据库中所有的信息(比如表、视图、触发器等)都包括在一个文件夹内,方便治理和保护。
4.跨平台
SQLite目前支持大部份操作系统,不至电脑操作系统更在众多的电话系统也是能够运行,比如:
Android和IOS。
5.多语言接口
SQLite数据库支持多语言编程接口。
6.平安性
2.3JSON数据
JSON(JavaScriptObjectNotation,JS对象标记)是一种轻量级的数据互换格式。
它基于ECMAScript(w3c制定的js标准)的一个子集,采纳完全独立于编程语言的文本格式来存储和表示数据。
简练和清楚的层次结构使得JSON成为理想的数据互换语言。
易于人阅读和编写,同时也易于机械解析和生成,并有效地提升网络传输效率。
在JS语言中,一切都是对象。
因此,任何支持的类型都能够通过JSON来表示,例如字符串、数字、对象、数组等。
可是对象和数组是比较特殊且经常使用的两种类型:
对象表示为键值对、数据由逗号分隔、花括号保留对象、方括号保留数组。
在JS语言中,一切都是对象。
因此,任何支持的类型都能够通过JSON来表示,例如字符串、数字、对象、数组等。
可是对象和数组是比较特殊且经常使用的两种类型。
对象:
对象在JS中是利用花括号包裹{}起来的内容,数据结构为{key1:
value1,key2:
value2,...}的键值对结构。
在面向对象的语言中,key为对象的属性,value为对应的值。
键名能够利用整数和字符串来表示。
值的类型能够是任意类型。
数组:
数组在JS中是方括号[]包裹起来的内容,数据结构为["java","javascript","vb",...]的索引结构。
在JS中,数组是一种比较特殊的数据类型,它也能够像对象那样利用键值对,但仍是索引利用得多。
一样,值的类型能够是任意类型。
2.4Java环境
2.4.1Java简介
Java是一门面向对象编程语言,不仅吸收了C++语言的各类优势,还摒弃了C++里难以明白得的多继承、指针等概念,因此Java语言具有功能壮大和简单易用两个特点。
Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,许诺程序员以优雅的思维方式进行复杂的编程。
Java具有简单性、面向对象、散布式、健壮性、平安性、平台独立与可移植性、多线程、动态性等特点。
Java能够编写桌面应用程序、Web应用程序、散布式系统和嵌入式系统应用程序等。
2.4.2Java特性
(1)简单性
Java看起来设计得很像C++,可是为了使语言小和容易熟悉,设计者们把C++语言中许多可用的特点去掉了,这些特点是一样程序员很少利用的。
例如,Java不支持goto语句,代之以提供break和continue语句和异样处置。
Java还剔除C++的操作符过载(overload)和多继承特点,而且不利用主文件,免去了预处置程序。
因为Java没有结构,数组和串都是对象,因此不需要指针。
Java能够自动处置对象的引用和间接引用,实现自动的无用单元搜集,利用户没必要为存储治理问题苦恼,能更多的时刻和精力花在研发上。
(2)面向对象
Java是一个面向对象的语言。
对程序员来讲,这意味着要注意应中的数据和操纵数据的方式(method),而不是严格地用进程来试探。
在一个面向对象的系统中,类(class)是数据和操作数据的方式的集合。
数据和方式一路描述对象(object)的状态和行为。
每一对象是其状态和行为的封装。
类是按必然体系和层次安排的,使得子类能够从超类继承行为。
在那个类层次体系中有一个根类,它是具有
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Android 毕业设计 报告