LeanCloud算是一个简单易用的云服务器,其中包含了强大的数据库支持,我们只需要将此服务器应用到本地的代码即可实现后台的存储与交互。
那么,如何简单实现本地代码和LeanCloud服务器的交互呢?下面我们详细解释:
首先,开发环境:Android Studio 1.5(下面简称AS)
第一步:使用AS创建一个工程,步骤如下,
然后一路狂点next,最后点finish,即完成创建
第二步:百度搜索进入LeanCloud官网,进行注册登录(我这里就直接登录进去了),界面如下
第三步:在服务器端创建应用,点击创建应用,“云数据库”是我命名的应用名称(注意,这里的名称可以随便写,与本地代码的应用名称没有关系)
点击创建,出现如下界面,这样你已经成功在服务器端创建了一个应用
现在我们点存储,可以看到初始创建的数据库,内容是空的
这个应用是独一无二的,因为此时此刻已经给其匹配了特定的App ID 和App Key,用来专门标识应用,我们可以点击上图中右上角的设置进入应用Key,如下图
第四步:下载封装好的sdk
在页面的右下角点击SDK下载进入界面
由于我们只进行简单的服务器连接使用,所以只需要基础模块,直接点击下载即可。
第四步:解压下载的压缩包文件(特别注意一定要解压,因为包里面还是包),解压之后得到以下5个jar包
将他们复制粘贴到AS项目的libs目录下,如图
现在导入的包下的文件没有显示,表明还没有应用到我们的程序当中,这时我们点击AS中菜单栏的编译按钮
我们会看到这时包中的文件夹全部显示,导入成功
这时我们需要在AndroidManifest.xml中添加一些联网请求的权限
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
第五步:在 Application 的onCreate方法调用AVOSCloud.initialize来设置您应用的 Application ID 和 Key:
这时为了方便交互,我们专门创建一个包app,包下创建一个类MyApplication继承Application来处理代码,如图:
在AndroidManifest.xml文件中注册这个类
在MyApplication的onCreate()方法中加入一行代码,
AVOSCloud.initialize(this,"2WGq1OsoGNQAlUe9CbAnBJfO-gzGzoHsz","f4qvMLMQPzAPPVzd41797RG6");
用来设置应用的 ID 和 Key,这样本地应用就实现了与后台云数据库一对一的交互。如下图
其中2WGq1OsoGNQAlUe9CbAnBJfO-gzGzoHsz是我们之前打开过的APP ID
f4qvMLMQPzAPPVzd41797RG6是之前打开过的App Key。这两个我们复制粘贴到这里就可以了
第六步:测试真实交互
在MainActivity的onCreate()方法中加入以下代码(注意name位置只能为英文)
AVObject testObject = new AVObject("testObject");//后台创建一个表名为testObject
testObject.put("name","王八");//向表中添加一列,列名为name
testObject.saveInBackground();//在后台进行保存
点击运行项目后,报错如下:
这个错误的大意是:两个jar包中META-INF文件内容重复
这时我们在build.gradle文件中加入几行代码,表示忽略该文件
packagingOptions{
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
}
如图位置
再次点击运行,这时我们发现项目完好地运行了起来。
第七步:查看后台数据库的变化
我们可以看到后台自动创建了一个名为testObject的表,然后添加了一行数据,添加了一列name项,这时我们就完成了交互的所有操作