龙源期刊网 http://www.qikan.com.cn
社区书籍分享手机APP系统的设计与实现
作者:吴浩源
来源:《智能计算机与应用》2018年第04期
摘 要:针对目前家庭中存在的闲置图书过多而又不能很好利用的情况,构建了基于社区家庭用户的社区书籍分享系统,该系统实现了闲置书籍的循环再利用,做到物尽其用,同时也体现了绿色共享的发展理念。系统采用手机APP/SERVER为技术架构,利用J2EE技术实现,基于用户和书籍二者之间供需关系,建立手机APP分享系统,使用户在手机上就可以方便的进行书籍地分享和交互,通过共享-借阅模式实现了家庭图书的流动,让人们在阅读中感受分享的快乐。
关键词:社区; 书籍分享; 手机; APP; HTTP协议
Abstract: In view of the fact that there are too many idle books in the family and they can't be used very well, a community books sharing system based on community family users is constructed. The system realizes the recycling of idle books, makes the best use of them, and embodies the concept of green sharing. The system adopts the mobile APP/Server as the technical framework, uses J2EE technology to realize. Based on the supply and demand relationship between the users and books, the system establishes a mobile APP sharing system, enabling users to share books and interact with each other conveniently on mobile phones. The flow of idle family books is realized through the sharing-borrowing mode, which makes people enjoy the pleasure of sharing in reading. Key words: community; books sharing; mobile phone; APP; HTTP protocol 引言
书籍是人类的精神食粮,人们一生中会阅读和购买无数的书籍。家庭中伴随着孩子的成长,书籍的数量也在不断地增加。因此,每个家庭,不管是大人还是孩子都会积攒大量的书籍,阅读过的书籍,如何合理的利用呢是储藏、捐赠、卖掉或是丢弃若书籍作为废品处理掉是非常可惜的一件事情。若送给需要的人,那在现实生活中又如何能方便快捷地寻找到需要书籍的人呢
本文通过构建社区书籍共享手机APP系统,来为这些处于家庭中“过时“的书籍,找到更好的去处。让每个家庭中多余的图书“动”起来,做到物尽其用,让人们享受分享阅读的快乐。为了安全和交换书籍的便利,该系统设定分享范围为同一个社区或者同一个学校。这样能够让阅读者方便快捷的在自己的附近寻找到自己喜欢的书籍,同时也可以分享自己的图书资源。相比那些以“共享经济”作为变相租赁的产品,社区书籍共享手机APP系统真正的体现了共享的本质和善意,那就是互惠互利,减少资源浪费,真正的做到免费分享。不仅如此,通过阅读还可以促进交流,更有助于帮助孩子自小就形成利他,共同进步的人生价值观。
龙源期刊网 http://www.qikan.com.cn
1 社区书籍分享信息系统分析
在社区书籍分享信息系统中,用户需要分享自家闲置的书籍,同时,作为一个阅读者,又需要寻找适合自己阅读的书籍。因此,可以得到本系统管理的两个基本要素:书籍和用户,以及二者之间的关系(见图1)。
本系统就是对书籍和用户两个基本要素进行管理,实现二者的基本信息及交互信息的管理,即对用户和书籍的管理。具体包括:用户闲置书籍信息的共享;用户对他人共享书籍的获取以及书籍共享请求的申请和答复;共享成功后的系统确认等。本系统实现的是书籍信息的共享管理,而书籍实物的交换,则需要根据共享的答复和确认信息,由用户在线下来操作完成。 1.1 用户信息的管理
本系统中用户的产生,需要具体的使用者进行账户的申请,并在获得管理员的审核批准后,方可在系统中生效并进行相关的操作。
系统的用户分为两类:管理员用户和一般用户。管理员用户拥有所有信息的管理权限。其中包括:用户信息、书籍信息、共享信息的管理等。而一般用户只具有共享本人的书籍和获取他人共享书籍的权限,以及对本人共享书籍的请求申请和答复。 1.2 书籍信息的管理
在本系统中书籍是主角,是被用户分享的资源。为了方便借阅,用户需详细了解书籍的基本概况。书籍有4个基本属性:书籍名称、书籍适合的年龄段、书籍所属类型以及书籍内容简介。目前的书籍大都有ISBN条形码,故该系统中书籍简介的录入可以通过扫描条形码获取相关内容。
1.3 系统中数据流交互信息分析
本系统中针对管理员用户和一般用户权限不同的特点,设定了不同用户的操作范围和登录界面。管理员用户除了具有一般用户的操作权限外,还负责对注册的账户进行审核或者关闭异常账户。一般用户具有的操作权限是查询自己目前共享的书籍以及状态;对被共享的书籍作出共享申请答复;管理自己共享的书籍的信息;查询其他用户分享的书籍并对感兴趣的书籍提交借阅申请,等待书籍主人的答复;当线下完成书籍共享后,需要对该次共享进行确认,确保共享流程的闭环。系统整体数据流[1]交互信息如图2所示。 2 系统的设计实现 2.1 技术框架
龙源期刊网 http://www.qikan.com.cn
本文采用手机APP/SERVER的技术架构,服务器端使用J2EE[2]技术来实现。选用Spring+myBatis集成框架构建,Spring作为实例对象的管理容器,同时为手机APP的请求进行集中控制处理,提高系统的运行效率和高维护性;myBatis用于持久化数据,完成Java对象和数据库记录之间的转换,完成对数据库的操作访问,如数据的增、删、改、查等操作。手机APP构建在Android[3]环境之下,构建用户操作界面,通过安卓提供的GUI接口实现与服务器的交互访问。数据库采用开源的Mysql[4]数据库。
服务器端使用Tomcat[5]容器作为客户请求处理服务器。手机APP跟服务器之间信息交互是基于HTTP协议的;交互的数据格式采用JSON数据串为载体。JSON数据格式简单易用,业界技术支持比较成熟。系统技术框架说明如图3所示。 2.2 主要系统功能实现
本系统的实现分为手机APP端的实现和服务器端Web组件的实现。手机端APP的开发语言为Adroid[6]语言,开发工具为Adroid Studio。服务器Web组件的开发使用J2EE技术,完成手机APP与服务器的数据处理和交互,开发工具为Eclipse EE。 2.2.1 账户注册申请
社区家庭均可申请账户,申请者填写必要的信息(见图4)后,提交服务器处理并保存。其中系统处理注册信息的时序图如图5所示。账户审核通过生效后,便可登录系统进行书籍的分享活动。
2.2.2 “我的分享”管理
在”我的分享”菜单中可完成共享自己书籍的功能。用户通过添加书籍,录入书籍的基本信息后进行分享。一旦分享成功,其他用户可以在“我的借阅“中查询到该书籍的共享信息,并可以锁定该书籍进行借阅。分享书籍时,书籍信息可以手工录入,也可以采用扫描书籍封底的ISBN条形码自动录入信息。
条形码扫描获取书籍信息的原理是通过扫描条形码系统获取书籍的ISBN号,然后本系统发送该书的HTTP请求给豆瓣网,豆瓣网返回该书的基本信息,信息格式为JSON串。图书ISBN信息扫描界面如图6所示。 该功能实现的时序如图7所示。 2.2.3 “我的借阅”管理
在“我的借阅”菜单中可进行书籍的借阅或者书籍的搜索(见图8)。点击“搜索”,可查看可借阅的书籍,然后选择自己感兴趣的书籍,并向该书籍的主人发送借阅该书籍的请求,等待
龙源期刊网 http://www.qikan.com.cn
书籍主人的确认和答复。通过答复信息,线下联系并完成书籍的实际分享。查询借阅图书功能的时序如图9所示。 2.2.4 “我的管理”功能
“我的管理”功能可以实现按照选择的操作模式:全部、我的借入、我的借出、我的确认来分别查询有关我的书籍。根据书籍的状态对书籍进行管理,如:删除、取消借阅、确认用户的借阅等操作。该项的功能用例如图10所示。“我的管理”界面如图11所示。如:点击图11中的“雄狮去流浪”这本书,可查看到关于该书的详细资料和借阅信息。
该系统针对书籍在用户之间的流转,定义了书籍的几个状态值,来表明用户可以进行何种操作。书籍的状态值含义见表1。 3 系统的实现案例与要点 3.1 实现案例
本节重点阐述“书籍的上传分享”功能案例的实现,其功能实现的流程基本类似。未注册用户,申请账户成功后,使用该账户登录后即可进行此操作。 3.2 界面布局
本案例主要采用Android的相对布局方式[7](RelativeLayout)排列页面中的可视化元素。相对布局灵活性高,而且可视化组件可以任意摆放位置,根据其相对于其父元素或兄弟元素的位置确定自己的定位,这是实际布局中最常用的布局方式之一。布局中可视化组件主要是标签、文本框、列表框、图片、按钮、窗体等。
书名、类别、适合人群、关键字等有关书籍的要素填写完毕后,就可以点击按钮提交保存了。填写这些基本信息时可以使用条形码扫描获取相关信息后,自动填写。 3.3 处理流程
案例中当用户点击“我的分享”时,就会出现书籍的信息填写界面。信息的填写可以手工录入,也可以通过扫描书籍的ISBN码向豆瓣网请求并获取书籍信息自动填入。当书籍信息填写正确完成后,提交该书籍信息保存至服务器。服务器端组件通过解析书籍信息的JSON串,并调用相关数据库访问组件完成书籍信息的保存。处理流程如图12所示。 3.4 组件封装
龙源期刊网 http://www.qikan.com.cn
手机APP提交书籍数据以及向豆瓣网获取书籍信息,都是基于HTTP协议的请求,该功能在本系统中多次被使用。对HTTP请求功能进行网络类组件封装,手机端跟服务器端信息交互的数据格式采用JSON串的方式[8]。HTTP请求的关键代码如下: public static String getHttpRequest(String url) {
String json =\"\"; try{
URL getUrl =new URL(url);
HttpURLConnection connection = (HttpURL Connection) getUrl.openConnection(); connection.connect();
// 取得输入流,并使用Reader读取
BufferedReader reader =new BufferedReader(new InputStreamReader(connection.getInputStream())); String lines=\"\";
while((lines = reader.readLine()) != null) { json+=lines; }
reader.close(); connection.disconnect() }catch (Exceptione) { e.printStackTrace(); }
return json;
龙源期刊网 http://www.qikan.com.cn
} 4 结束语
社区书籍分享手机APP系统作为一款书籍分享软件,将每个家庭中多余的图书“动”起来,不仅很好地解决了家庭闲置书籍的再利用问题,而且也帮助孩子自小就形成利他,共同进步的人生价值观。
系统在使用中可面向社区或在校学生用户,应用范围广泛,通过分享-借阅模式实现书籍的共享和书籍资源的良好利用,同时也体现了绿色共享的发展理念。系统在Android环境下构建手机APP系统来实现书籍的分享和被分享的管理,简单方便易用。系统投入运行后,深受社区用户和在校学生的喜爱,通过该系统可以分享自己的书籍也可以借阅到自己喜欢的书籍,让读者在阅读中体会到分享的快乐。 参考文献
[1] 郑光,汪强,许鑫,等. 新型农村社区就业信息服务系统的研究与构建[J]. 计算机应用与软件 2017,34(8): 48-53,57.
[2] ECKEL Brucel. Thinking in java[M]. 4 版. 陈昊鹏,译. 北京:机械工业出版社, 2007. [3] 吴亚峰,索依娜. Android核心技术与实例讲解[M]. 北京:电子工业出版社,2010. [4] 石正喜. MySQL数据库实用教程[M]. 北京:北京师范大学出版社,2014.
[5] 李新庆,单新兰,岳勇. 宁夏气象数据共享查询系统的设计与实现[J]. 重庆工商大学学报(自然科学版),2015,32(3):55-59.
[6] 孙卫琴. Tomcat与Java Web开发技术详解[M]. 2版. 北京:电子工业出版社,2009. [7] 熊刚. 基于Android的智能手机的设计与实现[D]. 武汉:武汉理工大学,2010. [8] 刘平. Android手机访问服务器的一种数据交互方法[J]. 电子设计工程,2010,18(9):96-98,102.