2017-04-18 62 views
0

開始在java中的Android應用程序上工作,並且不知道如何正確地迭代事物。在方法(Android)中迭代數組

我在谷歌的對象符號:

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])); 
    } 

何迭代 「.requestScopes(範圍)」 中選擇谷歌的標誌對象,因爲.requestScopes ()不允許我輸入數組值,只允許字符串。

您的幫助可能會幫助我節省額外的一半時間。

回答

1

您可以使用此方法添加多個範圍https://developers.google.com/android/reference/com/google/android/gms/auth/api/signin/GoogleSignInOptions.Builder.html#requestScopes(com.google.android.gms.common.api.Scope,%20com.google.android.gms.common.api.Scope...),例如:

// 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(); 
+0

謝謝,謝爾蓋!那正是我需要的;) –