《电子技术应用》

Bmob云平台在Android App开发中的应用

2015年微型机与应用第1期 作者:周 冉,高玉竹
2015/12/9 20:20:00

  摘  要: 详细介绍了Bmob云平台的功能:数据服务、文件服务、用户管理、消息推送,以及这些功能在Android App中的应用。利用Android App“游戳”来具体说明Bmob云平台在App的开发过程中对于解决所涉及到的数据、文件及用户管理问题所起的作用,并且对于云平台今后的发展做了展望。

  关键词: Bmob;云平台;Android

0 引言

  随着Android系统在手机和平板市场的普及[1-3]以及Android App越来越多地出现,Android App也吸引了很多开发者的加入。传统的网络数据存储、用户管理、消息推送等功能都需要数据库以及服务器的支持,个人开发者要是想在App中加入这些功能,就必须学习Java、xml语言之外的其他语言,例如.net、php、spq,增加了开发App的难度,并且搭建服务器也额外增加了开发成本。Bmob云平台简化了这一过程,使开发者能够将更多的精力投向软件功能的改善和界面的美化设计,使应用的开发变得更加简单。

1 Bmob云平台的介绍

  Bmob云平台能为移动应用提供一个完整的后端解决方案,利用官方提供的SDK,在App中进行调用,便可以很方便地进行网络数据的存储和下载。目前Bmob提供的能够使得Android App开发更加便捷的服务主要有以下几种。

  1.1数据服务

  Bmob提供了网页后台可以进行数据表的添加、删除等操作,不仅可以手动输入添加数据,还可以直接上传csv格式的文件,对手动添加大量数据特别有利。Bmob支持String、Number、Boolean、Date、Array等常用的数据类型,能够满足大多数应用的要求。

  1.2 文件服务

  Bmob可以方便地上传和下载文件,并且存储空间没有限制。下载图片类型的文件时,可以选择下载缩略图还是原图,在一定程度上可以缩短页面的加载时间。

  1.3 消息推送

  消息推送[4]在Android开发中算是一个难度比较大的部分,在Bmob中,只需要在网页中填写一些时间信息和推送内容信息就可以让Bmob来实现消息推送了,并且可以指定发送的用户对象。

2 Bmob云平台在“游戳”开发中的运用

  “游戳”是一个旅游社交类的Android App。用户可以注册一个账号,查看某市的旅游景点和美食,可以在这些地点打卡标记自己已经去过,并分享图片和感想,同时可以看到其他用户的打卡信息,浏览别人的图片和感想。特别地,在自己的个人页面中,还可以通过地图的方式直观地查看自己去过的地方。在“游戳”这个App中,所有的信息,包括用户的个人信息、打卡信息、景点信息,都存储在Bmob云平台中,这样不仅使得本地客户端占用SD卡的空间很小,还让景点的信息更新更加便捷,直接在Bmob的管理平台中操作即可。“游戳”使用的是Bmob提供的Android SDK 3.16版本。开发者需要在Bmob网站中注册一个账户,创建一个应用,即可取得一个APPID,把这个APPID填入java代码中的合适位置,就可以使具体的App和Bmob后台与这个App存储的数据对应起来。密钥方式和Google Map API的认证方式有些类似。图1为“游戳”的主界面。

001.jpg

  2.1 用户信息管理

002.jpg

  “游戳”要求用户注册后才能使用,图2是用户的注册和登录界面。用户在注册后,其用户名、密码和邮箱会保存在Bmob云平台对应的用户表中。当然,即使是开发者,在Bmob后台中也看不到用户输入的密码信息,这样也保护了用户的账户安全。用户注册后,就可以使用刚刚注册的用户名和密码登录App了。登录以后,还可以利用侧边栏中的“个人信息”按钮进行密码、邮箱、头像、性别等信息的完善和修改。在Java端,只需要几句代码就可以完成注册、登录、修改信息的功能。

  2.2 景点信息管理

003.jpg

  “游戳”收录了台北市的景点和美食信息。这些信息保存在Bmob云平台中的地点信息的数据表中,并且在地图上分别用红色标记和蓝色标记来区分景点和美食。景点的信息包括景点名称、地址、电话、图片、简介和有几人次在这个地方打卡。地点的信息可以通过cvs格式的文件直接导入到数据库中。图3是地点以标记的形式呈现在地图上(此处为了方便观察,只呈现了部分地点的标记),以及地点的详细信息。这样,一旦某个景点信息有变动,或者需要增加、删除某些地点,只需要在Bmob后台的地点数据库中进行操作,而不需要发布App的新版本。

  2.3 用户动态管理

004.jpg

  用户可以通过“盖戳”页面(如图4左半)进行盖戳打卡,表明自己来过这一地点。可以在文字框中输入一些自己想说的话,还可以拍照或者从相册中选取图片上传。用户发布过自己的信息后,可以在首页所有人的动态中看到自己发布的动态,当然在这里还能看到其他所有用户的动态,也可以在自己的个人页面中看到自己发布的内容,也能够随时删除自己发布的内容。另外,还可以通过地图的方式查看自己去过哪些地方,直观且简洁。发布内容是将地点信息、文字内容和图片内容保存到Bmob后台中关于打卡动态的数据表中,需要显示个人去过哪些地方的时候,是将以上数据表中关于这个账户的打卡信息提取出来,再放到地图中去。图4右半是所有人动态中某个动态的详情。

  2.4 其他运用

  “游戳”还可以推荐新的地点信息,方便在用户发现一个App中没有收录的景点或者美食时让开发者推荐,这一功能是在Bmob端建立一个新的数据表,保存推荐地点的名称、经纬度和描述,开发者在Bmob自己的应用中就可以查看这个表。Bmob还提供应用官网服务,即这个App可以有一个专属网址,这样一来,可以让App有一个更好的展示平台,也让用户能方便、快捷地下载应用。

3 Bmob云平台与传统服务器的比较

  Bmob云平台是一个新推出的移动应用云存储平台,对于开发者在开发应用时来说它与传统的搭建服务器来完成网络任务的方式有着很大的区别。传统搭建服务器的方式在硬件上能够自己掌握服务器的情况、配备,不论是自己搭建还是租用别人的都需要一定的费用,在软件中也需要学习服务器的相关语言和搭建,会花费更多的学习时间。Bmob云平台则是利用已经搭建好的服务器,硬件方面不需要开发者再做投入,软件方面则是在源代码中加入对SDK的调用。对于对服务器的稳定性和数据的安全性要求非常高的专业的Android App开发团队来说,还是选择自己搭建服务器比较放心[5-7],而对于一些个人开发者或者小型的开发团队来说,使用简单、投入少的Bmob云平台就是很好的选择了。

4 对于云平台网络服务的展望

  在电子、软件领域,有很多技术对于入门者或者非专业人员来说都有着很简单的处理方法。例如单片机,现在不需要每个开发者都懂得芯片的工作原理,只需要调用芯片对应的库文件就可以进行开发,也不需要懂得模拟电路、LCD、串口等外围电路的连接,只需要使用开发板就可以对外设进行控制。例如Windows中的软件开发,开发者也不需要了解对话框、按钮等的设计,直接可以通过VB中的模块拖拉来完成。所以,在电子科技领域,高端的技术应该是逐渐被简单化、平民化,让更多的人了解和使用。以此类推,对于Android App个人开发者来说,能够掌握从实际功能开发、后端数据处理到前端用户体验设计的所有知识是最好的。但是大多数的个人开发者不具备所有的能力,所以有Android Inventor的出现让不会Java的开发者能够开发Android App的功能,有DroidDraw的出现帮助开发者进行界面的设计,Bmob云平台的出现自然也解决了后端设计这一大难题。Bmob也利用了网络服务器+数据库这一平台集成了更多的功能,例如聊天组件、账号关联服务,这些服务是将这个云平台和App的具体功能结合起来,变成SDK供用户下载使用。相信Bmob以后还会出现更多基于云平台的SDK。2011年12月1日,在北京大学举行了“基于云平台的战略新兴产业发展研讨会”[8],可见,我国已经对云平台的发展有了很大的关注,所以,有理由相信,类似于Bmob云平台这样的能完成后端设计的各种云平台将会越来越多,在业内形成良好的竞争,帮助开发者们使Android的开发变得更加容易。当然,云平台还面临着数据安全、隐私保护等许多问题[9],这些问题也是开发者在使用过程中必须考虑的。

参考文献

  [1] 韩基龙.试谈Android移动云应用的优势和发展趋势[J]. 电脑编程技巧与维护,2014(6):58-59.

  [2] 刘昌平,范明珏,王光卫,等.Android手机的轻量级访问控制[J].计算机应用研究,2010,27(7):2611-2613,2618.

  [3] 蒋邵林,王金双,张涛,等.Android安全研究综述[J].计算机应用与软件,2012,29(10):205-210.

  [4] 倪红军.基于Android平台的消息推送研究与实现[J].实验室研究与探索,2014,33(5):96-100.

  [5] CHAUDHUR A. Language based security on Android [C].Proceedings of the ACM SIGPLAN Fourth Workshop on Programming Languages and Analysis for Security, New York, 2009:1-7.

  [6] ZHANG Y, REN S, CHEN S, et al. DifferCloudStor: Differentiated quality of service for  cloud storage[J]. Magnetics, IEEE Transactions on, 2013,49(6):2451-2458.

  [7] 王晓萍,孟坤.基于可信第三方实现多云平台的交互和选择[J].计算机与现代化,2014,221(1):104-108.

  [8] 曾宇,潘陈辰.基于云平台的战略新兴产业发展研讨会综述[J].经济学动态,2011(12):143-144.

  [9] 张建勋,古志民,郑超.云计算研究进展综述[J].计算机应用研究,2010,27(2):429-433.


继续阅读>>