黄宏康 王代君
【摘要】笔记分享多功能学习交流移动社交软件极大地提升了知识在社交媒体平台进行信息发布的传播力,方便学子交流,更方便知识传承,使学习者可以随时随地方便地获取自己需求的知识信息,根据索引标签就能够找到对应的图集进行查看,其中还可以评论,可以增强交互性和信息传播性。
【关键词】笔记分享搜索学习社交移动端软件;Android;互联网+;SSH后端框架
一、前言
近年来,“互联网+”的热潮正席卷整个社会,不管“+”什么,都会发生神奇变化,深刻地改变了人类的思维、生产、生活和学习方式,提高了生产力,促进了社会发展。
研究Android平台上应用开发原理,以开发近两年网络信息交流分享的新方式——基于笔记分享多功能学习交流移动社交软件,它在已有的通过文字、图片实现互动之外,能进行笔记分享。在这种信息化的时代,我们分享的都是电子档的书,出版的纸质书本数量是有限的,但在社会发展过程中,有各种各样的奇思妙想在个人的笔记中,凝结成了智慧结晶笔记。而智慧结晶笔记本即使拍下来上传到网上,也会淹没在浩如烟海的数据里,所以需要对笔记图片进行标签化管理。在现在这个大数据时代,数据管理愈发重要,大数据是未来的趋势。笔记分享,当我们发送笔记图片时候,给它上一个标签,能够使笔记信息更为精准被索引。多个标签有助于该笔记集的索引范围扩大。通过索引标签能够更加精确找到它,这是此次项目的创新,上传图片文件让交互效果提高,这种多功能社交APP将成为时代主流,为移动互联网用户提供一种集生产与共享于一体的社交新形式。同时,本项目中将引入插件式开发、程序模块化、服务器技术,云存储等新兴技术及其实际应用等。
二、APP的功能模块组成
整个APP包括Android部分和JavaEE部分,Android部分是APP开发中所需的软件平台,由Android Studio开发,包括以下模块。
(一)获取笔记集
此模块能够在主界面显示笔记集的第一张图片以及上传者名称和对应标签、笔记简介。根据上传的信息显示,同时能够根据不同的用户显示对该用户上传过的笔记集进行删除操作。
点击对应笔记集能够进入详细笔记集页面,通过左右滑动浏览全部笔记图片的内容。还可以放大或缩小进行观看,可以给学习者提供良好的体验。
(二)上传笔记集
通过选择本地笔记图片或者拍照笔记图片进行上传,其中还可以对其赋予标签以及简介,上传时通过http请求经由服务端action层校验后存入数据库表中。
(三)对笔记集进行评论
在主界面获取对应的数据流,然后通过界面传值来显示评论,在图集对应页面提供界面来上传笔记集。
(四)搜索笔记集
通过笔记集标签在APP端进行相关字段的上传,然后在服务器端进行模糊查询,把相关数据通过json返回解析显示到APP端以达到笔记分享的目标。
服务器端系统主要选用mysql数据库,由于目前主流技术web轻量级应用使用的数据库是mysql,这样更具有灵活性。其中还采用SSH框架,采用hibernate框架创建数据库和一些数据表,同时进行增、删、改、查等操作。还使用了struts2来提供访问接口,实现图片、简介、标签与用户头像等信息的存储和管理。其中的spring框架有着IOC和AOP的特点,可以对对象进行统一化管理,以便和APP端交互,同时还可以为后期拓展提供良好灵活的接口。
三、笔记分享搜索系统设计与实现
(一)APP模块设计
APP模块主要采用MVC架构实现,其中涉及Android系统应用的UI层设计,如各个窗体的界面设计;同时也有logic层架构代码实现,比如intent跳转传参,等等。还有与后端图片交互技术用户上传图片以及从服务端获取数据流显示图片,可以通过okhttp请求实现请求服务端数据,主界面选用listview显示笔记图集相关信息,显示的信息有笔记集的第一张图片和三个标签、简介、作者名称等。可以在子线程进行http请求,然后通过handler来刷新UI。其中文件流的上传处理方案可以用原生http请求Bitmap进行封装,也可以通过开源框架二次封装来进行上传,实现文件上传。为了解决与服务器交互缓慢的情况,例如上传图片后在主界面暂时还刷新不出图片效果,可以通过线程Sleep并使用DialogProgress给出提示增强用户体验。其中,由于本项目涉及的Activity较多,容易混乱,所以可以设置全局变量存放Activity并在使用后finish()完成释放提高利用率。关于常量的处理可以设置静态常量类,通过常量池来实现解耦合方案,例如服务端的域名更改和intent之间用户名传值。
(二)服务端模块设计
使用SSH(Spring+Struts2+Hibernate)搭起来的java后端技术框架,数据库使用的是Mysql数据库,我们的数据交互使用的是json数据流进行交互。通过自己购买阿里云服务器进行后端服务器的搭建,能对外网公开访问,自己运维后端。主要包括以下模块:
1.用户的登录和注册笔记图片的上传分享和管理;
2.笔记图片的评论添加、删除和修改;
3.用户的信息修改;
4.数据库表的生成;
5.用户登录时的校验。
(三)数据库端模块设计
在众多的数据库中,根据实际选用mysql作为服务器端的数据库,它是一款轻量级的数据库,是以后端交互应用为设计目标。
通过对整个APP和服务端各功能和数据分析,数据库共设计了4个数据结构:图集、图集详细信息、用户、评论。
根据以上所设计的数据结构,将其转换为以之对应逻辑结构表:用户表、图集表、图集详细信息表、评论表。再通过使用 SQL 语言设计得到数据库和数据表。至此,整个后端数据架构的设计完成。
四、结束语
“互联网+”环境下笔记分享搜索学习社交移动端软件是在 Android+JavaEE开发环境下进行开发的,整个平台能正常工作,完成笔记图集的分享和评论交流。同时也出现了一些问题,有待今后从如下方面改进:第一,服务端响应插入数据较慢,有待改善;第二,网络对于数据量大的信息传输还存在一些困难,常在传输过程中出现数据信息延迟问题;第三,在整体软件上功能都能实现,但是架构搭建上过于复杂。
【参考文献】
[1]盖索林.Android开发入门指南[M].2版.北京:人民邮电出版社,2012.
[2]靳岩,姚尚朗.Android入门开发与实践[M].北京:人民邮件出版社,2012.
[3]李佐彬.Android开发入门与实战体验[M].北京:机械工业出版社,2010.
[4]伯内特,田俊静,张波,等.Android基础教程[M].3版.北京:人民邮电出版社.
[5]卞慧敏.浅议Java网络聊天工具设计[J].科技展望,2015(36):120.
[6]葛曼颖.基于JAVA技术的实时移动学习系统的研究与实现[J].科技展望,2016(03):16-17.
[7]李代平.軟件工程[M].2版.北京:清华大学出版社,2012.