Android UIライブラリ

Android UIライブラリ

お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。


Notesこのヘルプページは Creator 6 をご利用のユーザー向けです。旧バージョン(Creator 5)をご利用の場合は、こちらをクリックしてください。ご利用中のCreator のバージョンの確認方法もご覧ください。
Android UI ライブラリを使用すると、タブの UI コンポーネントを利用できるほか、独自のカスタム UI を設計することもできます。

前提条件

  • 最新バージョンの Android Studio

Android アプリを Zoho に登録する

  1. 左側ペインで[モバイル]をクリックします。
  2. コアフレームワークを設定する iOS アプリの対象行をクリックします。右側に[ユーザー向け - SDK]ペインが開きます。

  3. [クライアントを生成]をクリックします。

  4. これにより、Creator アプリケーションと連携させる Android アプリ用のクライアント IDクライアントシークレットredirectURI が生成されます。

  5. zcapp_info.properties ファイルをダウンロードし、プロジェクトの raw フォルダー(「<your_project_folder>/app/src/main/res/raw」)に追加します。(存在しない場合は、この場所に raw という名前のフォルダーを作成してください)

Kotlin を使用してユーザーアプリ向け Android UI ライブラリをインストールする

Notesメモ: Android アプリの最小 SDK バージョンは 22 以上である必要があります。

  1. Android アプリに SDK を組み込む:
    1. app/build.gradle に Zoho の Maven リポジトリ URL を追加します。
      allprojects {
      repositories {
      google()
      mavenCentral()
      maven {
      url 'https://maven.zohodl.com'
      }
       
      }
      }
      メモ:repository の URL を settings.gradle に追加する際、Gradle was configured to prefer settings repositories over project repositories という問題が発生する場合があります。処理を続行するには、repository の URL を settings.gradle に追加する必要があります。
    2. app/build.gradle に Zoho Creator UI ライブラリと認証ライブラリを追加します。
      dependencies {
      implementation 'com。Zoho。creator:creator-ui:1。6。0'
      implementation 'com。Zoho。取引先。android:zaccountssdk:V3_1'
      }

    3. IDE に表示されるバーで 今すぐ同期する をクリックします。
  2. 次のコードを使用してプロジェクトを設定します:
    1. アプリの strings。xml に次の文字列を追加します:
      <string 名前='ui。ラベル。appname' translatable='無効'> YOUR アプリ名 </string>
      <string 名前='c_id'> 作成済み クライアントID </string>
      <string 名前='c_secret'> 作成済み CLIENT シークレット ID </string>
      <string 名前='redir_url'> REGISTERED REDIRECT URI</string>
      <string 名前='accounts_url'> https://accounts.zoho.com</string><!-- 該当するデータセンターのアカウント URL を入力します。例: US ユーザーは ' https://accounts.zoho.com' を使用します。 -->
       
      Creator アカウントの ベース URL は、関連付けられている データセンター によって異なります。詳細はこちら
    2. アプリケーション/アクティビティクラスの onCreate メソッド内で、次のように Accounts SDK を初期化します:
      ZohoSDK.getInstance(this).init(scopes, showlogs)
      ここで、
      • scopes - 'aaaserver。権限。READ,zohocontacts。userphoto。READ,ZohoContacts。contactapi。READ,
        ZohoCreator。meta。作成,ZohoCreator。meta。READ,ZohoCreator。meta。更新する,
        ZohoCreator。meta。削除,ZohoCreator。data。作成,ZohoCreator。data。READ,
        ZohoCreator。data。更新する,ZohoCreator。data。削除,Stratus。stratusop。READ,
        ZohoCRM。タブ。READ,ZohoCRM。ユーザー。READ'
        メモ:スコープの一覧はバージョン 1.4 以上で更新されています。
      • showLogs - デバッグログを表示するかどうかを指定します。
    3. HandleRedirectActivity というアクティビティを作成し、その onCreate メソッドに次のコードを追加します:
      ZohoSDK.getInstance(this).handleRedirection(this);
    4. AndroidManifest。xml ファイルに次のコードを追加します:
      <活動 android:名前='.HandleRedirectActivity' android:エクスポート済み='真'>
      <intent-フィルター>
      <操作 android:名前='android。intent。操作。表示する' />
      <カテゴリー android:名前='android。intent。カテゴリー。初期設定' />
      <カテゴリー android:名前='android。intent。カテゴリー。BROWSABLE' />
      <data android:scheme='<REDIRECTURI_WITHOUT_COLON_AND_SLASH>' />
      </intent-filter>
      </activity>
    5. ログイン画面を開くには、次のコードスニペットを追加します:
      val sdk = ZohoSDK.getInstance(applicationContext)
      if (!sdk.isUserSignedIn) {
         sdk.presentLoginScreen(this, object : ZohoTokenCallback {
      
            override fun onTokenFetchInitiated() {
      
            }
      
            override fun onTokenFetchComplete(zohoToken: ZohoToken?) {
               // This method will be called after user logged-in successfully
            }
      
            override fun onTokenFetchFailed(zohoErrorCodes: ZohoErrorCodes?) {
               // This method will be called if any error occurred in the login. You will receive the error code in this callback.
            }
      
         }, null)
      } else {
         // Start intent to your first activity
      }
    6. Creator 認証インターフェイス ZCOauthHelper を次のように実装します:
      クラス ZCAuthImpl(非公開 val context: Context) : ZCOauthHelper { @Throws(ZCException::クラス) override suspend fun getAccessToken(): String? { 返品する ZohoSDK。getInstance(context).token。token } override fun getInitialScopes(context: Context): String { 返品する '' } override fun isUserSignedIn(): Boolean { 返品する ZohoSDK。getInstance(context).isUserSignedIn
      } override fun getUserData(): Any? { 返品する null } override fun getTransformedUrl(url: String): String { 返品する url } override fun checkAndLogout(): Boolean { 返品する 無効 } override fun isEnhanceTokenNeeded(newScopes: String): Boolean { 返品する 無効 } override fun enhanceToken(tokenHelper: ZCOauthHelper。ZCOAuthTokenHelper, newScopes: String) { }
      override fun enhanceTokenWithOnDemandScope(tokenHelper: ZCOauthHelper。ZCOAuthTokenHelper) { }}
    7. 認証インターフェイスのインスタンスを Creator SDK に設定するため、アプリケーション/アクティビティの onCreate メソッドに次のコードを追加します:
      ZCAPIUtil.setOAuthHelper(ZCAuthImpl(applicationContext))
    8. application タグ内に、次の内容を AndroidManifest。xml ファイルへ追加します:
      android:名前='com。Zoho。creator。a。ZCreatorApplication'

よくある質問(FAQ)

  1. ビルドの生成中にマージコンフリクトが発生します。どう対処すればよいですか?
    AndroidManifest。xml ファイルの application タグ内に tools:置き換える='android:allowBackup,android:ラベル,android:theme' を追加して、再度お試しください。
  2. '複製する クラス android。サポート。v4。app' エラーが表示されます。どうすればよいですか?
    このエラーを解消するには、gradle。properties ファイルに android。enableJetifier=真 を追加してください。
  3. '複製する クラス androidx。lifecycle。ViewModelLazy found in タブ jetified' エラーが表示されます。どうすればよいですか?
    このエラーを解消するには、依存関係リストに implementation 'androidx。lifecycle:lifecycle-viewmodel-ktx:2。4。0' を追加してください。

参考資料