Bomb云demo(1),36岁老码农现身说法

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

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级安卓工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Android移动开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Android)
img

学习交流

如果你觉得自己学习效率低,缺乏正确的指导,可以加入资源丰富,学习氛围浓厚的技术圈一起学习交流吧

群内有许多来自一线的技术大牛,也有在小厂或外包公司奋斗的码农,我们致力打造一个平等,高质量的Android交流圈子,不一定能短期就让每个人的技术突飞猛进,但从长远来说,眼光,格局,长远发展的方向才是最重要的。

35岁中年危机大多是因为被短期的利益牵着走,过早压榨掉了价值,如果能一开始就树立一个正确的长远的职业规划。35岁后的你只会比周围的人更值钱。

FRSNpcD-1711382936375)]

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Android)
[外链图片转存中…(img-jh8snCoR-1711382936375)]

学习交流

如果你觉得自己学习效率低,缺乏正确的指导,可以加入资源丰富,学习氛围浓厚的技术圈一起学习交流吧

[外链图片转存中…(img-Zy8eGjLF-1711382936376)]

[外链图片转存中…(img-D14XvbCe-1711382936376)]

群内有许多来自一线的技术大牛,也有在小厂或外包公司奋斗的码农,我们致力打造一个平等,高质量的Android交流圈子,不一定能短期就让每个人的技术突飞猛进,但从长远来说,眼光,格局,长远发展的方向才是最重要的。

35岁中年危机大多是因为被短期的利益牵着走,过早压榨掉了价值,如果能一开始就树立一个正确的长远的职业规划。35岁后的你只会比周围的人更值钱。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值