如何为 Dagger2 提供 GoogleApiClient 依赖项?

2024-01-07

我已经开始使用 Dagger2 来管理依赖项,并且我试图了解如何使用 DI 来提供单例 GoogleApiClient。这样做的动机是:

  • 减少样板代码:多个 Activity 和 Fragments 需要 GoogleApiClient
  • 提高可测试性:目前这些 Activity 和 Fragments 尚未经过充分测试

我想在应用程序范围内提供一个单例 GoogleApiClient。

你如何处理回调?无论您选择一个自动管理或手动管理连接 https://developers.google.com/android/guides/api-client,有一些回调必须处理:

  • GoogleApiClient.ConnectionCallbacks(仅限手动)
  • GoogleApiClient.OnConnectionFailedListener(两者)

您可以使用注入来创建客户端

 @Provides
    @Singleton
    GoogleApiClient providesGoogleApiClient(Context context) {
            return new GoogleApiClient.Builder(context)
                    .addApi(Places.GEO_DATA_API)
                    .addApi(LocationServices.API)
                    .build();
        }

然后管理您活动的回调

@Inject GoogleApiClient mGoogleApiClient;



if (mGoogleApiClient != null) {  mGoogleApiClient.registerConnectionCallbacks(this);            mGoogleApiClient.registerConnectionFailedListener`(this);
}

我希望这可以帮助你。

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

如何为 Dagger2 提供 GoogleApiClient 依赖项? 的相关文章

随机推荐

  • “SystemInfo.deviceUniqueIdentifier”在 Android 构建中使用什么?

    The 文档 https docs unity3d com ScriptReference SystemInfo deviceUniqueIdentifier html记录 iOS Windows 版本中使用的标识符 但 Android 版
  • 使用 DownloadFileTaskAsync 一次下载所有文件

    给定一个包含 URL 的输入文本文件 我想一次性下载所有相应的文件 我用这个问题的答案使用 WebClient 和 TaskAsync 从异步 CTP 下载 UserState https stackoverflow com questio
  • 如何检查多个单元格的值是否相等?

    假设我有 6 个不同的单元格 并非全部排成一行 我想检查这些单元格中的值是否相等 我怎样才能用一个函数来做到这一点 我希望该函数只是显示 等于 或 不等于 或者可能更改单元格背景颜色 6 个单元的一种选择是 IF AND A1 B2 B2
  • 如何比较用 Java 和 Xamarin C# 编写的 Android 应用程序的性能?无论如何检查定量数据(代码和结果)[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我发现 Xamarin 声称他们在 Android 上的 Mono 实现及其 C 编译的应用程序比 J
  • 如何仅针对特定规则或一组规则运行 eslint - 仅命令行

    我知道你可以在 eslintrc文件 但如果我只想运行怎么办eslint并检查一项特定规则 E g eslint helpme js rule some important rule 我不知道这是否是最好的方法 但我能够让它工作 eslin
  • 如何修改这个缓动函数以减少弹跳?

    我正在尝试修改 Flash CS3 提供的fl motion easing bounce函数使生成的动画弹跳更少 我知道 减少弹跳 有点模糊 但我希望能帮助您理解该功能 Thanks param t Specifies the curren
  • Django 模板中的外键关系

    我知道这个问题已经被问过很多次了 但我仍然无法解决 model py class Awb models Model awb id models CharField primary key True max length 50 awb shi
  • Android 截取 Surface View 的屏幕截图显示黑屏

    我正在尝试通过代码截取我的游戏的屏幕截图并通过意图共享它 我可以做这些事情 但是屏幕截图总是显示为黑色 这是与共享屏幕截图相关的代码 View view MainActivity getView view setDrawingCacheEn
  • iPhone:ubercab 又名 (uber) 地图坐标

    谁能描述如何通过 MKMapView 在屏幕中心的位置获取其地图坐标 查看 Uber 应用程序 免费 它们有一个静态的图钉位于屏幕中间 您拖动地图但图钉仍保留在那里 屏幕中间是他们找到您的位置 非常非常快 向您显示您附近的地址 嘿嘿 我是
  • 临时反应组件中的样式组件

    我在反应中的临时包装器中使用样式组件时遇到两个问题 组件已渲染 但不使用背景颜色 ComponentWithAddedColors 不是有效的打字稿 不知道为什么 有谁可以帮忙解决这个问题吗 interface IProps id stri
  • Numpy 一次将数组与多个标量进行比较

    假设我有一个数组 a np array 1 2 3 我想将它与一些标量进行比较 这工作得很好 就像 a 2 False True False 有没有办法可以同时使用多个标量进行这样的比较 比较两个数组时的默认行为是进行元素比较 但我希望一个
  • Django如何访问抽象Base模型局部变量

    我将这个抽象基本模型定义如下 class ActivityAbstractBaseModel models Model POOR PR FAIR FA MEDIOCRE ME GOOD ENOUGH GE GOOD GO VERY GOOD
  • ODBC 不断提示输入密码

    我有一个在 Access 2003 中构建的应用程序 它使用系统 DSN ODBC 连接到 SQL Server ODBC 使用 SQL 身份验证 当应用程序启动时 系统会提示用户在数据库中进行身份验证 我在同一域中设置了另一台计算机 并安
  • 在 Hive 中获取系统日期 -1

    有什么办法可以得到current date 1在 Hive 中的意思是yesterdays date总是 并且以这种格式 20120805 我可以像这样运行查询来获取数据yesterday s date就像今天一样Aug 6th selec
  • 防止xss攻击的更好方法

    这两种方法中哪一种是更好的防止 xss 攻击的方法 保存在数据库中时的 HTMLEntities 显示 回显时的 HTMLEntities 我发现第一个更好 因为您可能会在显示时忘记添加它 两者中哪一个是更好的防止xss攻击的方法 保存在数
  • 将 Spark 数据加载到 Mongo / Memcached 中以供 Web 服务使用

    我对 Spark 非常陌生 并且有一个特定的工作流程相关问题 虽然它并不是真正与编码相关的问题 但它更像是与 Spark 功能相关的问题 我认为它在这里是合适的 如果您认为这个问题不适合 请随时将我重定向到正确的网站 所以这里是 1 我计划
  • 在没有管理员权限的情况下安装 MSBuild 15(Microsoft 构建工具)?

    有没有办法在没有管理员权限的情况下在我的计算机上本地安装 MSBuild 15 微软安装程序开启https www visualstudio com downloads https www visualstudio com download
  • 我怎样才能获得正确的付款期限?

    我觉得这更像是数学问题 我公司的员工遍布全国各地 公司的某些部门采用 奇数 工资周期 而另一些部门则采用 偶数 工资周期 我将给定支付期的开始日期称为 支付期 我需要做两件事 1 确定给定日期所属的发薪期 Something like th
  • 了解简单 C 程序生成的汇编代码

    我试图通过使用 gdb 的反汇编程序检查简单 C 程序的汇编级代码 以下是C代码 include
  • 如何为 Dagger2 提供 GoogleApiClient 依赖项?

    我已经开始使用 Dagger2 来管理依赖项 并且我试图了解如何使用 DI 来提供单例 GoogleApiClient 这样做的动机是 减少样板代码 多个 Activity 和 Fragments 需要 GoogleApiClient 提高