Bmob的使用

Bmob的使用

app --> build.gradle
dependencies {

    implementation 'androidx.appcompat:appcompat:1.1.0'
    implementation 'com.google.android.material:material:1.1.0'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    testImplementation 'junit:junit:4.+'
    androidTestImplementation 'androidx.test.ext:junit:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'

    implementation 'io.github.bmob:android-sdk:3.8.4'
    implementation "io.reactivex.rxjava2:rxjava:2.2.8"
    implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'
    implementation 'com.squareup.okhttp3:okhttp:4.8.1'
    implementation 'com.squareup.okio:okio:2.2.2'
    implementation 'com.google.code.gson:gson:2.8.5'
}
app–>src–>main–>AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.demo">

    <application
        android:name=".DemoApplication"
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/Theme.Demo">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <provider
            android:name="cn.bmob.v3.util.BmobContentProvider"
            android:authorities="com.example.demo.BmobContentProvider">
        </provider>

    </application>

    <!--允许联网 -->
    <uses-permission android:name="android.permission.INTERNET" />
    <!--获取GSM(2g)、WCDMA(联通3g)等网络状态的信息  -->
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <!--获取wifi网络状态的信息 -->
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <!--保持CPU 运转,屏幕和键盘灯有可能是关闭的,用于文件上传和下载 -->
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <!--获取sd卡写的权限,用于文件上传和下载-->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <!--允许读取手机状态 用于创建BmobInstallation-->
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />

</manifest>
DemoApplication
package com.example.demo;

import android.app.Application;
import android.util.Log;

import cn.bmob.v3.Bmob;

public class DemoApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        Log.e("DemoApplication", "onCreate");
        Bmob.initialize(this, "***********************");
    }
}

activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    android:orientation="vertical">

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="添加一个人"
        android:id="@+id/btn_add_person"/>

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="获取一条数据"
        android:id="@+id/btn_get_person"/>

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="修改一条数据"
        android:id="@+id/btn_update_person"/>

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="删除一条数据"
        android:id="@+id/btn_del_person"/>

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="查询多条数据"
        android:id="@+id/btn_query_person"/>

</LinearLayout>
MainActivity
package com.example.demo;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

import java.util.List;

import cn.bmob.v3.BmobQuery;
import cn.bmob.v3.exception.BmobException;
import cn.bmob.v3.listener.FindListener;
import cn.bmob.v3.listener.QueryListener;
import cn.bmob.v3.listener.SaveListener;
import cn.bmob.v3.listener.UpdateListener;

public class MainActivity extends AppCompatActivity {
    private Button btn_add_person;
    private Button btn_get_person;
    private Button btn_update_person;
    private Button btn_del_person;
    private Button btn_query_person;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        btn_query_person = findViewById(R.id.btn_query_person);
        btn_query_person.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                BmobQuery<student> studentBmobQuery = new BmobQuery<>();
                // 等于
//                studentBmobQuery.addWhereEqualTo("age", 20);
//                studentBmobQuery.addWhereNotEqualTo("name", "曹阳");
                // 小于
//                studentBmobQuery.addWhereLessThan("age", 20);
                studentBmobQuery.addWhereLessThanOrEqualTo("age", 20);
                studentBmobQuery.findObjects(new FindListener<student>() {
                    @Override
                    public void done(List<student> list, BmobException e) {
                        if(e == null){
                            Toast.makeText(MainActivity.this,"查询成功 " ,
                                    Toast.LENGTH_SHORT).show();
                            for(student s : list){
                                Log.e("findObjects", s.toString());
                            }

                        }else{
                            Toast.makeText(MainActivity.this,"查询失败 e="+ e.toString(),
                                    Toast.LENGTH_SHORT).show();
                        }
                    }
                });
            }
        });

        btn_del_person = findViewById(R.id.btn_del_person);
        btn_del_person.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //bb09655c7d
                student s = new student();
                s.delete("bb09655c7d", new UpdateListener() {
                    @Override
                    public void done(BmobException e) {
                        if(e == null){
                            Toast.makeText(MainActivity.this,"删除成功 " ,
                                    Toast.LENGTH_SHORT).show();
                        }else{
                            Toast.makeText(MainActivity.this,"删除失败 e="+ e.toString(),
                                    Toast.LENGTH_SHORT).show();
                        }
                    }
                });
            }
        });

        btn_update_person = findViewById(R.id.btn_update_person);
        btn_update_person.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                student s = new student();
                s.setAddress("广州塔");
                s.setAge(30);
                s.update("0a7172c986", new UpdateListener() {
                    @Override
                    public void done(BmobException e) {
                        if(e == null){
                            Toast.makeText(MainActivity.this,"更新成功 " ,
                                    Toast.LENGTH_SHORT).show();
                        }else{
                            Toast.makeText(MainActivity.this,"更新失败 e="+ e.toString(),
                                    Toast.LENGTH_SHORT).show();
                        }
                    }
                });
            }
        });

        btn_get_person = findViewById(R.id.btn_get_person);
        btn_get_person.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                BmobQuery<student> personBmobQuery = new BmobQuery<>();
                personBmobQuery.getObject("0a7172c986", new QueryListener<student>() {
                    @Override
                    public void done(student s, BmobException e) {
                        if(e == null){
                            Toast.makeText(MainActivity.this,"查询成功 "+ s.toString(),
                                    Toast.LENGTH_SHORT).show();
                        }else{
                            Toast.makeText(MainActivity.this,"查询失败 e="+ e.toString(),
                                    Toast.LENGTH_SHORT).show();
                        }
                    }
                });
            }
        });

        btn_add_person = findViewById(R.id.btn_add_person);
        btn_add_person.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
//                addPerson();
                addStudent();
            }
        });
    }

    private void addStudent() {
        student s = new student();
        s.setAge(20);
        s.setName("曹阳");
        s.setClass_name("19软件4班");
        s.setAddress("广州市天源路789号");
        s.save(new SaveListener<String>() {
            @Override
            public void done(String s, BmobException e) {
                if(e == null){
                    Toast.makeText(MainActivity.this,"保存成功 s="+ s,
                            Toast.LENGTH_SHORT).show();
                }else{
                    Toast.makeText(MainActivity.this,"保存失败 e="+ e.toString(),
                            Toast.LENGTH_SHORT).show();
                }
            }
        });
    }

    private void addPerson() {
        Person person = new Person();
        person.setAge(20);
        person.setName("刘威");
        person.save(new SaveListener<String>() {
            @Override
            public void done(String s, BmobException e) {
                if(e == null){
                    Toast.makeText(MainActivity.this,"保存成功 s="+ s,
                            Toast.LENGTH_SHORT).show();
                }else{
                    Toast.makeText(MainActivity.this,"保存失败 e="+ e.toString(),
                            Toast.LENGTH_SHORT).show();
                }
            }
        });
    }
}
Person
package com.example.demo;

import cn.bmob.v3.BmobObject;

public class Person extends BmobObject {
    String name;
    Number age;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Number getAge() {
        return age;
    }

    public void setAge(Number age) {
        this.age = age;
    }
}

student
package com.example.demo;

import cn.bmob.v3.BmobObject;

public class student extends BmobObject {
    String name;
    Number age;
    String class_name;
    String address;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Number getAge() {
        return age;
    }

    public void setAge(Number age) {
        this.age = age;
    }

    public String getClass_name() {
        return class_name;
    }

    public void setClass_name(String class_name) {
        this.class_name = class_name;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }
}

用户注册登录注销、获取当前用户

1、创建MyUser类

package com.example.demo;

import cn.bmob.v3.BmobUser;

public class MyUser extends BmobUser {
    String name;
    Number age;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Number getAge() {
        return age;
    }

    public void setAge(Number age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "MyUser{" +
                "usernmae = " + getUsername() +
                ", name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

2.在主界面中进行测试

package com.example.demo;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

import cn.bmob.v3.Bmob;
import cn.bmob.v3.BmobUser;
import cn.bmob.v3.exception.BmobException;
import cn.bmob.v3.listener.SaveListener;

public class MainActivity extends AppCompatActivity {
    private Button btn_reg;
    private Button btn_login;
    private Button btn_logout;
    private Button btn_get_user;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //第一:默认初始化
        Bmob.initialize(this, "***********************");

        btn_login = findViewById(R.id.btn_login);
        btn_login.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                MyUser myUser = new MyUser();
                myUser.setUsername("zhangsan");
                myUser.setPassword("zhangsan");
                myUser.login(new SaveListener<MyUser>() {
                    @Override
                    public void done(MyUser myUser, BmobException e) {
                        if(e == null){
                            Log.e("Bmob","登录成功 " + myUser.toString());
                        }else{
                            Log.e("Bmob","登录失败 " + e.toString());
                        }
                    }
                });
            }
        });

        btn_get_user = findViewById(R.id.btn_get_user);
        btn_get_user.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                MyUser myUser = BmobUser.getCurrentUser(MyUser.class);
                if(myUser == null){
                    Toast.makeText(MainActivity.this, "您还未登录",
                            Toast.LENGTH_SHORT).show();
                }else {
                    Log.e("Bmob", "myUser = " + myUser.toString());
                }
            }
        });

        btn_logout = findViewById(R.id.btn_logout);
        btn_logout.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                BmobUser.logOut();
            }
        });

        btn_reg = findViewById(R.id.btn_reg);
        btn_reg.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                MyUser myUser = new MyUser();
                myUser.setUsername("zhangsan");
                myUser.setPassword("zhangsan");
                myUser.setName("张三");
                myUser.setAge(20);
                myUser.signUp(new SaveListener<MyUser>() {
                    @Override
                    public void done(MyUser myUser, BmobException e) {
                        if(e == null){
                            Log.e("Bmob","注册成功 " + myUser.toString());
                        }else{
                            Log.e("Bmob","注册失败 " + e.toString());
                        }
                    }
                });
            }
        });

    }
}
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值