云服务器具有如下优势:
(1)安全稳定,数据可靠:在无重大自然灾害的情况下,云服务器数据具有99.999%的可靠性;
(2)性能卓越,弹性伸缩:多网接入,可保证全国用户快速访问;
(3)节约成本,简单易用:支持Windows Server、Linux等多种主流操作系统,以服务的方式使用资源,按需付费,按需取用,比传统服务器投入成本降低了30%-80%左右。
本系统采用阿里云的服务器,具体配置参考图: 云服务器配置
2.2 安卓开发技术
2.2.1 Android技术
Android是一种以Linux为基础的开放源代码的操作系统,主要应用于智能手机,平板电脑等移动设备上。Android采用了分层的系统架构,分为系统运行库层、linux 核心层、应用程序层及应用程序框架层。
2.2.2 Android studio开发平台
Android Studio是谷歌推出的基于IntelliJ IDEA的新的Android开发环境,类似于Eclipse、ADT插件和SDK Manager的组合。Android Studio中使用了Gradle系统构建工具。在idea的基础上,Android Studio 将基于DSL(领域特定语言)语法的自动化构建工具Gradle集成在IntelliJ IDEA中,功能十分强大。
2.3 数据库概述
2.3.1MySQL简介
MySQL是一种关系型数据库管理系统,广泛地应用在中小型网站中。具有体积小、速度快、开放源码、免费等特点,一般中小型网站均采用MySQL作为数据库。本系统采用了MySQL作为数据库。
2.3.2 Redis概述
Redis是一种Key-Value型NoSQL数据库,具有高性能、易扩展、可进行数据持久化等特点[4]。Redis将数据存储在内存中,其数据模型类似于其他结构化存储系统建立在外层,通过Key 映射Value,同时Redis支持String、List、Set、Sort set和Hash 等多种类型存储,使用者可以在这些数据类型上进行很多原子性操作。Redis将数据存储在内存的特性使其具有非常高的读操作效率,因而像github、yahoo、bump、新浪微博等都在使用Redis 做高性能存储[5]。本系统同样采用redis作为笔记数据的缓存。
2.3.3ElasticSearch概述
ElasticSearch 是一种开源的、基于 Lucene 的搜索服务器,相较于传统的海量数据库具有更高的搜索能力[6]。ElasticSearch可以提供稳定、实时、可靠的检索服务, 具有高可用、易扩展以及近实时的特点,尽管是用Java写的,但是集成了很多例如PHP、Perl、Python等的客户端支持,支持通过HTTP 使用Json进行数据索引[7]。
2.4 开发语言和服务器
(1)PHP:PHP是一种通用开源脚本语言。具有快捷、跨平台性强、效率高、支持多种数据库等特点。在网络城市开发方面有很广泛的应用。
(2)Apache:Apache是一种开源的http服务器软件,目前世界上使用排名第一的Web服务器软件。具有快速,可靠,能够通过简单的API扩充的特点。
(3)Python: Python是一种面向对象的、解释型的计算机设计语言,于1991年公开发行第一个版本。Python具有简单明确、易移植、可扩展等优点。
3 需求分析与设计
3.1 需求描述
在互联网飞速发展的今天,人们对电子笔记产品的需求已经由PC端转移到了移动端,需要随时随地记录身边发生的事情,并且期待分享笔记,同时所有的笔记数据均存储在云端,方便在多个终端进行同步,根据以上本需求,本系统旨在实现一款界面简单美观,功能丰富实用的云笔记应用。因而从云笔记系统本身所具备的功能需求来看主要是完成用户登录、注册、记录笔记、实时存储查看笔记、收藏笔记、笔记分类、评论点赞笔记和热门笔记推送等功能。 Android云笔记APP设计与实现+源代码(3):http://www.youerw.com/jisuanji/lunwen_32662.html