Android登录 之 GooglePlay登录

2023-11-09

想法 : 写了好久代码了,但是都没有具体的总结下。总是用到的时候,再去翻看资料。一看就是一堆,到最后都不一定能管用。

近期做了一些项目,涉及到了登录授权。细回想下,自己接过的登录授权还真心不少。不同的授权都会一一列举,以后方便自己,也希望能够方便大家。

做开发的话,资源必不可少。
我们需要有Google 账户,拿到开发者权限,才能进行开发。

Google账户注册

自己去搞吧,就不多说了

但是在流程中会有一个google-services.json 的文件,要记得拷贝下来,放到工程目录下面

直接上代码

首先
确保我们的根目录的build.gradle文件添加了Google服务

allprojects {
   
    repositories {
   
        google()
    }
}
    dependencies {
   
        classpath 'com.google.gms:google-services:4.3.4'
    }

根目录的build.gradle文件有Google服务之后,在我们项目目录下的build.gradle文件中添加

apply plugin: 'com.google.gms.google-services'
dependencies {
   
    implementation 'com.google.android.gms:play-services-auth:18.1.0'
}

在这里我推荐使用最新的版本,比较与时俱进不是

最新版本可以在官方文档之中获取,目前我使用的是18.1.0版本

依赖引入之后就可以在我们的登录页面进行登录操作的初始化了。

val gso = GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
	.requestEmail()
	.build()

在进行GoogleSignInOptions初始化的时候建议传入

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android登录 之 GooglePlay登录 的相关文章

  • Android - 保存动态更改布局的状态

    我有一个布局 用户可以在其中添加按钮并将其放置在他们想要的位置 我想允许用户保存他们的布局 以便下次打开应用程序时加载它 有谁知道我是否可以将文件保存到 SD 卡上 或者 我可以使用某种layout getXml 方法并将其放入我的应用程序
  • 在应用程序简历中隐藏软键盘

    我有一个 Android 应用程序 使用 Xamarin 用 C 编写 我已将应用程序简化为包含 TextView 和用于横幅广告的 Google admod AdView 的 LinearLayout 我不希望软键盘出现在应用程序中 这不
  • Android 通知进度条冻结

    这是我正在使用的代码 http pastebin com 3bMCKURu http pastebin com 3bMCKURu 问题是 一段时间后 文件变得更重 通知栏下拉速度变慢 最后它就冻结了 你的通知太频繁了 这就是它冻结的原因 让
  • 检测到设备正在振动?

    我使用下面的代码来振动设备 public void vibrator try Vibrator vibrator Vibrator getSystemService Context VIBRATOR SERVICE vibrator vib
  • Android - 如何一次只允许播放一个 MediaPlayer 实例?

    我正在尝试创建一个简单的 Sound board Android 应用程序 使用 ListView 项目作为按钮 顺便说一句 我是一个新手程序员 我的想法是 我按下一个按钮 就会播放一个特定的声音文件 如果我在播放声音时按下任何按钮 它应该
  • Android第一次动画不流畅

    我正在尝试一个动画将 imageView 从屏幕底部滑动到屏幕中心 但是当我第一次执行此动画时 它不平滑 但当第二次执行动画时 它是正常且平滑的 我几乎尝试了所有方法 但无法解决我的问题 这是我的动画文件
  • Phonegap - 如何将.txt文件保存在Android手机的根目录中

    我正在尝试使用phonegap 将 txt 文件保存在Android 手机的根目录中 我已经安装了这些插件 cordova plugin file 和 cordova plugin file transfer 在 config xml 文件
  • 共同的偏好不断消失

    我正在使用共享首选项来存储我的应用程序的登录凭据 除了一个用户之外 一切正常 一段时间后 共享偏好似乎会以某种方式重置或清除 我已针对该用户调整了我的应用程序 使其不再清除他的共享偏好设置 这样我就可以确定这不是我的应用程序的错 但即使在这
  • Android libgdx 首选项丢失

    我在 Libgdx 引擎中创建了 Android 游戏 一段时间后 我注意到在某些应用程序杀手中杀死该应用程序后 或者如果我在 Android 设置中执行 强制关闭 操作 我保存到首选项中的游戏选项就会丢失 有办法防止这种情况吗 我从来没有
  • Delphi XE7 Android 全屏(隐藏软键)

    如何在XE7中全屏显示 隐藏顶部 标题 和底部 软键 工具栏 在 XE6 中 我可以通过在应用程序部分写入来调整 AndroidManifest 以使我的应用程序全屏显示并且没有操作栏 android theme android style
  • KitKat(及更低版本)设备上的 Android Material Design

    我将在我们学校开发一个 Android 应用程序作为一个项目 我想使用 Google 的新 Material Design 但我知道它仅适用于 Android L 设备 Jack Underwood 最近发布了名为 Today Calend
  • 接近语法错误(代码1)插入Android SQLite

    我正在创建一个通讯录应用程序 用户可以在其中输入姓名 电子邮件地址和号码 我希望将此数据保存在数据库中 但我似乎无法使插入方法起作用 我收到的错误是 android database sqlite SQLiteException near
  • 如果我们使用后退按钮退出,为什么 Android 应用程序会重新启动?

    按住主页按钮并返回应用程序时 应用程序不会重新启动 为什么使用后退按钮会重新启动 如果我们使用后退按钮退出 有什么方法可以解决在不重新启动的情况下获取应用程序的问题吗 请帮忙 当您按下Home按钮 应用程序将暂停并保存当前状态 最后应用程序
  • Firebase:如何在Android应用程序中设置默认通知渠道?

    如何设置default通知渠道通知消息当应用程序在后台运行时会出现什么情况 默认情况下 这些消息使用 杂项 通道 如你看到的在官方文档中 https firebase google com docs cloud messaging andr
  • 请求位置更新参数

    这就是 requestLocationUpdates 的样子 我使用它的方式 requestLocationUpdates String provider long minTime float minDistance LocationLis
  • 使用 Matrix.setPolyToPoly 选择位图上具有 4 个点的区域

    我正在 Android 上使用位图 在使用 4 个点选择位图上的区域时遇到问题 并非所有 4 点组都适合我 在某些情况下 结果只是一个空白位图 而不是裁剪后的位图 如图所示 并且 logcat 中没有任何错误 甚至是内存错误 这是我用来进行
  • 通过 ADB 拔出设备:“找不到服务”

    我必须测试我的应用程序在打瞌睡模式下的行为 根据文档 https developer android com training monitoring device state doze standby html testing doze 我
  • 当手机旋转(方向改变)时如何最好地重新创建标记/折线

    背景 开发一个使用 Android Google Map v2 的本机 Android 应用程序 使用android support v4 app FragmentActivity 在 Android v2 2 上运行 客观的 在更改手机方
  • SharedFlow 和 StateFlow 的主要区别

    两者有什么区别共享流 and 状态流 以及如何使用这些MVI建筑学 使用简单更好吗Flow或者这些作为状态和事件 Flow 是冷的 意味着它仅在收集数据时才发出数据 另外Flow不能保存数据 可以把它看成是水在里面流动的管道 Flow中的数
  • 在 Google 地图上绘制线条/路径

    我很长一段时间都在忙于寻找如何在 HelloMapView 中的地图上的两个 GPS 点之间画一条线 但没有运气 谁能告诉我该怎么做 假设我使用扩展 MapView 的 HelloMapView 我需要使用叠加层吗 如果是这样 我是否必须重

随机推荐

  • 人工智能应用加速落地,推动券商业务+IT双升级|爱分析报告

    券商数字化转型已驶入快车道 多部政策文件相继发布 要求提升金融科技治理水平 加大科技资金投入 深化数字化转型 与此同时 受宏观经济环境下行影响 券商同质化竞争加剧 传统经纪业务增长承压 券商亟待寻求业务新增长点 在政策驱动和业绩承压的双重影
  • 第二十三课:Data setup

    PR Flow内容总览 在整个PR阶段 我们要做的主要可以分为三大部分 data setup部分 就类似于我们一般的Creat new project创建新项目的阶段 此阶段我们主要就是导入各种文件 Technology file TF文件
  • STM32F103常用的HAL库函数

    1 GPIO PA0输出高低电平 HAL GPIO WritePin GPIOA GPIO PIN 0 GPIO PIN RESET 低电平 HAL GPIO WritePin GPIOA GPIO PIN 0 GPIO PIN SET 高
  • valgrind简介与使用

    一 valgrind简介 Valgrind是一款用于内存调试 内存泄漏检测以及性能分析 检测线程错误的软件开发工具 Valgrind 是运行在Linux 上的多用途代码剖析和内存调试软件 主要包括Memcheck Callgrind Cac
  • Mysql API实践

    Mysql API实践 MySql 5 6的API官方见 http dev mysql com doc refman 5 6 en c api function overview html 下面给出一个简单的例子 include
  • Mybatis快速入门

    基本步骤 1 2 导入坐标 使用maven来构建项目只需将所需依赖注入
  • 【Java】基础知识练习题(编程题为主!)

    答案后续发布 欢迎来到小明的练习空间 一 异常 编程题 1 1 题目一 1 2 题目二 1 3 题目三 1 4题目四 二 集合 问答 编程题目 2 1 集合 编程题 Collection接口 2 2 集合 编程题 Collection接口
  • 调用用于获取服务器信息,一种获取测试用例的方法以及服务器

    1 一种获取测试用例的方法 其特征在于 包括 获取被测对象的函数调用关系信息 获取目标函数 所述目标函数为根据所述被测对象的被测版本源码和历史版本源码的差异信息确定的相关函数 所述被测版本源码是所述历史版本源码经过处理得到的 根据所述函数调
  • openEuler怎么查询端口是否被占用-ChatGPT回答

    openEuler怎么查询端口是否被占用 ChatGPT回答 在 openEuler 系统中 你可以使用以下命令来查询端口是否被占用 查看所有使用中的端口 lsof i 查看指定端口是否被占用 lsof i 端口号 例如 查看 80 端口是
  • 高次谐波电压、电流主要有哪些危害?

    高次谐波电压 电流主要有哪些危害 答 高次谐波电流超过一定限度会引起发电机 变压器 电动机损失增大 产生过热 高次谐波电压可能引起设备异常振动 继电保护误动 计量误差增大 晶闸管装置失控和影响通信质量等 高次谐波电流 电压更容易使电力电容器
  • JS获取随机或指定数据

    1 不能全是相同的数字或者字母 如 000000 111111 222222 333333等等 2 不能是连续数字 如 123456 12345678 87654321等等 顺序表 static String orderStr static
  • 模板类的继承问题

    首先大家来看这段代码 plain view plain copy class A public void Show cout lt lt A Show lt lt endl void Fun cout lt lt A Fun lt lt e
  • [CVPR2020] DoveNet: Deep Image Harmonization via Domain Verification 论文解读

    论文地址和代码 数据库和代码已公布 https github com bcmi Image Harmonization Datasets 论文地址 https arxiv org abs 1911 13239 一 简介 图像合成 image
  • python selenium定位元素报错:‘WebDriver‘ object has no attribute ‘find_element_by_id

    标题问题的解决办法参考了这篇文章 然后成功了 1条消息 关于新版本selenium定位元素报错 WebDriver object has no attribute find element by id 等问题 selenium新版本定位 热
  • ADC各参数含义

    文章目录 前言 一 ADC工作原理 二 详细参数 1 分辨率 2 转换率 采样率 转化时间 3 最低有效位 LSB 最高有效位 MSB 4 量化误差 5 SNR 6 失调误差 7 增益误差 8 微分非线性 DNL 9 积分非线性 INL 1
  • 《数据分析思维》:分析方法与业务知识

    小飞象 读书会 生活从来不会刻意亏欠谁 它给你一块阴影 必会在不远处撒下阳光 读书交流 3期 数据分析方法与业务知识 data analysis 分享人 木兮 欢迎大家参加这次读书会的直播分享 本次分享由学委木兮来带大家梳理一下 数据分析思
  • 【STM32篇】步进电机之S型曲线

    使用步进电机的S曲线算法的目的是为了使电机缓慢加速到目标转速或从高转速减速到0 防止电机在高转速时立即停止而对电机造成损伤 减少电机的使用寿命 本文主要讲述S型算法的使用 对于具体的原理 可通过其他博主的文章学习 图1 S算法加减速图 如图
  • libvirt笔记 PCI设备直通

    PCI设备直通功能允许将主机上的物理PCI设备直接分配给来宾机 客户操作系统驱动程序可以直接使用设备硬件 而无需依赖主机操作系统的任何驱动程序功能 在使用PCI设备直通时需要注意一些事项 当将PCI设备直接分配给客户机时 如果不首先从客户机
  • 静态代码和动态代码的区别_动态改变的代码设计思想

    前言 我看过很多书 知道那些作者在推广什么 相对书里的东西落地 还是一个不容易的过程 我看过很多行业的代码 持续多年的积累 聊过一些老板 对代码改造的看法 为什么 程序员这么难 我将用4个方向 来解释代码设计中的设计思路和方法 给大家展现一
  • Android登录 之 GooglePlay登录

    想法 写了好久代码了 但是都没有具体的总结下 总是用到的时候 再去翻看资料 一看就是一堆 到最后都不一定能管用 近期做了一些项目 涉及到了登录授权 细回想下 自己接过的登录授权还真心不少 不同的授权都会一一列举 以后方便自己 也希望能够方便