基于Bmob的在线群聊之功能概述和注册登录功能
来源:互联网 发布:java商城分销系统源码 编辑:程序博客网 时间:2024/05/21 20:22
注意,该平台在学生阶段的使用免费功能是够用了的,所以不用担心价格。
一、项目实现的功能概述
1.首先要通过用户名邮箱和密码来进行注册,来获取进入应用的权限。可以设置只有通过邮箱激活才可以进行登录。
2.可以通过用户名或者邮箱密码来进行登录,如果登录过一次后,就可以实现像QQ一样不用每次都需要输入密码登录了,可以直接进入应用。
3.登录成功后可以选择已有群组进行聊天。
4.实现没有联网时可以查看聊天记录。
二、项目效果图(页面设计有点丑,别介意哈)
1.注册效果
2.登录效果
3.登录后的群聊页面效果
4.聊天效果图
三、准备工作
请到Bmob官网进行注册等一系列工作,然后查看快速开发的步骤,将相应的SDK下载好并复制到相应的工程位置。
注意:要使用文件发送也就是图片的话,就要下载新的demo,因为旧版不支持的,之前我就因为这样迟迟没有找到原因,使用新版的还要使用Android Studio开发工具,eclipse是不支持的。如果你不要求发送文件可以使用旧版的。这里我是使用新版本的。
备注:这里就不详细介绍怎么做准备工作了,官网的文档也十分详细。
这是旧版的Bmob的讲解视频密码:q5po,需要的可以拿走,我也是网上找到的。我认为看懂这个然后就慢慢摸着门路的。
四、实现注册的功能
准备工作完成后,我们就开始实现注册的功能吧。可能上面那一步会卡住如果是第一次接触Bmob的话,加油,坚持一下总会过去的。
如果你需要的用户的数据只是用户名,邮箱和密码,那就可以直接进行下一步操作了,因为Bomb默认的User_表已经有那几列了。
1.先说只要用户名,邮箱和密码的注册方法
private void register(){ String name = mName.getText().toString(); String email = mEmail.getText().toString(); String pass = mPass.getText().toString(); String pass2 = mPass2.getText().toString(); //对输入框的数据进行判断,只有符合要求才可以进行注册 if (TextUtils.isEmpty(name)) { Toast.makeText(RegisterActivity.this, "用户名不能为空", Toast.LENGTH_LONG).show(); return; } if (TextUtils.isEmpty(email)) { Toast.makeText(RegisterActivity.this, "邮箱地址不能为空", Toast.LENGTH_LONG).show(); return; } if (TextUtils.isEmpty(pass)) { Toast.makeText(RegisterActivity.this, "密码不能为空", Toast.LENGTH_LONG).show(); return; } if (!pass2.equals(pass)) { Toast.makeText(RegisterActivity.this, "两次输入的密码不同", Toast.LENGTH_LONG).show(); return; } //弹出加载的动画 final ProgressDialog progress = new ProgressDialog(RegisterActivity.this); progress.setMessage("正在注册...");//动画的信息 progress.setCanceledOnTouchOutside(false); progress.show();//显示动画 User user = new User();//这个是Bmob自带的User表 user.setUsername(name);//将输入的用户名保存到表的usernam的列 user.setPassword(pass);//将输入的密码保存到表的password的列 user.setEmail(email);//将输入的邮箱保存到表的email的列 //调用Bmob的注册方法User是你保存的表,user是你new的User的对象 user.signUp(new SaveListener<User>() { @Override public void done(User user, BmobException e) { if(e == null){//注册成功 progress.dismiss();//将进度的动画取消 Toast.makeText(RegisterActivity.this, "注册成功", Toast.LENGTH_LONG).show();//弹出吐司 BmobUser.logOut();//这里是退出登录 //这里是注册完成后跳转到登录的页面 Intent intent = new Intent(RegisterActivity.this,MainActivity.class); startActivity(intent); finish(); }else{//注册失败 Log.e(TAG, "done: ",e ); Toast.makeText(RegisterActivity.this, "注册失败", Toast.LENGTH_LONG).show(); progress.dismiss(); } } }); }
这里,如果有发邮件的,请到你的应用后台进行设置邮箱的信息。
注册成功后,你的后台的_User表会有你刚刚录入的信息。
2.要实现User添加其他列的用户表的实现
public class myUser extends BmobUser{//定义你自己的User表要继承BmobUser private String path;//这是你要添加的列名 //添加get、set方法 public String getPath() { return path; } public void setPath(String path) { this.path = path; }}
要实现自己的用户表,我们只需要把上面的User改为myUser就可以了。
五、实现登录的功能
这是没有邮箱验证也可以登录的
private void submit() { String name = mName.getText().toString(); String password = mPass.getText().toString(); if (TextUtils.isEmpty(name)) { Toast.makeText(MainActivity.this, "邮箱不能为空", Toast.LENGTH_LONG).show(); return; } if (TextUtils.isEmpty(password)) { Toast.makeText(MainActivity.this, "密码不能为空", Toast.LENGTH_LONG).show(); return; } final ProgressDialog progress = new ProgressDialog(MainActivity.this); progress.setMessage("正在登陆..."); progress.setCanceledOnTouchOutside(false); progress.show(); final BmobUser user = new BmobUser();//创建BmobUser对象 user.setUsername(name);//输入的用户名 user.setPassword(password);//输入的密码 //调用Bmob的登录方法 user.login(new SaveListener<BmobUser>() { @Override public void done(BmobUser bmobUser, BmobException e) { if(e == null){//登录成功 progress.dismiss(); Toast.makeText(MainActivity.this, "登陆成功", Toast.LENGTH_LONG).show(); //登录成功后跳转到聊天列表页面 Intent intent = new Intent(MainActivity.this, FirstActivity.class); startActivity(intent); finish(); }else { progress.dismiss(); Toast.makeText(MainActivity.this, "登录失败", Toast.LENGTH_LONG).show(); Log.e(TAG, "done: 失败", e); } } }); }
第一次登录的时候要有邮箱验证的代码如下:
只需把if(e == null)里面的内容改为以下的代码即可
if (user.getEmailVerified()) { Toast.makeText(MainActivity.this, "登陆成功", Toast.LENGTH_LONG).show(); Intent intent = new Intent(MainActivity.this, FirstActivity.class); startActivity(intent); finish(); } else { BmobUser.logOut(); //清除缓存用户对象 Toast.makeText(MainActivity.this, "请在邮箱中激活账户", Toast.LENGTH_LONG).show(); }
如果有登录过的用户,就不用登录了
private void denglu() { BmobUser user = BmobUser.getCurrentUser(); if(user != null) { // 允许用户使用应用 Intent intent = new Intent(MainActivity.this, FirstActivity.class); startActivity(intent); finish(); } }
到这里,就可以完成了注册和登录了。
- 基于Bmob的在线群聊之功能概述和注册登录功能
- android studio使用Bmob来实现登录注册的功能
- android studio使用Bmob来实现登录注册的功能
- Android基于Bmob群聊功能的实现
- Bmob后端云的使用(1)——入门指导及实现登录注册功能
- 智能厨房重构-使用Bmob后端云实现用户注册登录的功能。
- 智能厨房重构-使用Bmob后端云实现用户注册登录的功能。
- 基于Bmob平台的推送功能
- 基于Bmob后端云实现APP,登录功能--binbinyang
- 基于Bmob的在线群聊之群聊天的实现
- 用户登录和注册功能
- Bmob 后端云——史上最简单的注册功能
- Bmob-App用户登陆注册功能
- 利用bmob实现简单的注册和登录
- 基于Bmob云平台的android写日记带提醒功能
- Android实践——使用Bmob实现登录、注册等功能
- Android中登录和注册的功能和布局展示
- 171210之JavaWeb简单的登录注册功能实现
- 计算机网络--概述
- cannot load oci dll,193/87-navicate连接oracle的解决方法
- 26.享元模式
- [LeetCode 解题报告]013. Roman to Integer
- 解决mybatis在xml映射文件里面写sql时候没有提示
- 基于Bmob的在线群聊之功能概述和注册登录功能
- Leetcode 8. String to Integer (atoi)
- HTML5 简介与安装
- leetcode -- 566. Reshape the Matrix 【矩阵转换 + 不同数组下标映射】
- centos下yum安装mysql
- 10017---Spring中的事务管理
- 27.解释器模式
- codeforces 814D(25/600)
- Python XML解析