android如何使用mob平台实现QQ登录以及分享功能

  • 1.在mob平台配置ShareSDK环境
    • 1.如何在mob平台创建应用
    • 2.获取你的`App Key`和`App Secret`(建议用自己的)
    • 3.点击SDK下载
    • 4.选择ShareSDK
    • 5.点击下载,就会弹出下载提示
    • 6.关于为什么只选择这些配置?
    • 7.我创建的QQ开发者平台应用
  • 2.把ShareSDK部署到android
    • 1.新建一个moudle或者project
    • 2.配置你的build.gradle(Project)文件
    • 3.配置你的build.gradle(Module)文件
      • 1.首先加入如图代码
      • 2.其次加入下图代码
      • 3. 解释一下关于为什么成功不了
    • 4.配置你的AndroidManifest.xml文件
    • 5.配置activity.xml文件。
    • 6.配置Activity.java文件
      • 1.记得把MobSDK.init里面的`AppKey和AppSecret`改为你自己申请你的。
      • 2.qq登录代码
      • 3.qq分享代码
      • 4.总体代码

个人感觉mob平台功能还是比较强大的,很多功能都可以通过他们平台来实现。如果想要测验源码的,可以评论出你的QQ邮箱,或者私聊发给你。

建议仔细观看每一个步骤,如果一个步骤没处理好,可能就会让你的这个功能无法实现。相信我一定可以成功的
废话少说,先看一下效果:

我们想了解mob平台更多实用的功能可以看一下我的其他博客:

android怎么实现手机号登录(2020最新版超详细Mob平台+SMSSDK)?

android教你怎么轻松实现手机推送功能,一步一步教你Mob+MobPush实现推送功能?

1.在mob平台配置ShareSDK环境

1.如何在mob平台创建应用

上面的博客我已经出过两期如何在mob平台创建应用,所以这里就不仔细说明了,如果不知道怎么在mob平台创建应用的,可以去看一下我们上面的那些博客。mob平台地址

下面为我创建的应用,如图所示,我们选择接入的接口为ShareSDK

2.获取你的App KeyApp Secret(建议用自己的)

获取你先创建应用的App Key和App Secret,这里主要告诉你在哪里找App Key和App Secret,因为等下需要用到。

3.点击SDK下载

4.选择ShareSDK


选择配置我们主要选择下方配置,然后点击保存配置(下面我会说明为什么只选择这些配置)

5.点击下载,就会弹出下载提示

6.关于为什么只选择这些配置?

可以从上图中看出,无论是QQ还微博,微信等都需要获取他们平台的appId和appKey如果你直接使用平台的提供的appId和appKey是不能成功的。如果我想要实现这些功能,我们得先去那些平台获取他的appId和appKey。因为获取过程太过于麻烦,我只获取了QQ平台的,下面是获取所有平台的链接地址。
获取所有平台appId的链接

7.我创建的QQ开发者平台应用

下面是我创建成功的应用,说实话QQ的这个服务确实挺慢的,一般审核需要几天,可以是免费的原因吧。下面是创建应用的步骤。
1.成为个人开发者。
2.创建移动应用。

2.把ShareSDK部署到android

1.新建一个moudle或者project

这个就不细说,比较简单。

2.配置你的build.gradle(Project)文件

如图所示,添加如图代码:

代码如下:

classpath "com.mob.sdk:MobSDK:2018.0319.1724"

3.配置你的build.gradle(Module)文件

1.首先加入如图代码


根据你的情况选择
代码如下,因为我的版本是android studio 4.2最新版,加入方法如下:

id 'com.mob.sdk'

如果是其他android studio 3点多的版本,添加方法代码:


apply plugin:'com.mob.sdk'

2.其次加入下图代码


加入代码如下(建议使用自己申请的appId和appKey,如果你使用的是我QQ申请的appId和appKey话,你是成功不了,关于为什么成功不了,我下面将会说明):

MobSDK {fp true //严格模式}MobSDK {appKey "31c48ca47c70e"appSecret "2d7adbfcd73363bbbe41aeff60e41e4f"ShareSDK {loopShare truedevInfo {SinaWeibo {appKey "568898243"appSecret "38a4f8204cc784f81f9f0daaf31e02e3"callbackUri "http://www.sharesdk.cn"}QQ {appId "101906011"appKey "676d885e518445fed4d7d2341ff2d56f"}TencentWeibo {appKey "801307650"appSecret "ae36f4ee3946e1cbb98d6965b0b2ff5c"callbackUri "http://www.sharesdk.cn"}QZone {appId "100371282"appKey "aed9b0303e3ed1e27bae87c33761161d"}}}}

3. 解释一下关于为什么成功不了

下面我创建的应用

我们可以看一下在QQ平台创建的应用包名和应用签名如下

然后我们在把他和我创建的android项目来对比一下
1.我的包名和他相同

2.我们可以看一下我们的MD5是否相同
第一步:如果查看你的项目的MD5
找到图中的gradle

点击图中红色圆圈处

然后就可以查看MD5了

第二步:将我的MD5的去掉’:号’,把大写改为小写,我们对比一下是相同的。

补充条件小彩蛋:如果你新建其他项目android项目的时候需要用到QQ的appId和appKey的话,你可以直接点击下图中的修改,修改你为你新项目的包名和MD5。

即可直接进行修改

4.配置你的AndroidManifest.xml文件

加入如图回调和权限



代码如下:

权限:

    <uses-permission android:name="android.permission.GET_TASKS" /><uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.READ_PHONE_STATE" /><uses-permission android:name="android.permission.MANAGE_ACCOUNTS"/><uses-permission android:name="android.permission.GET_ACCOUNTS"/><!-- 蓝牙分享所需的权限 --><uses-permission android:name="android.permission.BLUETOOTH" /><uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />

回调代码:

 <activityandroid:name="com.mob.tools.MobUIShell"android:theme="@android:style/Theme.Translucent.NoTitleBar"android:configChanges="keyboardHidden|orientation|screenSize"android:screenOrientation="portrait"android:windowSoftInputMode="stateHidden|adjustResize"tools:ignore="LockedOrientationActivity"><!-- QQ和QQ空间分享 QQ登录的回调必须要配置的 --><intent-filter><data android:scheme="tencent101906011" /><action android:name="android.intent.action.VIEW" /><category android:name="android.intent.category.BROWSABLE" /><category android:name="android.intent.category.DEFAULT" /></intent-filter><!-- 新浪微博客户端分享回调必须配置 --><intent-filter><action android:name="com.sina.weibo.sdk.action.ACTION_SDK_REQ_ACTIVITY" /><category android:name="android.intent.category.DEFAULT" /></intent-filter></activity>

注意事项
记得把如图红色圆圈处的101906011改为你的QQ平台创建的应用申请的appId。

5.配置activity.xml文件。

比较简单,主要添加几个控件用来接收数据

代码如下

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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"><TextViewandroid:id="@+id/text"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="24dp"android:text="名字"android:textSize="20sp"app:layout_constraintEnd_toEndOf="@+id/imageView"app:layout_constraintStart_toStartOf="@+id/imageView"app:layout_constraintTop_toBottomOf="@+id/imageView"></TextView><Buttonandroid:id="@+id/button"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="340dp"android:text="QQ登录"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.476"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent" /><ImageViewandroid:id="@+id/imageView"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="56dp"android:src="@mipmap/ic_launcher_round"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent" /><TextViewandroid:id="@+id/textView"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="24dp"android:text="性别"app:layout_constraintEnd_toEndOf="@+id/text"app:layout_constraintStart_toStartOf="@+id/text"app:layout_constraintTop_toBottomOf="@+id/text" /><Buttonandroid:id="@+id/button2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="50dp"android:text="QQ分享"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toBottomOf="@+id/button" />
</androidx.constraintlayout.widget.ConstraintLayout>

6.配置Activity.java文件

1.记得把MobSDK.init里面的AppKey和AppSecret改为你自己申请你的。

2.qq登录代码

Platform qq = ShareSDK.getPlatform(QQ.NAME);
qq.SSOSetting(false); // 设置false表示使用SSO授权方式
qq.authorize();thirdLoginId = qq.getDb().getUserId();
name = qq.getDb().getUserName();
image = qq.getDb().getUserIcon();
sex = qq.getDb().getUserGender();
Toast.makeText(MainActivity.this,"name="+image,Toast.LENGTH_LONG).show();
TextView textView=findViewById(R.id.text);
textView.setText(name);
Log.e("Toast","image="+thirdLoginId);
ImageView imageView=findViewById(R.id.imageView);
Glide.with(MainActivity.this).load(image).into(imageView);
TextView textView1=findViewById(R.id.textView);
if(sex!=null){if(sex=="m"){sex= "男";}else {sex="女";}
}
textView1.setText(sex);

记得导入Glide依赖,因为获取的图片地址为网络图片地址

implementation 'com.github.bumptech.glide:glide:4.11.0'

3.qq分享代码

 OnekeyShare oks = new OnekeyShare();
// title标题,微信、QQ和QQ空间等平台使用oks.setTitle("分享");
// titleUrl QQ和QQ空间跳转链接oks.setTitleUrl("http://sharesdk.cn");
// text是分享文本,所有平台都需要这个字段oks.setText("我是分享文本");
// setImageUrl是网络图片的urloks.setImageUrl("https://hmls.hfbank.com.cn/hfapp-api/9.png");
// url在微信、Facebook等平台中使用oks.setUrl("http://sharesdk.cn");
// 启动分享GUIoks.show(MobSDK.getContext());

4.总体代码

package com.example.mobsharetest;import androidx.appcompat.app.AppCompatActivity;import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;import com.bumptech.glide.Glide;
import com.mob.MobSDK;import org.w3c.dom.Text;import java.util.HashMap;import cn.sharesdk.framework.Platform;
import cn.sharesdk.framework.PlatformActionListener;
import cn.sharesdk.framework.ShareSDK;
import cn.sharesdk.onekeyshare.OnekeyShare;
import cn.sharesdk.sina.weibo.SinaWeibo;
import cn.sharesdk.tencent.qq.QQ;public class MainActivity extends AppCompatActivity {private Button button;private Button button2;String thirdLoginId;String name;String image;String sex;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);MobSDK.init(this, "31c48ca47c70e","2d7adbfcd73363bbbe41aeff60e41e4f");MobSDK.submitPolicyGrantResult(true, null);button=findViewById(R.id.button);button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {Platform qq = ShareSDK.getPlatform(QQ.NAME);qq.SSOSetting(false); // 设置false表示使用SSO授权方式qq.authorize();thirdLoginId = qq.getDb().getUserId();name = qq.getDb().getUserName();image = qq.getDb().getUserIcon();sex = qq.getDb().getUserGender();Toast.makeText(MainActivity.this,"name="+image,Toast.LENGTH_LONG).show();TextView textView=findViewById(R.id.text);textView.setText(name);Log.e("Toast","image="+thirdLoginId);ImageView imageView=findViewById(R.id.imageView);Glide.with(MainActivity.this).load(image).into(imageView);TextView textView1=findViewById(R.id.textView);if(sex!=null){if(sex=="m"){sex= "男";}else {sex="女";}}textView1.setText(sex);}});button2=findViewById(R.id.button2);button2.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {OnekeyShare oks = new OnekeyShare();
// title标题,微信、QQ和QQ空间等平台使用oks.setTitle("分享");
// titleUrl QQ和QQ空间跳转链接oks.setTitleUrl("http://sharesdk.cn");
// text是分享文本,所有平台都需要这个字段oks.setText("我是分享文本");
// setImageUrl是网络图片的urloks.setImageUrl("https://hmls.hfbank.com.cn/hfapp-api/9.png");
// url在微信、Facebook等平台中使用oks.setUrl("http://sharesdk.cn");
// 启动分享GUIoks.show(MobSDK.getContext());}});}}

步骤有点复杂,因为这个功能确实比较难以实现,如果有什么问题的话,可以提出来,一不小心就写14000多个字了

因为这个也是我慢慢摸索过来,如果有更简单的方法,可以提出来

作者:android小白星
博客地址:https://blog.csdn.net/qq_45137584/article/details/113244389

android如何实现qq登陆和qq分享,2021超详细mob平台图解教程?相关推荐

  1. android怎么实现手机号登录(2020最新版超详细Mob平台+SMSSDK)?

    mob平台发送验证码 第一步:注册mob平台账号 第二步:在mob平台配置SMSSDK环境. 1.点击下图红色圆圈处的产品中心. 2.点击立即进入. 3.点击创建应用. 4.同意隐私服务. 5.创建应 ...

  2. 服务器里微信怎么多开,电脑上如何多开微信?三个微信多开方法分享,超详细步骤!...

    原标题:电脑上如何多开微信?三个微信多开方法分享,超详细步骤! 在我们日常工作和日常生活中,有时我们在电脑办公室时经常使用微信,但我们知道电脑上微信不能像QQ一样同时登陆多个账号.但是对很多营销人员来 ...

  3. 实现QQ登陆(QQ互联)

    更多干货 分布式实战(干货) spring cloud 实战(干货) mybatis 实战(干货) spring boot 实战(干货) React 入门实战(干货) 构建中小型互联网企业架构(干货) ...

  4. Android中集成QQ登陆和QQ空间分享

    本文基于QQ open sdk V2.4.1. QQ登录应用有一个地方是需要注意的, QQ申请同一品牌应用(包括网站和app),需要相互依赖申请,因为在QQ互联中,一个应用对应一个app key,如果 ...

  5. java 分享到qq空间_Android中集成QQ登陆和QQ好友分享及QQ空间分享

    extends : http://blog.csdn.net/arjinmc/article/details/38439957 相关官方文档及下载地址: 如果只用分享和登陆,用lite包就可以,体积小 ...

  6. java 登录qq空间_Android中集成QQ登陆和QQ空间分享

    本文基于QQ open sdk V2.4.1. QQ登录应用有一个地方是需要注意的, QQ申请同一品牌应用(包括网站和app),需要相互依赖申请,因为在QQ互联中,一个应用对应一个app key,如果 ...

  7. php网站 qq登陆,PHP QQ一键登入网站实现过程

    qq一键登入功能对于大多数小中型网站来说是十分必要的,因为他给你的用户带来了极大的方便,但是想要集成网站的qq一键登入功能,你必须要一些编程基础,使网站和qq登入的应用之间进行一些必要的交互,下面我简 ...

  8. qq邮箱的发件服务器怎么设,如何利用QQ邮箱实现网站SMTP发信,详细邮箱的配置教程...

    注意事项 QQ邮箱必须开通一个月以上,新邮箱是无法开启SMTP功能的. QQ邮箱配置教程 登陆QQ邮箱 我们可以通过QQ主面板的按钮进入,也可以通过QQ邮箱的网站(mail.qq.com)进行登陆: ...

  9. 如何把android studio中的项目发布到手机上(超详细版)

    一,前言 在学习安卓开发的小伙伴们,相信有不少人有这样的冲动:总想把自己写的项目安装到自己手机上.那么到底该如何做呢?下面以小米MI 6x手机为例,来说明如何做. 二,前期准备 1,打开开发者模式 以 ...

最新文章

  1. 百度超级链XChain(6)XVM虚拟机
  2. 有效前沿—让你的投资收益最大化
  3. 前端学习(2840):nevagator导航标签
  4. Consumer配置
  5. iframe嵌入页面白屏_BFCache 与 浏览器前进后退白屏
  6. Python Tricks(十六)—— list转换为str
  7. cent OS 6.3 yum方式安装openldap,phppldapadmin,lam
  8. 使用 jdk 1.8 lambda forEach 对 ArrayList 遍历,数组越界,索引是负数 -15591
  9. 免费手机WAP网站大全
  10. UI面试官的哪些问题让你感觉很高明?
  11. 市面上主流RTC竞品对比分析
  12. 企业宣传软文怎么写?手把手教大家撰写企业宣传软文
  13. 2020面试题合集之吊打面试官系列(一),Android中为什么需要Handler
  14. 计算机网络汇聚层,【大白电气】接入层、汇聚层、核心层——中大型计算机网络系统结构介绍及交换机选型建议...
  15. 使用python实现用微信远程控制电脑
  16. 51单片机实验(LED and KEY)
  17. 交换机和路由器之间区别
  18. mxgraph进阶(三)Web绘图——mxGraph项目实战(精华篇)
  19. 大数据是什么?一篇文章正确告诉你
  20. JIRA的使用介绍(一)- 概念篇(笔记)

热门文章

  1. 用python依赖地图公司的API接口和SDK实现道路数据可视化分析
  2. 如何看待Facebook 中国程序员之死:年仅 38 岁跳楼轻生,浙大 EE 毕业生,去年刚入职...
  3. 文件 组织 服务器 数据库,nc文件服务器 数据库文件
  4. JC机制与JVM内存区域
  5. 模糊神经网络应用实例,什么是模糊神经网络
  6. 地图坐标: 经度 纬度 解读
  7. html写大学课程表
  8. 自动驾驶研究报告(上)
  9. 瓜子二手车后台研发实习生面经
  10. 数论概论 第五章 习题解答(下) (宋二娃的BLOG)