开始使用 java 开发 Android 应用程序,并且不知道如何正确迭代事物。
我有 Google 登录对象:
GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestServerAuthCode(this.getString(R.string.auth_client_id))
.requestScopes(scopes)
.requestEmail()
.requestProfile()
.build();
以及范围数组:
// split scope params
String[] scopes = scope.split("\\+|_|__");
List<String> list = new ArrayList<>();
for (int i = 0; i < scopes.length; i++) {
list.add(new Scope(scopes[i]));
}
如何在 Google 登录选项对象中迭代“.requestScopes(scopes)”,因为 .requestScopes() 不允许我输入数组值,只允许输入字符串。
您的帮助可能会帮助我节省额外半天的时间。
最佳答案
// split scope params
String[] scopeStrings = scope.split("\\+|_|__");
Scope firstScope = new Scope(scopeStrings[0]);
Scope[] scopes = new Scope[scopeStrings.length - 1];
for (int i = 1; i < scopeStrings.length; i++) {
scopes[i - 1] = new Scope(scopeStrings[i]);
}
GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestServerAuthCode(this.getString(R.string.auth_client_id))
.requestScopes(firstScope, scopes)
.requestEmail()
.requestProfile()
.build();
关于java - 在方法中迭代数组 (Android),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43465135/