WebAPIにおけるコールバックという仕組みについて
まず、クライアントがリクエストを行います。Webサーバを介して、相手先のサーバーにリクエストが届き、処理され、そのレスポンスが、Webサーバを介して、返ってきます。これがWebサービスです。
リクエストしたが、相手のサーバーで処理に時間がかかっているとしましょう。その場合、ずっとWebサービスにつながってしまっていると、他の仕事ができないという状況が生まれます。
それを解決するために、リクエストを行った後、一旦、クライアントとWebサーバーを切り離してしまい、相手のサーバーの処理が終わってレスポンスが返ってきたら再びクライアントとWebサーバーにつなげるというのがよいようです。
Callとは、ここでは、『リクエストすること』です。
Callbackとは、『レスポンスが返ってくること』です。
OkHttp3ClientクラスのnewCall( )メソッドは、Requestクラスのオブジェクトを引数にとり、新たにリクエストを行います。
OkHttp3Clientクラスのenqueue()メソッドは、今後レスポンスが返ってきたときの処理の記載を含んだ『Callbackインターフェースを実装したクラスのオブジェクト』を引数にとり、スケジュールを立てておきます。
OkHttp3のCallbackインターフェースには、二つのメソッドが定義されてます。
正しいレスポンスが返ってきたら、onResponse( )メソッドが実行されます。