没有服务端的app就是个空壳,但对个人开发者而言,服务端的搭建和部署一直是个问题,目前的方法通常就是借助云服务器,这里记录下android app连接到SAE的使用,(顺便说一句,Bmob使用起来更简单),这篇文章通过一个家庭记账app来记录整个过程,源码链接在文章结束处,效果图如下
如图中数据由保存在SAE的MySQL来维护,那app如何来访问SAE的MySQL,首先SAE支持的是war包的上传,整个war包是通过一个已经写好连接数据库的代码的dynamic web工程导出的,然后app端再通过http来和整个dynamic web工程通信,这样就打通了整个通信过程,下面分几步来记录。
1. 首先看下SAE端需要做的事情,申请账号登录,建立应用等不赘述,建立完应用之后,点击进入应用首页,左侧菜单“服务管理”->"MySQL"->"点击初始化MySQL"->"管理MySQL",
这时打开了一个操作数据库的页面,注意上面的一 行: w.rdc.sae.sina.com.cn:3307 和 app_test ,这两个值在web工程中通过jdbc来访问数据库时会用到。
在向下面看就是 对数据库的一些操作, 可以新建一张表,或者通过SQL语句来创建,这里就看自己的需求了,下图为此应用需要的表结构
2. web工程的主要代码,是个HttpServlet, doGet中处理查询, doPost中处理新增操作,此工程WEB-INFO的lib文件夹下要添加一系列jar包,具体是哪些以及web.xml的内容一道在文章末尾处源码链接下载查看,
public class WebserviceTest2 extends HttpServlet {
/**
*
*/
private static final long serialVersionUID = 1L;
private List<InfoBean> list;
private String url = "jdbc:mysql://w.rdc.sae.sina.com.cn:3307/app_lifecost";
private String user = SaeUserInfo.getAccessKey();
private String password = SaeUserInfo.getSecretKey();
// private String url = "jdbc:mysql://localhost:3306/lcdb";
// private String user = "root";
// private String passw