品书网

杂志

保存到桌面 | 繁体 | 手机版
传记回忆文学理论侦探推理惊悚悬疑诗歌戏曲杂文随笔小故事书评杂志
品书网 > 杂志 > Android平台下“易书”APP的设计与实现

Android平台下“易书”APP的设计与实现

时间:2024-11-06 02:33:25

摘要:论文从APP的需求分析入手,重点阐述了“易书”APP的框架设计,UI设计。系统运用Android的相关知识,以Androidstudio软件作为开发的主要工具,开发一款手机APP——“易书”。在该软件中可以实现废旧的纸质图书的重新利用,让使用该软件的人可以同城互换图书,卖掉废弃的图书,或者捐给灾区的孩子们去使用。

关键词:纸质图书;AndroidJava;交换书籍

★基金项目:国家级大学生创新训练项目:易书;编号:201710959048。

引言

随着互联网的兴起,一批又一批的产业也随之拔地而起。据统计,移动互联网市场价值已由2014年的1857亿元扩张到2017年的接近6000亿元的市场规模。从数字上看出,当今社会的互联网行业有着很大的市场潜力。借此契机,团队成员在一起萌发了一个去开发一款手机APP的念头。要开发一款APP产品,需要经历需求分析-原型设计-开发-测试-上线的一个流程,且流程中的各个阶段都无法越级实现。

1、“易书”APP的需求分析

此款“易书APP”可运行于Android系统的设备之上,目标是实现让用户去平台交换自己想看的书籍。平台开发以Java语言为基础,使用Androidstudio作为开发工具,采用MVC模式,对代码进行分层设计,同时使用XML语言进行界面的布局,然后再使用setContentView将内容加载在activity中。此APP主要实现以下几个功能模块:登陆、注册、换书、捐书、交友模块。用户只需将书籍信息上传至平台中,其他用户便可以搜索书籍,需要该书籍的用户可以通过本平台去联系发布者,详谈交换事宜。大学生若是使用了这款APP则会大大减少毕业季廉价出售书籍的现象。

2、“易书APP”主要功能介绍

这一软件主要面向在校大学生的群体,让更多的大学生可以在线上进行书籍的交换,同时社会人士也可以通过实名注册图1系统功能框架图加入平台,并可以进行书籍的捐赠等。“易书APP”的功能框架图如图1所示。

图1系统功能框架图2.1以书会友

“易书APP”的用户可以通过本平台与发布者直接进行交流。在交流的过程中如果发现对方的读书爱好,就可以关注对方,这样就可以实时的关注对方的动态、读书记录、兴趣爱好等。这样不仅达到了书友们交换书籍的目的,还能实现书友之间的交流、学习。

2.2公益捐书

“易书APP”的一个特色功能就是公益捐书,用户可以将自己不需要的书籍捐赠给贫困山区的孩子们。公益捐书模块在APP的首页中,用户可以在该模块中看到有关贫困山区学校的详细信息。捐书有两种方式,一种是用户通过捐书模块去捐书,另一种是用户自己将书籍寄送到贫困山区。

2.3换书

用户在APP中注册账号后,既可以搜索所需书籍,也可以在书库中浏览选择其他书籍。这些书籍信息都是由用户上传到数据库中,点击书籍即可看到书籍发布者的详细信息,如:发布者所属地区、院校、书籍的新旧程度、换书的条件以及还包括发布者的联系方式等。如果用户与发布者达成共识并交易的话,用户便可以在平台下单。

3、“易书APP”的UI设计

3.1“首页”UI设计

首页在这里显示的不仅仅是本款软件的主要功能,还需要加上各种色彩的搭配,图片的美化和布局的整体美观性等等,让用户能有眼前一亮的效果。

3.2“我的书库”UI设计

书库的UI界面启发于“掌阅读书”,以简洁明朗为目标的设计方案,让用户感受到这个书库如同自己真正的书架一样,不仅排列整齐,还可以显示出书名和作者名,方便管理。

3.3“换书车”UI设计

此款换书车的UI设计,是启发于“淘宝”购物车,我们就借鉴了这一功能的优点,以“简洁、实用”为设计方案,打造出我们的“易书车”——可以将自己喜欢的图书添加到易书车中,最终再决定购买哪种书。

3.4“我的”UI设计

该页面的UI设计是对淘宝的购物界面的改进,以“方便、好用、布局清晰”为设计方案,打造出一种让用户似曾相识,但是又独具一格的风格,让用户在使用的过程中能方便地找到自己的需求。开发者利用原型设计来规划APP中xml文件的布局情况。

4、系统设计

系统由两部分组成:手机客户端和后台Bmob服务端。客户端作为信息展示和交互的平台,服务器端作为数据接收、数据的存储和业务处理的平台。

4.1手机客户端用户界面的实现

Activity是Android系统提供的一个可用的用户交互接口,程序的基本组件之一,其主要功能是提供界面,所有用户的交互都可在其中完成。Activity在创建时生成各种组件和组件视图,由这些视图负责功能,Activity通常使用全屏模式,也有浮动窗口模式和嵌入模式。“易书APP”的所有页面的实现便是建立在Activity之上的。

4.1.1登录页面的实现

“易书APP”的登录是基于Bmob后端云实现的,继承了BmobUser类的实例化对象user,调用接口的注册方法signUp即可完成登录,其实现的部分代码如下:

if(name1.equals("")||passw1.equals(""))

{return;}

finaluseruserobj=newuser();

userobj.setName(name1);

userobj.setPassw(passw1);

userobj.save(login_Activity.this,newSaveListener()

为了方便管理,易书APP的登录方式采用了邮箱登录,通过点击邮箱的链接进行登录,不仅方便了忘记密码与修改密码,也便于用户记忆。

4.1.2MainActivity的实现

易书APP用户页面的实现是基于Activity之上的,主界面为MainActivity,在此基础上分为四个Fragment页面。页面的切换采用BottomNavigationView+Fragment形式的底部导航栏。Fragment表示Activity中界面的一个行为或者一部分,可以组合多个Fragment放在单独的Activity中以创建一个多区域的界面。本系统包括“首页”、“书库”、“易书车”和“我的”四个子场景,子场景活动于主场景之中,从而更方便切换,并且Fragment相对于Activity更轻便,增加了页面的切换速度。同时,BottomNavigationView+Fragment的底部导航栏符合Material风格,有着炫酷的切换动画。

4.1.3其他页面的实现

易书APP中书城的页面通过TabHost+Fragment组成,TabHost+Fragment选项卡用于实现一个多标签页的用户界面,通过它可以将一个复杂的对话框分割成若干个标签页,实现对信息的分类显示和管理。使用该组件不仅可以使界面简洁大方,还可以有效地减少窗体的个数。选项卡的文本内容为书籍的分类,而书籍存放在不同的Fragment里,书籍的内容通过查询在Bmob后端云里查询显示。

其他还有设置、我的资料、发布信息等几个简单界面的实现,这些子界面通过简单的界面配置文件xml就可以很容易实现,然后添加对应的模块功能,完成界面各个功能的实现。

4.2后台Bmob服务端的设计

4.2.1数据存储

在易书APP中所需要用到的数据、图片等资源,都交给Bmob后台管理系统操作处理。首先创建应用,然后申请创建多个数据库,并获得应用所对应的Key,最后在Androidstudio中GradleScripts脚本的build.gradle文件中添加Bmob的maven仓库地址。

进而向APP的build.gradle文件中添加compile依赖文件,Bmob会自动更新组件所需要的资源文件。Bmob将组织后的数据,经过其内置的封装方法返回给平台显示。采用了Bmob移动云服务后台是因为它提供多样化接口,极大地简化了开发步骤。

4.2.2图片、文字资源的上传与下载

由于当前手机像素都比较高,上传的图片资源较大,导致上传和下载图片缓慢,易书APP采用Base64编码,将图片资源压缩转换为字节数组字符串形式存储到Bmob云数据库中。下载时对字节数组字符串进行Base64解码并生成图片。

将图片资源转换成字节数组字符串形式:

Bitmapbitmaptostring=BitmapFactory.decodeFile(path);

ByteArrayOutputStreambyStream=newByteArrayOutputStream();

bitmaptostringpress(Bitmap.CompressFormat.PNG,5,byStream);

byte[]byte1=byStream.toByteArray();

StringimgToString=newString(Base64.encodeToString(byteArray,Base64.DEFAULT));

对字节数组字符串进行Base64解码生成图片:

StringimgToString=s;

if(!imgToString.equals("")){byte[]byte2=Base64.decode(imgString,Base64.DEFAULT);

ByteArrayInputStreambyInputStream=newByteArrayInputStream(byteArray);

BitmapstringTobitmap=BitmapFactory.decodeStream(byStream);

imageView.setImageBitmap(stringTobitmap);}

5、结语

随着“易书APP”的发布与推广,会有越来越多的用户注册使用,该软件将会在大学校园中广泛流传,让当代大学生解决了已用书籍无处置放的问题,防止再出现每逢毕业季就会有很多大学生出售旧书的尬象。当然该款APP处于发展的初期阶段,可能会在用户使用的过程中出现一些问题,团队会不停地对软件进行维护和修复bug,让用户拥有更好的体验。此外,在功能方面也会进一步完善增加,其中扫描图书后面的二维码上传书籍的功能正在研发中,应该会在下一个版本中出现,用户也可以通过反馈功能给我们提出建议或者发邮件给我们,我们会根据广大用户共同的喜好去完善APP的功能,让用户能更好的去使用“易书APP”。

参考文献:

[1]糊涂熊.移动互联网时代的9大赚钱机会.[EB/OL]http://www.jianshu/p/2c7c2fdadd5a2014.10.08

[2]罗文.Android应用开发教程[M].北京:机械工业出版社,2013.09

[3]Clifton.I,G.Android用户界面设计[M].北京:电子工业出版社,2013.09

作者简介:

李晓康,安徽三联学院计算机工程学院。

王成田,安徽三联学院计算机工程学院。

指导教师:

张德青,硕士,讲师,安徽三联学院计算机工程学院,研究方向:信息管理。
   

热门书籍

热门文章