コールインターフェイス - Android

  • リリースバージョン: Washingtondc
  • 更新日 2024年02月01日
  • 読む2読むのに数分
  • Call インターフェイスは、処理用に準備された要求を表します。

    可能な処理オプションは次のとおりです。
    • キャンセル
    • エンキュー
    • execute
    • マップ

    呼び出しオブジェクトを 2 回処理することはできません。

    表 : 1. プロパティ
    名前 タイプ 説明
    リクエスト 要求 このコールを開始した元の要求。

    Call - cancel()

    可能であれば、関連付けられたコールをキャンセルします (ベストエフォート)。

    表 : 2. パラメーター
    名前 タイプ 説明
    なし
    表 : 3. 返される内容
    タイプ 説明
    なし

    次のコード例は、この関数を呼び出す方法を示しています。

    private var inFlightDataRequestCall: Call<*>? = null 
    fun cancelTransfer() = inFlightDataRequestCall?.cancel() 

    Call - enqueue(onSuccess: Consumer&lt;Response&lt;T>>, onError: Consumer&lt;NowDataError>)

    システム\スレッドがこの要求を実行できるようになるとすぐに要求が実行されるようにスケジュールします。

    表 : 4. パラメーター
    名前 タイプ 説明
    成功時 Consumer&lt;Response&lt;T>> 呼び出しが成功した場合に実行するコールバック。パラメーターで指定されたデータタイプに解析された本文を含む T HTTP 応答。
    注:
    コンシューマーは、オブジェクトの非同期消費のための OOB Java タイプです。この場合、呼び出しはジェネリックを使用して、 Response&lt;T> 型 ( T はオブジェクト型) を返します。
    Onerror Consumer&lt;NowDataError> コールが失敗した場合に実行するコールバック。

    NowDataError

    表 : 5. 返される内容
    タイプ 説明
    なし

    次のコード例は、この関数を呼び出す方法を示しています。

    fun makeGraphQLRequest(query: String) { 
      val call = graphQLService.graphQLRequest(query) 
      call.enqueue( 
        { response -> handleResponse(response) }, 
        { nowDataError -> handleError(nowDataError) } 
      ) 
    } 

    呼び出し:execute()

    要求をすぐに呼び出します。応答が処理されるかエラーになるまでブロックします。

    表 : 6. パラメーター
    名前 タイプ 説明
    なし
    表 : 7. 返される内容
    タイプ 説明
    応答&lt;T> パラメーターで T 定義された形式の応答データ。

    次のコード例は、この関数を呼び出す方法を示しています。

    val response = apiService.data(NowAPIService.Endpoint( 
      relativePath = CASES_API, 
      requestMethod = HttpMethod.GET, 
      requireAuth = true) 
    ).execute()