基于Web+Android的情侣交互APP设计方案49p.docx
《基于Web+Android的情侣交互APP设计方案49p.docx》由会员分享,可在线阅读,更多相关《基于Web+Android的情侣交互APP设计方案49p.docx(59页珍藏版)》请在冰豆网上搜索。
基于Web+Android的情侣交互APP设计方案49p
基于Web+Android的情侣交互APP设计方案
(WORD版完整可编辑,需更多资料请联系)
摘要
随着社会的发展,当今生活节奏越来越快,加上互联网技术,为我们的生活提供很多便利。
以前人们通信采用写信的方式,后来演变成电报,电话,现在使用互联网技术使得我们在通信、社交方面有较多的便利的形式。
特别是近几年来手机的发展速度超乎想象。
围绕着手机的应用铺天盖地般的袭来。
可以说现在掉个手机就像掉个身份证一样麻烦。
那么在这样的背景下,作为一个开发人员学习和掌握手机APP的开发是必不可少的了。
而且在目前手机APP开发的方式也非常的灵活。
主要的平台有:
Android,IOS,WindowsPhone.由于Android极高的开放性,降低了移动App开发的门槛,且Android市场份额非常高.再加之Html5技术出现,Web技术在手机APP方面可谓是大放光彩.再加上css3.0媒体查询的支持使得用Web技术开发一个WebApp相当方便.目前很多应用都是Web提供数据支持,以及部分UI,快速开发移动APP.本项目的目的是为情侣提供一个留言,即时通信,纪念日,记事本,时光轴等服务。
便利情侣之前的事物处理。
关键词:
Html5,Web,PHP,Android,Mysql
CoupleinteractionWeb+AndroidbasedonAPP
ABSTRACT
Withthedevelopmentofsociety,thepaceoflifeismoreandmorefast,andtheInternettechnology,toprovidealotofconvenienceforourlife.Priortothewaypeopleusedtowriteletters,andlaterevolvedintothetelegraph,telephone,andnowusetheInternettechnologymakesusinthecommunication,socialaspectsofamoreconvenientform.Especiallyinrecentyears,thedevelopmentspeedofmobilephonesbeyondimagination.Aroundthephone'sapplicationoverwhelming.Itcanbesaidthatnowacellphoneislikeacardoutoftheidentityofthetrouble.Sointhiscontext,asadevelopertolearnandmasterthedevelopmentofmobilephoneAPPisessential.AndinthecurrentwayofAPPdevelopmentofmobilephoneisalsoveryflexible.Themainplatform:
Android,IOS,WindowsPhone.DuetotheopennessoftheAndroidhigh,reducingthethresholdofmobileappdevelopment,andAndroidMarketshareisveryhigh.CoupledwithHTML5technology,webtechnologyinmobileappcanbedescribedasisshine.Coupledwiththesupportoncss3.0mediaqueriesthatuseWebtechnologytodevelopawebappisveryconvenient.Atpresentmanyapplicationsarewebtoprovidedatatosupport,andpartoftheUI,therapiddevelopmentofthemobileapp.Thisprojectisforthecoupletoprovideamessage,instantmessaging,anniversaries,Notepad,timeaxisservice.Thethingstodealwithbeforethecouple.
Keywords:
html5,web,PHP,Android,Java,Mysql
第一章绪论
手机在这几年里飞速的发展,它的功能和作用也越来越大。
数据的处理能力也可与桌面计算机匹敌,再加之它独特的先天优势—便携性。
围绕着它的应用也非常非常的多例如:
手机支付(微信支付,XX钱包,支付宝),即时通信(QQ,微信),音乐服务(QQ音乐,AppleMusic),视频服务(优酷,爱奇艺,腾讯视频),电子商务(京东,天猫,淘宝)等等服务。
社交服务更是数不胜数,但基于情侣这样的社交软件目前还有一部分空缺。
设计手机软件之处就是为了便利我们的生活,那么为情侣提供一个留言,即时通信,纪念日,记事本,时光轴等服务的平台方便记录他们之间的点点滴滴,无论生活节奏再快,“我”一直在你身边。
1.1前景
手机现在已经是人们必不可少的工具,那么夺取手机用户是具有极大的战略意义.比如我们的为你推荐功能将记录一部分用户的行为(在不侵犯隐私的情况下),为他们推荐他们所需所想的内容.这也会为以后的商业道路埋下伏笔.
1.2互联网+的六个特点
一是跨界融合。
+就是跨界,就是变革,就是开放,就是重塑融合。
敢于跨界了,创新的基础就更坚实;融合协同了,群体智能才会实现,从研发到产业化的路径才会更垂直。
融合本身也指代身份的融合,客户消费转化为投资,伙伴参与创新,等等,不一而足。
二是创新驱动。
中国粗放的资源驱动型增长方式早就难以为继,必须转变到创新驱动发展这条正确的道路上来。
这正是互联网的特质,用所谓的互联网思维来求变、自我革命,也更能发挥创新的力量。
三是重塑结构。
信息革命、全球化、互联网业已打破了原有的社会结构、经济结构、地缘结构、文化结构。
权力、议事规则、话语权不断在发生变化。
互联网+社会治理、虚拟社会治理会是很大的不同。
四是尊重人性。
人性的光辉是推动科技进步、经济增长、社会进步、文化繁荣的最根本的力量,互联网的力量之强大最根本地也来源于对人性的最大限度的尊重、对人体验的敬畏、对人的创造性发挥的重视。
例如UGC,例如卷入式营销,例如分享经济。
五是开放生态。
关于互联网+,生态是非常重要的特征,而生态的本身就是开放的。
我们推进互联网+,其中一个重要的方向就是要把过去制约创新的环节化解掉,把孤岛式创新连接起来,让研发由人性决定的市场驱动,让创业并努力者有机会实现价值。
六是连接一切。
连接是有层次的,可连接性是有差异的,连接的价值是相差很大的,但是连接一切是互联网+的目标。
第二章相关技术介绍
2
2.1PhpStorm
PhpStorm是一个轻量级且便捷的PHPIDE,其旨在提供用户效率,可深刻理解用户的编码,提供智能代码补全,快速导航以及即时错误检查。
2.1.1智能PHP编辑器
PHP代码补全、智能的重复编码检测器、PHP重构、支持Smarty和PHPDoc。
支持多语言混合。
2.1.2JavaScript编辑器
基于DOM/指定浏览器完成、代码导航和用法查找、JavaScript重构、JavaScript调试器。
2.1.3HTML/CSS编辑器
支持HTML5、支持Zen编码、、检验和快速修正、显示应用的外观、提取嵌入样式。
2.2Eclipse
Eclipse是一个开放源代码的、基于Java的可扩展开发平台。
就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。
幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentKit,JDK)。
2.3Mysql数据库
MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,目前属于Oracle旗下公司。
MySQL最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(RelationalDatabaseManagementSystem,关系数据库管理系统)应用软件之一。
MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。
MySQL软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。
由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境。
2.3.1系统特性
1.使用C和C++编写,并使用了多种编译器进行测试,保证了源代码的可移植性。
2.支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多种操作系统。
3.为多种编程语言提供了API。
这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby,.NET和Tcl等。
4.支持多线程,充分利用CPU资源。
5.优化的SQL查询算法,有效地提高查询速度。
6.既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中。
7.提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。
8.提供TCP/IP、ODBC和JDBC等多种数据库连接途径。
9.提供用于管理、检查、优化数据库操作的管理工具。
10.支持大型的数据库。
可以处理拥有上千万条记录的大型数据库。
11.支持多种存储引擎。
12.MySQL是开源的,所以你不需要支付额外的费用。
13.MySQL使用标准的SQL数据语言形式。
14.MySQL对PHP有很好的支持,PHP是目前最流行的Web开发语言。
15.MySQL是可以定制的,采用了GPL协议,你可以修改源码来开发自己的MySQL系统。
16.在线DDL/更改功能,数据架构支持动态应用程序和开发人员灵活性(5.6[3]新增)
17.复制全局事务标识,可支持自我修复式集群
18.复制无崩溃从机,可提高可用性
19.复制多线程从机,可提高性能
2.3.2存储引擎
MyISAMMySQL5.0之前的默认数据库引擎,最为常用。
拥有较高的插入,查询速度,但不支持事务
InnoDB事务型数据库的首选引擎,支持ACID事务,支持行级锁定,MySQL5.5起成为默认数据库引擎
BDB源自BerkeleyDB,事务型数据库的另一种选择,支持Commit和Rollback等其他事务特性
Memory所有数据置于内存的存储引擎,拥有极高的插入,更新和查询效率。
但是会占用和数据量成正比的内存空间。
并且其内容会在MySQL重新启动时丢失
Merge将一定数量的MyISAM表联合而成一个整体,在超大规模数据存储时很有用
Archive非常适合存储大量的独立的,作为历史记录的数据。
因为它们不经常被读取。
Archive拥有高效的插入速度,但其对查询的支持相对较差
Federated将不同的MySQL服务器联合起来,逻辑上组成一个完整的数据库。
非常适合分布式应用
Cluster/NDB高冗余的存储引擎,用多台数据机器联合提供服务以提高整体性能和安全性。
适合数据量大,安全和性能要求高的应用
CSV:
逻辑上由逗号分割数据的存储引擎。
它会在数据库子目录里为每个数据表创建一个.csv文件。
这是一种普通文本文件,每个数据行占用一个文本行。
CSV存储引擎不支持索引。
BlackHole:
黑洞引擎,写入的任何数据都会消失,一般用于记录binlog做复制的中继
EXAMPLE存储引擎是一个不做任何事情的存根引擎。
它的目的是作为MySQL源代码中的一个例子,用来演示如何开始编写一个新存储引擎。
同样,它的主要兴趣是对开发者。
EXAMPLE存储引擎不支持编索引。
另外,MySQL的存储引擎接口定义良好。
有兴趣的开发者可以通过阅读文档编写自己的存储引擎。
2.4PHP
PHP(外文名:
PHP:
HypertextPreprocessor,中文名:
“超文本预处理器”)是一种通用开源脚本语言。
语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。
PHP独特的语法混合了C、Java、Perl以及PHP自创的语法。
它可以比CGI或者Perl更快速地执行动态网页。
用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。
2.4.1开发工具
ZendStudio:
商业版,Zend官方出品,基于eclipse
EclipsewithPDT:
免费
Coda:
商业版,针对Mac用户
NetBeans:
免费,功能强大
PHPStorm:
商业版
AptanaStudio:
免费
PhpEd:
商业版
KomodoIDE/Edit:
IDE为商业版,Edit可免费使用
AdobeDreamweaver:
商业版
除去集成开发环境,具备代码高亮功能的常见文本编辑器因其轻巧灵活也常被选作开发工具,例如:
Notepad++、Editplus、SublimeText、Everedit(国人开发)等等。
2.4.2特性
1.PHP独特的语法混合了C、Java、Perl以及PHP自创新的语法。
2.PHP可以比CGI或者Perl更快速的执行动态网页——动态页面方面,与其他的编程语言相比,
PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成htmL标记的CGI要高许多;
PHP具有非常强大的功能,所有的CGI的功能PHP都能实现。
3.PHP支持几乎所有流行的数据库以及操作系统。
4.最重要的是PHP可以用C、C++进行程序的扩展!
2.4.3优势
开放源代码
所有的PHP源代码事实上都可以得到。
免费性
和其它技术相比,PHP本身免费且是开源代码。
快捷性
程序开发快,运行快,技术本身学习快。
嵌入于HTML:
因为PHP可以被嵌入于HTML语言,它相对于其他语言。
编辑简单,实用性强,更适合初学者。
跨平台性强
由于PHP是运行在服务器端的脚本,可以运行在UNIX、LINUX、WINDOWS、MacOS、Android等平台
效率高
PHP消耗相当少的系统资源。
图像处理
用PHP动态创建图像,PHP图像处理默认使用GD2。
且也可以配置为使用imagemagick进行图像处理。
面向对象
在php4,php5中,面向对象方面都有了很大的改进,php完全可以用来开发大型商业程序。
专业专注
PHP支持脚本语言为主,同为类C语言。
2.5Java
Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言。
Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
2.5.1组成
由四方面组成:
Java编程语言,即语法。
Java文件格式,即各种文件夹、文件的后缀。
Java虚拟机(JVM),即处理*.class文件的解释器。
Java应用程序接口(JavaAPI)。
2.5.2优势
与传统程序不同,Sun公司在推出Java之际就将其作为一种开放的技术。
全球数以万计的Java开发公司被要求所设计的Java软件必须相互兼容。
“Java语言靠群体的力量而非公司的力量”是Sun公司的口号之一,并获得了广大软件开发商的认同。
这与微软公司所倡导的注重精英和封闭式的模式完全不同。
Sun公司对Java编程语言的解释是:
Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和静态的语言。
Java平台是基于Java语言的平台。
这样的平台非常流行。
因此微软公司推出了与之竞争的.NET平台以及模仿Java的C#语言。
Java是功能完善的通用程序设计语言,可以用来开发可靠的、要求严格的应用程序。
2.6其它相关技术
2.6.1Html5
它是Html技术的第五次重大修改,最明显的就是对移动设备的友好支持。
2.6.2JavaScript
JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。
它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。
2.6.3JSON
JSON(JavaScript ObjectNotation)是一种轻量级的数据交换格式。
它基于ECMAScript的一个子集。
JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、C#、Java、JavaScript、Perl、Python等)。
这些特性使JSON成为理想的数据交换语言。
易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)。
第三章项目设计
3
3.1需求分析
3.1.1背景
在互联网技术和移动数据处理技术的强力驱动下,各种手机APP孕育而生。
而在情侣交互方面的APP较为空缺。
3.1.2模块
留言:
情侣之间应该可以相互留言,相互查看,管理。
聊天:
如果情侣之间不在一个地方,也就是异地那么聊天就为一个必须的功能。
在文字聊天的基础之上还应该添加表情,图片等其它内容,提高用户体验。
纪念日:
提供用户一个添加、删除纪念日的功能,可以在必要的时候提醒用户。
记事本:
属于每个用户私有的空间,提供给用户一个记录事物的便利。
时光轴:
在用户执行特定的操作,和系统设定条件时用户添加时光轴记忆,提供给用户一个美好的回忆。
留言盒子:
在防止意外生气删除留言的情况下,可收藏留言。
单独管理,即使删除留言,被收藏的留言依旧存在。
邀请恋人:
使用用户相关联的邮箱或者手机号,邀请对方并且绑定恋人。
查找用户:
提供用户一个查找其他用户的功能。
使得可以聊天或其他操作。
3.23.2数据库设计
3.2.1数据表(部分)
Users
CommunityMessages
CommunityMessagesCollections
UserMessages
UserNotes
UserNotes
TimeLine
Files
memorial_days
3.33.3概要设计
至少要实现:
注册,登录,修改资料,修改密码,重置密码,发送邀请,查看邀请,处理邀请,发送留言,删除留言,收藏留言,发送消息,获取消息列表,删除消息列表,添加纪念日,删除纪念日,添加记事本,删除记事本,查看时光轴,查看留言盒子,查找用户等功能.使用PHP+前端各种框架编写网站部分以及手机客户端所需要使用的API.
3.3.1Web设计
●留言板
项模板设计HTML:
{$message['uid']}"target="_blank">
{$message['uid']}"target="_blank">
{$message.nickname}
{$message.userdesc}
none;display:
inline;background-color:
transparent"class="pull-right"data-id="{$message.id}"data-action="trash">