搭建云服务器自己搭建虚拟主机


搭建云服务器自己搭建虚拟主机

云系统的出现,让我们的整个生活都发生了巨大的改变,在Android的世界里也不例外。本章就向读者介绍一个在云端的服务器,让移动开发能够方便的去通过实现移动端的后端服务。

随着云这个概念不断深入我们的生活各个方面,现在不管什么东西,不带点云都不好意思出门了。作为时间简短前沿的移动平台,Android自然时赶上时代潮流,将云带入了Android的各个方面,其中“移动后端即服务”就是一个典型的例子。

移动后端即服务——BackendasaService也叫Baas。说白了,Baas就是帮我们把服务器端的东西全部打包了,做移动端的人不用再考虑如何写服务器、如何设计数据库、搭建服务器等,它把这一切都放在了云端,用户只需要调用API接口,就可以实现网络功能。曾经有多少开发者,立志于做一个优秀的App,但是移动端好说,毕竟是干这一行的,但对于开发服务端,很多移动开发者就不是很精通了,特别是还要租服务器、买域名、管理网站做推广等,这些就让很多开发者望而却步了。但现在有了Baas为我们提供强大的后端支持,移动开发这就可以将大部分经理放在App本身上,不得不说,这的确是一个非常好的服务。

Bass的概念最早来源于国外的一些网站,比较老牌的有StackMob和Parse。后来Baas便如雨后春笋一般发展壮大起来,Amazon、Kinvey等都先后加入了Bass的舞台。当然国内的Bass发展也非常迅速,除了再中国最早做Bass的Bmob以外,还有原子云、AVOSCloud、百度frontia、华为PowerApp等,大家都在分析Baas这一新兴概念的“蛋糕”。

通常Bass平台会为开发者提供一系列的云端服务,一般包括数据存储、消息推送、文件服务、API分析、应用统计、移动官网等。不同的Bass提供的服务各有不同,也各有侧重点。下面2图展示了两家不错的Baas服务提供商。

了解了Bass的强大优势,下面我们以Bmob为例来讲解如何利用Baas再云端搭建移动平台的服务器端。

Bmob官网商已经有了比较详细的开发配置文档和API文档,不过我们还是来实际操作一下会比较好。

进入网站选择创建应用,创建好后,系统就会生成三个唯一的KEY。这些KEY就是APP的身份证。

注意:在这里说一下我为什么不下载SDK,放到libs文件夹中,如果使用这种方法,在运行时会报初始化错误

Java.lang.UnsatisfiedLinkError:.bmob.v3.helper.BmobNative.init(android.content.Context,java.lang.String)(_bmob_v3_helper_BmobNative__bmob_v3_helper_BmobNative_init__Landroid_content_Context_2Ljava_lang_String_2)。。。。。

这里的ApplicationID就是前面创建应用时生成的Key。通过这样一句简单的代码,就完成了整个Bmob项目的准备工作。下面以一个提交反馈的小李子来看看Bmob的数据存储功能。

本例中的代码我分享到CSDN,链接:/download/chenjian723122704/10198247

要使用Bmob的数据服务,首先需要创建一个BmonObject对象。在Bmob中,BmonObjec就相当于数据库中的一张表,每个属性就相当于表的字段,而每一个BmonObjec对象自然就相当于表里的一行数据,这点与很多的Web的数据持久化框架差不多,都是通过面向对象的方式来操纵数据。为了简单,我们设计了两个基本的属性,并给它们提供了get/set方法,代码如下所示。

通过调用BmobObject的save方法,就可以将一个BmobObject对象,保存到云服务器中,同时产生一个回调方法,通过回调来获取到save成功与失败的状态,并进行相应的操作。

通过调用BmobObject的save方法,就可以将一个BmobObject对象,保存到云端服务器中,同时产生一个回调方法,通过回调来获取到save成功与失败的状态,并进行相应的操作。

通过BmobQuery,创建一个查询对象,并使用findObjects方法来获取数据,与save方法方法一样,成功与失败可以做相应的操作。

此外,如果你要查询条件下的数据也非常简单,上面的操作就好比SQL中的Select*fromtable_feedback,那么就像在SQL中增加Where条件一样,代码如下所示。

通过addWhereEqualTo等各种方法,就相当于我们给SQL语句增加了Where等条件语句一样,Bmob所支持的条件查询语句图下图所示。

除了提供数据服务这一基本功能外,Bmop的推送功能也是十分强大的。在前面的基础上,再来给App增加一个推送的功能。

这里配置了BmopSDK中所需要用到的组件。Bmop也是基于长连接的推送服务,因此也会有一个Service来保存推送服务,最后一个receiver则是我们自己定义的receiver,用来获取实现推送后的操作。

接下来,与初始化Bmobsdk一样,也需要再程序的入口处初始化Push服务,代码如下所示。

配置好这些以后,服务器的整个推送架构就完成了。只需要在程序中或者Web页面商发出一条消息,客户端就可以接收到Push的消息了,代码如下所示。

获取到消息会议Json的格式发送过来,所以可以简单地解析下Json字符串来获取消息地文本内容,代码如下所示。

获取到消息的文本内容后,就可以采取不同的操作了,可以以Toast的形式显示,也可以记录在App中,当然最常用的还是以Notification的形式通知出来。

当然,Bmob的功能远不止这么简单,以上案例演示了Bmob中最基本也是最常用的几个小功能,大家可以在它详细的API文档中找到更多更复杂的使用方法,如图所示。

通过前面的讲解,我们大致了解了如何通过使用移动后端服务来简化AndroidApp移动端的开发,目前市面上有很多类似的后端服务SDK,这里虽然只举了Bmob一个简单的例子,但是大部分的SDK使用方法基本与之类似,相信读者通过这个实例,可以掌握到其他后端服务SDK的使用方法了。

缩水王:请问你的seata是启动在本地还是在虚拟机这种?我启动在本地会有[code=plain]0101cause:cannotregisterRM,err:cannotconnecttoservices-server.[/code]这样的报错,说是内网映射不到

bestreven:给sentinel添加server.servlet.context-path:/sentinel后,所有的服务都无法注册上去,怎么破


1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。