搭建云服务器--移动应用开发

一、移动后端服务介绍

移动后端即服务--Backend as a Service也叫Baas。简而言之,Baas就是帮我们把服务器端的东西全部打包了,做移动端的人不用再考虑如何写服务器端、如何设计数据库、搭建服务器等,它把这一切都放在了云端。
Baas的概念最早来源于国外的一些网站,比较老牌的有StackMob和Parse。后来Amazon、Kinvey等都先后加入了Bass的舞台。国内的Baas平台,除了最早期的Bmob以外,还有原子云、AVOS Cloud、百度frontia、华为PowerApp等。
通常Baas平台会为开发者提供一系列的云端服务,一般包括数据储存、消息推送、文件服务、API分析、应用统计、移动官网等。不同的Baas提供商提供的服务各有不同,也各有侧重点。本文将以Baas为例,讲解如何利用Baas在云端搭建移动平台的服务器端。

二、使用Bmob创建移动后端服务

1、下载SDK,Bmob官网地址:  http://www.bmob.cn

20160208105100243 (282×514)
2、创建应用,将下载的SDK解压,把解压后的文件夹中所有的jar包都拷入项目的libs文件夹下;
3、在项目的AndroidMainfest.xml文件中添加相应的权限:
<uses-permission android:name="android.permission.READ_LOGS" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
4、初始化BmobSDK
一般在进入应用的第一个界面的逻辑中添加以下代码,即可实现SDK的初始化。
Bmob.initialize(this, "App ID");
第二个参数为应用的ID。 关于应用的ID,在官网注册之后,进入后台并创建应用,点击创建好的应用,在依次点击设置->应用密钥即可查看。
20160208112315640 (1093×624)
上述四步完成之后,整个Bmob项目的准备工作也就完成了。下面会以两个小例子测试创建好的应用。

三、数据服务

1、添加一行数据
(1)创建一个JavaBean,继承BmobObject。这个类中的属性与数据库中表的字段是一一对应的,表名与类名相同,即可以通过创建不同的JavaBean来实现表及表结构。
public class Person extends BmobObject {
    private String name;
    private String address;

    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getAddress() {
        return address;
    }
    public void setAddress(String address) {
        this.address = address;
    }
}


(2)添加一行数据
<span style="font-size:18px;">p2 = new Person();
p2.setName("lucky");
p2.setAddress("北京海淀");
p2.save(this, new SaveListener() {
   @Override
   public void onSuccess() {
       Toast.makeText(MainActivity.this, "添加数据成功,返回objectId为:"+
                p2.getObjectId(),Toast.LENGTH_SHORT).show();
   }

   @Override
   public void onFailure(int code, String msg) {
        Toast.makeText(MainActivity.this,"创建数据失败:" + msg,
            	Toast.LENGTH_SHORT).show();
   }
});</span>
如果Toast成功的消息,则可在后台对应的应用下看到新增一条数据(如果表没有创建,则会同时创建一张表,机应用中JavaBean对应的数据库表)
20160208115508496 (1341×247)
2、查找一条数据
<div style="text-align: left;"><span style="font-family: Arial;"><span style="font-size:18px;">BmobQuery<Person> bmobQuery = new BmobQuery<Person>();</span></span></div><div style="text-align: left;"><span style="font-family: Arial;"><span style="font-size:18px;">//第二个参数是Person表中,某条数据的id</span></span></div><div style="text-align: left;"><span style="font-family: Arial;"><span style="font-size:18px;">bmobQuery.getObject(this, "a9d6a5b713", new GetListener<Person>() {</span></span></div><div style="text-align: left;"><span style="font-family: Arial;"><span style="font-size:18px;">    @Override</span></span></div><div style="text-align: left;"><span style="font-family: Arial;"><span style="font-size:18px;">    public void onSuccess(Person object) {</span></span></div><div style="text-align: left;"><span style="font-family: Arial;"><span style="font-size:18px;">	Toast.makeText(MainActivity.this,"查询成功",</span></span></div><span style="font-size:18px;">            		Toast.LENGTH_SHORT).show();
    }
</span><div style="text-align: left;"><span style="font-family: Arial; text-align: left;"><span style="font-size:18px;"> </span></span></div><span style="font-size:18px;">       @Override
       public void onFailure(int code, String msg) {
</span><div style="text-align: left;"><span style="font-family: Arial;"><span style="font-size:18px;"><span style="white-space:pre">	</span>Toast.makeText(MainActivity.this,"查询失败:" + msg,</span></span><pre name="code" class="java" style="color: rgb(54, 46, 43); line-height: 26px; text-indent: 28px;"><span style="font-size:18px;"><span style="white-space:pre">	</span>Toast.LENGTH_SHORT).show();</span>
}
});
 
3、修改一条数据
<div style="text-align: justify;"><span style="font-family: Arial;"><span style="font-size:18px;">p2 = new Person();</span></span></div><div style="text-align: justify;"><span style="font-family: Arial;"><span style="font-size:18px;">p2.setAddress("北京朝阳");</span></span></div><div style="text-align: justify;"><span style="font-family: Arial;"><span style="font-size:18px;">//第二个参数是Person表中,某条数据的id</span></span></div><div style="text-align: justify;"><span style="font-family: Arial;"><span style="font-size:18px;">p2.update(this, "a9d6a5b713", new UpdateListener() {</span></span></div><div style="text-align: justify;"><span style="font-family: Arial; text-align: center;"><span style="font-size:18px;"><span style="white-space:pre">	</span>@Override</span></span></div><div style="text-align: justify;"><span style="font-family: Arial; text-align: center;"><span style="font-size:18px;"><span style="white-space:pre">	</span>public void onSuccess() {</span></span></div><div style="text-align: justify;"><span style="font-family: Arial;"><span style="font-size:18px;">		    	Toast.makeText(MainActivity.this,"更新成功:" + p2.getUpdatedAt(),</span></span></div><div style="text-align: justify;"><span style="font-family: Arial; text-align: center;"><span style="font-size:18px;"><span style="white-space:pre">				</span>Toast.LENGTH_SHORT).show();</span></span></div><div style="text-align: justify;"><span style="font-family: Arial; text-align: center;"><span style="font-size:18px;"><span style="white-space:pre">	</span>}</span></span></div><div style="text-align: justify;"><span style="font-family: Arial; text-align: center;"><span style="font-size:18px;"><span style="white-space:pre">	</span>@Override</span></span></div><div style="text-align: justify;"><span style="font-size:18px;"><span style="font-family: Arial;">         </span><span style="font-family: Arial; text-align: center;">public void onFailure(int code, String msg) {</span></span></div><div style="text-align: justify;"><span style="font-size:18px;"><span style="font-family: Arial; text-align: center;"><span style="white-space:pre">		</span>Toast.makeText(MainActivity.this,"更新失败:" + msg, </span><span style="font-family: Arial; text-align: center;"><span style="color: rgb(54, 46, 43); font-family: Arial; line-height: 26px; text-align: center; text-indent: 28px; white-space: pre; background-color: rgb(240, 240, 240);">Toast.LENGTH_SHORT).show();</span>	    </span></span></div><div style="text-align: justify;"><span style="font-family: Arial; text-align: center;"><span style="font-size:18px;"><span style="white-space:pre">	</span>}</span></span></div><div style="text-align: justify;"><span style="font-family: Arial;"><span style="font-size:18px;">});</span></span></div>
4、删除一条数据
<div style="text-align: justify;"><span style="font-family: Arial;">p2 = new Person();</span></div><div style="text-align: justify;"><span style="font-family: Arial;">p2.setObjectId("a9d6a5b713");</span></div><div style="text-align: justify;"><span style="font-family: Arial;">p2.delete(this, new DeleteListener() {</span></div><div style="text-align: justify;"><span style="font-family: Arial; text-align: center;"><span style="white-space:pre">	</span>@Override</span></div><div style="text-align: justify;"><span style="text-align: center; font-family: Arial;"><span style="white-space:pre">	</span>public void onSuccess() {</span></div><div style="text-align: justify;"><span style="font-family: Arial;"><span style="white-space:pre">	</span>	Toast.makeText(MainActivity.this,"删除成功",</span></div><div style="text-align: justify;"><span style="text-align: center; font-family: Arial;"><span style="white-space:pre">			</span>Toast.LENGTH_SHORT).show();</span><span style="text-align: center; font-family: Arial;">		    </span></div><div style="text-align: justify;"><span style="font-family: Arial;"><span style="white-space:pre">	</span>}</span><span style="font-family: Arial; text-align: center;">      </span></div><div style="text-align: justify;"><span style="font-family: Arial; text-align: center;"><span style="white-space:pre">	</span>@Override</span><span style="font-family: Arial;">		    	</span></div><div style="text-align: justify;"><span style="font-family: Arial; text-align: center;"><span style="white-space:pre">	</span>public void onFailure(int code, String msg) {</span></div><div style="text-align: justify;"><span style="font-family: Arial; text-align: center;"><span style="white-space:pre">		</span>Toast.makeText(MainActivity.this,"删除失败:" + msg,</span></div><div style="text-align: justify;"><span style="font-family: Arial; text-align: center;"><span style="white-space:pre">			</span>Toast.LENGTH_SHORT).show();</span></div><div style="text-align: justify;"><span style="font-family: Arial; text-align: center;"><span style="white-space:pre">	</span>}</span></div><div style="text-align: justify;"><span style="font-family: Arial;">});</span></div>
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1 硬件需求 1.1 基本配置 配件 数量 CPU 2核 内存 4G 硬盘 100G 1.2 最低配置 配件 数量 CPU 2核 内存 2G 硬盘 10G 2 软件需求 名称 分类 版本 Windows 操作系统 2003及以上 jdk Java虚拟机 1.5.x及以上 Tomcat Web服务器 5.x及以上 Easy do it (轻松互联网开发平台,简称轻开平台,原名WebEasy) 应用开发服务器 2014及以上 Access 数据库 97及以上 EditPlus 开发工具 2.x及以上 3 软件安装 4 发布 4.1 下载 Easy do it,轻松互联网开发平台(简称轻开平台,原名WebEasy)下载地址: CSDN下载频道:http://download.csdn.net/detail/tx18/8711175 百度云盘:http://pan.baidu.com/s/1eQElpom 官网:http://edoit.htok.net/ 最新更新的下载包:http://download.csdn.net/user/tx18 4.2 发布 复制webeasy目录到D:\下,然后进入%TOMCAT_HOME%\conf目录,用文本编辑器(如:EditPlus)打开server.xml文件,在“Host”标签下添加一“Context”标签: 保存退出并启动tomcat 5 编辑工具 轻开平台可以用任何网页或文本编辑器进行开发,我本人一直在使用EditPlus,以下推荐常用的编辑软件: • EditPlus EditPlus 是一款功能强大的文字处理软件。它可以充分的替换记事本,它也提供网页作家及程序设计师许多强悍的功能。支持 HTML、CSS、PHP、ASP、Perl、C/C++、Java、JavaScript、VBScript 等多种语法的着色显示。程序内嵌网页浏览器,其它功能还包含 FTP 功能、HTML 编辑、URL 突显、自动完成、剪贴文本、行列选择、强大的搜索与替换、多重撤销/重做、拼写检查、自定义快捷键,等等... EditPlus中文版包含在下载包中 6 开发 6.1 第一个json 新建一个扩展名json的文件,如one.json(下图) 然后录入如下内容 {"item":{ 土豆 1.24 KG T恤 68 件 可乐 2.20 瓶 书 51.24 本 @{item:name} @{item:price} @{item:unit} },"sort":@{int:@{item:getSuffix}+1} } 6.2 针对移动App(json格式)的规则及开发例子 除了基本开发标签语言及表达式(参见同一下载包中的开发手册)外,轻开平台特别针对移动App最常用的json文本格式开发的对应规则:  文件扩展名须为json(如:one.json)或用JspEasy扩展  文件内容须为闭合的json格式,静态内容则可直接书写json格式,如: {“item”: { … … },”other”:”other value” }  value属性参数表示输出不带引号的值,如: @{item:price} 输出:"pri
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值