众所周知,Google 已将 PlusClient
API 替换为 GoogleApiClient
API,并建议所有使用旧 API 的代码都应迁移到新 API。我使用 Android Studio 中的 New Activity 选项创建了一个 LoginActivity,但这使用了旧的 API。
除了降级 Google Play 服务的版本以适应这个旧 API 之外,一切正常(?)。但出于所有显而易见的原因,我想迁移到新的 API。
所以,我使用了 Refactor |迁移
然后到了这里(我自己添加了迁移 map ):
填写所有值并单击Ok
我收到了这个:
我所做的是,Android Studio 在我的代码中找到了 PlusClient 用法的实例,并准备好替换它们。然而,当我点击 Do Refactor
时,除此之外没有发生任何其他事情:
mPlusClient =
new PlusClient.Builder(this, this, this).setScopes(Scopes.PLUS_LOGIN,
Scopes.PLUS_ME).build();
被替换为:
mPlusClient = new com.google.android.gms.common.api.GoogleApiClient
.Builder(this, this, this)
.setScopes(Scopes.PLUS_LOGIN,
Scopes.PLUS_ME).build();
有错误。
这是进行迁移的正确方法吗?还是我要面对现实并用代码来做?
最佳答案
Android Studio 中的 Migrate 工具正是这样做的:当您使用的 API 被移动到不同的包时,它可以替换您代码中的调用,以便它们也可以使用新包。它不会对您的代码执行任何其他更改。
如果您可以输入任意两个类并且 Android Studio 可以神奇地找出使用一个类而不是另一个类所需的所有代码更改,那确实很棒,但不幸的是,这实际上是不可能的今天的技术。
关于android - 使用重构工具在 Android Studio 中从 PlusClient 迁移到 GoogleApiClient,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28892706/