Android高效率编码第三方SDK详解系列二Word文档格式.docx
《Android高效率编码第三方SDK详解系列二Word文档格式.docx》由会员分享,可在线阅读,更多相关《Android高效率编码第三方SDK详解系列二Word文档格式.docx(38页珍藏版)》请在冰点文库上搜索。
buildToolsVersion'
22.0.1'
defaultConfig{
applicationId"
cn.bmob.android"
minSdkVersion14
targetSdkVersion22
versionCode1
versionName"
1.0"
buildTypes{
release{
minifyEnabledfalse
proguardFilesgetDefaultProguardFile('
proguard-android.txt'
),'
proguard-rules.pro'
lintOptions{
abortOnErrorfalse
dependencies{
compilefileTree(dir:
libs'
include:
['
*.jar'
])
compile'
com.android.support:
appcompat-v7:
22.2.0'
//以下SDK开发者请根据需要自行选择
//bmob-sdk:
Bmob的androidsdk包
cn.bmob.android:
bmob-sdk:
3.4.5'
//bmob-push:
Bmob的推送包
bmob-push:
0.6'
//bmob-im:
bmob的im包,以下两个配置是im功能所需
bmob-im:
1.1.9'
3.4.3'
//okhttp(选填):
为解决弱网情况下SDK请求失败及响应慢的问题,自`V3.4.3版本`开始使用`okhttp`优化SDK的网络框架。
com.squareup.okhttp:
okhttp:
2.4.0'
com.squareup.okio:
okio:
1.4.0'
//bmob-sms:
Bmob单独为短信服务提供的包
bmob-sms:
1.0.1'
注:
1、如果你只需要Bmob提供的短信功能,那么你只需单独配置bmob-sms,如果你既需要bmob的数据服务,也需要短信服务,那么你只需要配置bmob-sdk即可。
2、每个版本的im都对应特定版本的bmob-sdk,如果你使用的是1.1.8版本的im,那么配套的bmob-sdk的版本为3.3.5。
使用的是1.1.9配套的bmob-sdk的版本为3.4.3.
3、与okhttp有关的配置依赖不是必填项,开发者可以不添加该依赖。
Eclipse
直接拷贝到lib目录下
下面的例子均在Eclipse环境下完成
2.添加权限
<
uses-permissionandroid:
name="
android.permission.INTERNET"
/>
android.permission.ACCESS_WIFI_STATE"
android.permission.ACCESS_NETWORK_STATE"
android.permission.READ_PHONE_STATE"
android.permission.WRITE_EXTERNAL_STORAGE"
android.permission.READ_LOGS"
3.初始化BmobSDK
publicclassMainActivityextendsActivity{
@Override
protectedvoidonCreate(BundlesavedInstanceState){
//TODOAuto-generatedmethodstub
super.onCreate(savedInstanceState);
//初始化BmobSDK
//使用时请将第二个参数ApplicationID替换成你在Bmob服务器端创建的ApplicationID
Bmob.initialize(this,"
YourApplicationID"
);
二.数据操作
首先我们把布局添加一下
layout_main.xml
LinearLayoutxmlns:
android="
xmlns:
tools="
android:
layout_width="
match_parent"
layout_height="
orientation="
vertical"
>
<
Button
id="
@+id/btn_add"
fill_parent"
wrap_content"
text="
添加数据"
/>
@+id/btn_update"
更新数据"
@+id/btn_delete"
删除数据"
@+id/btn_query"
查询数据"
/LinearLayout>
然后实例化这四个Button
privateButtonbtn_add,btn_update,btn_delete,btn_query;
btn_add=(Button)findViewById(R.id.btn_add);
btn_add.setOnClickListener(this);
btn_update=(Button)findViewById(R.id.btn_update);
btn_update.setOnClickListener(this);
btn_delete=(Button)findViewById(R.id.btn_delete);
btn_delete.setOnClickListener(this);
btn_query=(Button)findViewById(R.id.btn_query);
btn_query.setOnClickListener(this);
因为考虑到有四个点击事件,我们直接implementsOnClickListener这样也许更直观一点,所以onClick()方法就是这个样子了
publicvoidonClick(Viewv){
switch(v.getId()){
//添加数据
caseR.id.btn_add:
break;
//更新数据
caseR.id.btn_update:
//删除数据
caseR.id.btn_delete:
//查询数据
caseR.id.btn_query:
准备工作差不多都做完了?
No,还有一件非常重要的事情要做
1.创建JavaBean
我们新建一个类继承BmobObject,具体操作看注释
packagecom.lgl.bmobdemo;
importcn.bmob.v3.BmobObject;
/**
*javabean
*
*@authorlgl
*
*/
publicclassBeanextendsBmobObject{
/**
*这个javabean必须视情况而定,也就是你需要你的表上有什么信息你就加什么,当然,前提是,你的表单上有
*添加表单可以在Bmob应用控制-数据浏览页面操作,后续会讲到这里,我们假设有三个信息数据,分别是姓名,年龄,分数
privateStringname;
privateintage;
privateintscore;
publicStringgetName(){
returnname;
publicvoidsetName(Stringname){
this.name=name;
publicintgetAge(){
returnage;
publicvoidsetAge(intage){
this.age=age;
publicintgetScore(){
returnscore;
publicvoidsetScore(intscore){
this.score=score;
2.添加数据
其实就是调用了Bean的get,set方法
caseR.id.btn_add:
//new出这个bean
Beanbean=newBean();
//分别设置相应的信息
bean.setName("
刘桂林"
bean.setAge(20);
bean.setScore(100);
bean.save(this,newSaveListener(){
publicvoidonSuccess(){
//成功
Toast.makeText(MainActivity.this,"
保存成功"
1)
.show();
publicvoidonFailure(intarg0,Stringarg1){
//失败
保存失败"
Toast.LENGTH_LONG)
});
我们运行程序,然后点击添加数据,当弹出Toast说明保存成功后,我们回到Bmob官网,找到我们的项目,点击数据浏览,就会看到已经保存的信息,这个就是我们的后台了
3.更新数据
更新数据,就是更新一条数据的记录,就像你修改个人信息,本来是男,现在要修改成女一样,但是,我们必须知道一点,就是如下图所示的objectid
假设我先现在知道这个id,那我们的操作就可以这样
caseR.id.btn_update:
bean=newBean();
bean.setObjectId("
edec38a77d"
修改刘桂林"
bean.setScore(30);
bean.update(this,newUpdateListener(){
更新成功"
1).show();
更新失败"
break;
然后我们来运行程序,点击更新数据,然后我们回到后台去查看
4.删除数据
同样的,你要删除一条数据,你还得知道人家的objectid
caseR.id.btn_delete:
bean.delete(this,newDeleteListener(){
//成功
删除成功"
//失败
删除失败"
然后我们运行程序,点击删除数据后回到后台
可以看到,表明bean还在,但是数据已经被删除了
5.查询数据
这几个数据操作,唯一不同的就是查询了,他必须使用到一个查询的类BmobQuery
//BmobQuery<
要查询的数据表>
项目一般不会只有一张表的
BmobQuery<
Bean>
query=newBmobQuery<
();
query.findObjects(this,newFindListener<
(){
publicvoidonSuccess(List<
arg0){
查询成功"
+arg0.size(),1).show();
publicvoidonError(intarg0,Stringarg1){
查询失败"
然后我们点击查询之后,他返回的是一个List,这里我们就不详细看List里面有什么了,表里只有一条数据,我们直接Toast他的size
5.1条件查询
跟数据库操作是一样的,你可以根据条件来查询,看代码
caseR.id.btn_query:
//条件查询我们查询名称是刘桂林的数据
query.addWhereEqualTo("
name"
"
//Toast.makeText(MainActivity.this,"
for(Beanbean:
+bean.getName()+"
---"
+bean.getAge(),1).show();
运行的结果
5.2单条查询
//查询单条数据
query.getObject(this,"
9fe91ce9a6"
newGetListener<
publicvoidonSuccess(Beanbean){
Toast.makeText(MainActivity.this,bean.getName()+"
"
这里你要单条数据查询的话,你就必须只带objectid才行,这里就不演示了
三.登录,注册,更新资料,修改密码,邮箱验证
前面废话啰嗦了也有一大堆了,现在来聊聊实际点的东西,Bmob他毕竟是一个后台数据管理的平台,所以前面才说了一堆的数据操作,我们接下来要实现的功能就是用户的注册和登录。
1.注册
Bmob实现登录注册,还有邮箱验证的功能,其实就是利用上面的数据操作,也就是增删查改
我们进入后台会看到用户表单里面有一些字段
这里写图片描述
这可不是固定的,而是根据我们的需求可以增加或者删除的,默认的是最基本的
我们为了方便,新建一个工程BmobTest,然后把架包放在lib目录下,添加相应的权限以及在onCreate()方法里初始化Bmob,准备工作做完了之后,我们开始写代码:
我们还是用回上面的哪个Bean,因为用户名和密码是不需要复写的,不过这里特别需要注意的是,这次我们不是继承BmobObject,而是继承BmobUser;
**
我们要先搭建一个工程
activity_main.xml
http:
//
EditText
@+id/et_name"
hint="
请输入用户名"
@+id/et_pass"
请输入密码"
@+id/btn_login"
登录"
LinearLayout
layout_marginTop="
15dp"
horizontal"
TextView
and