LeanCloud使用入门(android)
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项,这时我们就完成了交互的所有操作
LeanCloud使用入门(android)的更多相关文章
- jni 入门 android的C编程之旅 --->环境搭建&&helloworld
需要进行jni的开发有一下几个条件: 1:能初步使用C/C++如果不会,请参读 谭浩强的 C编程语言 2:android应用开发已经基本入门,如果没有,请先行学习 这两个条件基本满足后,我们开始了: ...
- android 入门-android Studio git 克隆
最后是完成 以上是如何从android studio Git 克隆Github的项目
- android 入门-android自定义控件
第一种:继承View 实现自己的属性 <com.cc.imagewithmarkersample.MyView android:id="@+id/myviewid" andr ...
- android 入门-android Studio 解决方案
一.当提示 解决方案: 1. 2. 二.从这步到这步 的时候,可能遇见下面的问题. 解决方案: 更新一下build-tools 19.1.0版本 放到你的sdk里并重启as. 三. 当遇见这样的情况 ...
- android 入门-android Studio 配置
重要:sdk 最好先有一个版本 19版本.build-tools 19.1.0 extras 19.0和platforms android-19 1.下载android sdk 和jdk 并配置环境变 ...
- android 入门-android属性介绍
android:visibility="gone" 不保留view控件所占有的空间 隐藏 android:visibility="invisible" 保留 ...
- 入门Android开发
一个工作1年多一点的前端狗,由于公司需要,开始接触Android,也是第一次写博客,以后学到的技术每天都会写篇博客,让我们一起进步. Android 系统开发应用程序,为我们提供了哪些东西. 一.四大 ...
- 纯属娱乐,对入门Android有一定的帮助
package android.m9; import android.app.Activity; import android.os.Bundle; import android.view.Men ...
- 入门Android底层需要的一些技能
<Android的设计与实现> Android框架层<Linux系统编程手册> Linux系统编程<Android内核剖析> 编译框架和romC语言和Linux内核 ...
随机推荐
- JDK和JRE的区别?
很多朋友可能跟我一样,已经使用JAVA开发很久了,可是对JDK,JRE,JVM这三者的联系与区别,一直都是模模糊糊的. 今天特写此文,来整理下三者的关系. JDK : Java Development ...
- ACM竞赛常用STL(一)
全排列函数next_permutation STL 中专门用于排列的函数(可以处理存在重复数据集的排列问题) 头文件:#include <algorithm> using namespac ...
- 代码之美——Doom3源代码赏析1
http://www.csdn.net/article/2013-01-17/2813778-the-beauty-of-doom3-source-code/1 摘要:Dyad作者.资深C++工程师S ...
- ExtJS 4 类系统
ExtJS 4的类系统(class system)进行了一次重大重构,ExtJS4的新架构就是基于这套新的类系统构建的,因此有必要先了解以下这个class system这篇文章分为四章 I: &quo ...
- Unity3d webplayer获取url参数
Unity3d webplayer获取url参数 1.Unity中代码,在Start方法中调用了HTML的GetUrl方法!Application.ExternalCall( "SayHel ...
- hdu 5063 Operation the Sequence
http://acm.hdu.edu.cn/showproblem.php?pid=5063 思路:因为3查询最多50,所以可以在查询的时候逆操作找到原来的位置,然后再求查询的值. #include ...
- 几个Uboot命令
1 nand scrub 这个命令会擦除坏块信息,将坏块标识成好的,但此时这个坏块有潜在有危险,在特定条件下仍会造成数据的丢失,所以应该谨慎使用. Run U-boot and then use th ...
- 【动态规划】HDU 5781 ATM Mechine
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5781 题目大意: 一个人有[0,K]内随机的钱,每次可以随意取,但是不知道什么时候取完,取钱超过剩余 ...
- 【模拟】Codeforces 705B Spider Man
题目链接: http://codeforces.com/problemset/problem/705/B 题目大意: 两个人玩游戏,总共N个数,分别求前I(I=1 2 3...n)个数时游戏的获胜者是 ...
- 【模拟】Codeforces 704A & 705C Thor
题目链接: http://codeforces.com/problemset/problem/704/A http://codeforces.com/problemset/problem/705/C ...