2017-04-18 10 views
0

JavaのAndroidアプリで作業を開始し、正しく繰り返し処理する方法がわかりません。メソッドの配列を反復する(Android)

私はオブジェクトで、Googleの看板があります。.requestScopesので、オプションでは、Googleの看板に ".requestScopes(スコープ)" を反復する

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

ホーオブジェクト:

GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN) 
       .requestServerAuthCode(this.getString(R.string.auth_client_id)) 
       .requestScopes(scopes) 
       .requestEmail() 
       .requestProfile() 
       .build(); 

とスコープの配列を()は配列の値を入力することを許可していません。文字列のみが許されます。

あなたの助けは、おそらく1日の半分を節約するのに役立ちます。

答えて

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

は、セルゲイをありがとう!それはまさに私が必要としていたものでした;) –