Bomb云demo,android应用程序开发

属性

BmobUser除了从BmobObject继承的属性外,还有几个特定的属性:

username: 用户的用户名(必需)。

password: 用户的密码(必需)。

email: 用户的电子邮件地址(可选)。

emailVerified:邮箱认证状态(可选)。

mobilePhoneNumber:手机号码(可选)。

mobilePhoneNumberVerified:手机号码的认证状态(可选)。

扩展用户类

很多时候,你的用户表还会有很多其他字段,如性别、年龄、头像等。那么,你需要对BmobUser类进行扩展,添加一些新的属性。我们新建一个继承于BombUser类的bean,然后添加新的属性就行。

  1. 我们现在系统生成的user表中创建一个用户:

这里写图片描述

或者我们通过代码来实现注册功能:

BmobUser bu = new BmobUser(); bu.setUsername("sendi"); bu.setPassword("123456"); bu.setEmail("sendi@163.com"); //注意:不能用save方法进行注册 bu.signUp(new SaveListener<UserBean>() { @Override public void done(UserBean s, BmobException e) { if(e==null){ toast("注册成功:" +s.toString()); }else{ loge(e); } } });

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

  • 11

  • 12

  • 13

  • 14

  • 15

2 然后我们通过下列方法来登录试试:

BmobUser bu = new BmobUser(); bu.setUsername(username); bu.setPassword(password); bu.login(new SaveListener<BmobUser>() { @Override public void done(BmobUser bmobUser, BmobException e) { if(e==null){ // toast("登录成功:"); showToast("登录成功"); //通过BmobUser user = BmobUser.getCurrentUser()获取登录成功后的本地用户信息 //如果是自定义用户对象MyUser,可通过MyUser user = BmobUser.getCurrentUser(MyUser.class)获取自定义用户信息 }else{ showToast(e.toString()); } } });

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

  • 11

  • 12

  • 13

  • 14

  • 15

  • 16

  • 17

或者用:

//UserBean是需要继承bombsdk中的BmobUser类的。 BmobUser.loginByAccount(username, password, new LogInListener<UserBean>() { @Override public void done(UserBean userBean, BmobException e) { if (userBean!=null){ //登录成功 doSomething }else { //登录失败 } } });

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

  • 11

如果用户在每次打开你的应用程序时都要登录,这将会直接影响到你应用的用户体验。为了避免这种情况,你可以使用缓存的CurrentUser对象。缓存的用户有效期为1年。

每当你应用的用户注册成功或是第一次登录成功,都会在本地磁盘中有一个缓存的用户对象,这样,你可以通过获取这个缓存的用户对象来进行登录:

BmobUser bmobUser = BmobUser.getCurrentUser(); if(bmobUser != null){ // 允许用户使用应用 }else{ //缓存用户对象为空时, 可打开用户注册界面… }

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

在扩展了用户类的情况下获取当前登录用户,可以使用如下的示例代码(MyUser类可参看上面):

UserBean userInfo = BmobUser.getCurrentUser(UserBean .class);

  • 1

获取userbean中的某个字段的内容:

//BmobUser中的特定属性 String username = (String) userInfo .getObjectByKey("username"); //MyUser中的扩展属性 Integer age = (Integer) userInfo .getObjectByKey("age"); Boolean sex = (Boolean) userInfo .getObjectByKey("sex");

  • 1

  • 2

  • 3

  • 4

  • 5

3 我们根据条件查询一个人的信息:

这是我们用用户名,手机号码,邮箱 共同来验证,匹配此内容的用户会返回,不匹配返回的List的size 为0 , 出错了会有e的返回。

BmobQuery<UserBean> query = new BmobQuery<>(); query.addWhereEqualTo("username", username).addWhereEqualTo("mobilePhoneNumber", tel).addWhereEqualTo("email", email); query.findObjects(new FindListener<UserBean>() { @Override public void done(List<UserBean> object, BmobException e) { if (e == null) { // toast("查询用户成功:"+object.size()); listener.onSuccess(); } else { // toast("更新用户信息失败:" + e.getMessage()); listener.onFailed(e.getErrorCode()); } } });

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

  • 11

  • 12

  • 13

  • 14

我们试着查询了一条信息,发现返回的信息就是我们注册的信息,只是不会给我们返回密码(password)的那个字段的值。

我们本来是想着根据几个信息查询出用户的所有信息,然后我们从里面取出来旧密码,然后就可以调用SDK的方法去修改密码来实现用户忘记密码的事件。但是发现行不通了。

通过旧密码来修改密码的方法为:

BmobUser.updateCurrentUserPassword("旧密码", "新密码", new UpdateListener() { @Override public void done(BmobException e) { if(e==null){ toast("密码修改成功,可以用新密码进行登录啦"); }else{ toast("失败:" + e.getMessage()); } } });

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

  • 11

  • 12

所以只能暂时改为 短信通知管理员 去在后台更改密码了。流程还是先根据条件去查询,查询成功后,让其输入一个新密码,然后弹出对话框询问是否将此内容发送给管理员,让其去帮助修改密码,修改成功后会有短信回复来通知用户。

4 退出登录

BmobUser.logOut(); //清除缓存用户对象 BmobUser currentUser = BmobUser.getCurrentUser(); // 现在的currentUser是null了

  • 1

  • 2

方向指示

====================================================================

我们要实现一个指南针的功能。而这种。利用手机的Sensor就可以简单的实现了。

  1. 我们先在布局中放置一张图片:这里写图片描述

  2. 布局代码为:

<TextView android:id="@+id/tvCompass" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:layout_margin="10dp" android:background="@mipmap/comp" />

  1. 获取手机的Sensor 并且实现对应的监听

//方向传感器的使用。指北针 SensorManager mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE); Sensor mAccelerometer = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER); Sensor mMagneticField = mSensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD); mSensorManager.registerListener(this, mAccelerometer, SensorManager.SENSOR_DELAY_NORMAL); mSensorManager.registerListener(this, mMagneticField, SensorManager.SENSOR_DELAY_NORMAL);

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

并且我们的Activity要 implements SensorEventListener

4 在 onSensorChanged 方法处理改变了的Sensor内容。

5 设置动画旋转图片。

6 指南针完整的代码下载地址点我

高德地图的使用

=======================================================================

高德控制台创建项目


  1. http://lbs.amap.com/ 高德LBS官网。

  2. 然后去创建一个号,然后登录。

  3. 点击头像旁边的控制台进入后台管理

  4. 进入后台管理之后,然后点击右上角创建新应用

  5. 弹出

这里写图片描述

  1. 上面的随便填。然后点击创建。

  2. 创建成功后就有了我们刚才创建的一条信息,最后面有个“添加新key”,点之。

  3. 弹出

这里写图片描述填写弹出框中的内容,然后勾选同意条款,然后点“提交”,就可以了。

  1. 这就是我们创建成功之后的key

这里写图片描述

  1. 至此,我们创建这一步就完成了。至于如何获取sha1,点吧

集成高德到项目中


  1. 从这里去下载sdk

  2. 在AS里面调整项目到project文件形式

这里写图片描述

  1. 将我们下载的sdk复制到 app下的lib文件夹中

这里写图片描述

  1. 然后右键上图的sdk,选择Add as library 选项。然后会出来如上图示的可以展开的小三角箭头。

  2. 添加我们下载的so文件到我们的项目中,复制粘贴呗,如果项目中没有jniLibs文件夹,我们需要先自己创建。然后将我们下载的so全部复制进去

这里写图片描述

  1. 配置key:

<application android:icon="@drawable/icon" android:label="@string/app_name" > <meta-data android:name="com.amap.api.v2.apikey" android:value="请输入您的用户Key"/> …… </application>

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

7 需要的权限:

//地图包、搜索包需要的基础权限 <!--允许程序打开网络套接字--> <uses-permission android:name="android.permission.INTERNET" /> <!--允许程序设置内置sd卡的写权限--> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!--允许程序获取网络状态--> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!--允许程序访问WiFi网络信息--> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!--允许程序读写手机状态和身份--> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <!--允许程序访问CellID或WiFi热点来获取粗略的位置--> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

  • 11

  • 12

  • 13

简单使用


  1. 再我们的布局中添加地图控件:

<com.amap.api.maps.MapView android:id="@+id/map" android:layout![](https://www.hualigs.cn/image/61dba891ed8ee.jpg) _width="match_parent" android:layout_height="match_parent" />

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
作为AI语言模型,我无法直接操作应用程序来完成androidbomb的注册。但我可以提供一些相关信息和指导。 首先,要注册一个Bmob账号,您需要前往Bmob官方网站进行注册。注册完成后,您需要创建一个Bmob应用,这将提供给您一些必要的信息,例如应用ID和密钥,以便您可以在项目中集成Bmob。 如果您想在Android应用程序中使用Bmob SDK,您必须在项目中添加Bmob SDK的依赖项。将以下行添加到app module的build.gradle中: ```gradle implementation 'cn.bmob.android:bmob-sdk:3.8.5' ``` 在创建Bmob应用程序之后,您将有一个应用程序ID,您需要在应用程序AndroidManifest.xml文件中添加以下行: ```xml <uses-permission android:name="android.permission.INTERNET" /> <application ... <meta-data android:name="BMOB_APPLICATION_ID" android:value="YOUR-BMOB-APP-ID" /> <meta-data android:name="BMOB_API_KEY" android:value="YOUR-BMOB-API-KEY" /> </application> ``` 请注意将“YOUR-BMOB-APP-ID”替换为您Bmob应用程序应用程序ID,“YOUR-BMOB-API-KEY”替换为您的Bmob API密钥。 完成上述步骤后,您可以使用Bmob SDK在您的Android应用程序中创建表格,添加或查询数据等操作。 至于Android的注册,具体步骤因应用程序而异,可以根据应用程序的需求来选择使用哪种注册方式,例如手机号码、电子邮件等。常用的方法包括使用Firebase认证、Google登录等方式来实现注册功能。要了解更多详细信息,请参考相关文档或教程。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值