如何利用bomb实现向云服务器插入数据

bomb

bomb提供免费移动应用云服务器 首页.
1.注册后新建应用,在设置中可看到以下信息
在这里插入图片描述
bomb sdk的导入
官方提供了两种导入SDK方法,推荐使用自动导入
1.在build.gradle(project)中添加maven仓库地址

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
        maven { url "https://raw.github.com/bmob/bmob-android-sdk/master" }
    }
}

2.在build.gradle(app)中添加依赖文件

 buildTypes {
        release {
              ....
            useLibrary 'org.apache.http.legacy'
        }
    }
}

3.在dependencies添加如下依赖

dependencies {
          .......
    compile 'cn.bmob.android:bmob-sdk:3.5.5'

    //bmob-push:Bmob的推送包
    compile 'cn.bmob.android:bmob-push:0.8'

    //bmob-im:Bmob的即时通讯包,注意每个版本的im依赖特定版本的bmob-sdk,具体的依赖关系可查看下面注释[2]
    compile 'cn.bmob.android:bmob-im:2.0.5@aar'
    compile 'cn.bmob.android:bmob-sdk:3.4.7-aar'

    //bmob-sms :Bmob单独为短信服务提供的包
    compile 'cn.bmob.android:bmob-sms:1.0.1'

    //如果你想应用能够兼容Android6.0,请添加此依赖(org.apache.http.legacy.jar)
    compile 'cn.bmob.android:http-legacy:1.0'
}

4.在AndroidManifest.xml文件下添加应用权限

  <!--允许联网 -->
    <uses-permission android:name="android.permission.INTERNET" />
    <!--获取GSM2g)、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" />

5.此时点击sync,可看到导入的SDK说明该步成功
在这里插入图片描述
初始化SDK
导入SDK后开始初始化SDK,在MainActivity的concreat()方法中初始化SDK
ps:在initialize中填入你自己的APPID。

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Bmob.initialize(this, "你的APPID");
    }
}

实现插入数据
一个数据对象(APP中创建的BmobObject类的子类)对应于Bmob后台的一个数据表。
1.于是我们在在Java文件夹下新建类继承BmobObject,并定义get和set方法。

public class Student extends BmobObject{
    private String no;
    private String name;

    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getNo() {
        return no;
    }
    public void setNo(String no) {
        this.no = no;
    }
}

2.在bomb中新建表并通过添加列的方式添加属性
PS:在后台加入的数据表中的表名,列名应与JavaBean中保持一致
在这里插入图片描述3.添加数据功能的实现
在MainActivity的concreat()方法中加入如下代码

Student st = new Student();
        st.setName("yf");
        st.setNo("201724100233");
        st.save(new SaveListener<String>() {
            @Override
            public void done(String objectId,BmobException e) {
                if (e == null) {
                    Toast.makeText(getApplication(), "添加数据成功" ,Toast.LENGTH_SHORT).show();
                } else {
                    Toast.makeText(getApplication(), "失败" +e.getMessage(),Toast.LENGTH_SHORT).show();
                }
            }
        });

4.上述步骤全部完成后运行APP,可在后台看到新插入的数据
在这里插入图片描述开发中遇到问题的总结
1.运行时出现无法识别字符"BmobException""toast"等
解决办法:虽然已导入sdk成功,但到Android stdio在代码编写时不自动导包(虽然已设auto import),可在编码时alt+enter实现导包
2.出现java.net.UnknownServiceException: CLEARTEXT… 报错
之前一直没用getmessage不知道错误在哪,只知道插入数据失败
在这里插入图片描述
解决办法:在application 元素中添加

android:usesCleartextTraffic=true

参考 链接.
……………………………………………………………………………手动分割
源码已上传: 链接.
1.修改使用自己的APPID
2.服务器后台创建相对应的数据表(自己重写Javabean类也可以)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yf_programmer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值