###前提・実現したいこと
ボタンをクリックするとサイトを読み込むだけの簡単なアプリを開発しようとしています。
###発生している問題・エラーメッセージ
AsyncHTTPClientのサンプルを元に実装した所エラーが発生し、ほぼサンプルをコピーした場合でもエラーが発生します。
過去の投稿を見た所もうASyncHTTPClientは使えない?(https://teratail.com/questions/54064)という投稿も見たのですが理解できていない状態です。
Error:(31, 54) エラー: AsyncHttpResponseHandlerに適切なコンストラクタが見つかりません(MainActivity) コンストラクタ AsyncHttpResponseHandler.AsyncHttpResponseHandler(Looper)は使用できません (引数の不一致: MainActivityをLooperに変換できません:) コンストラクタ AsyncHttpResponseHandler.AsyncHttpResponseHandler(boolean)は使用できません (引数の不一致: MainActivityをbooleanに変換できません:) Error:(38, 21) エラー: メソッドはスーパータイプのメソッドをオーバーライドまたは実装しません Error:(31, 89) エラー: <anonymous com.example.hoge.httptest.MainActivity$1>はabstractでなく、AsyncHttpResponseHandler内のabstractメソッドonFailure(int,Header[],byte[],Throwable)をオーバーライドしません Error:(43, 21) エラー: メソッドはスーパータイプのメソッドをオーバーライドまたは実装しません
###該当のソースコード
Java
1package com.example.hoge.httptest; 2 3import android.app.ProgressDialog; 4import android.preference.PreferenceActivity; 5import android.support.v7.app.AppCompatActivity; 6import android.os.Bundle; 7import android.util.Log; 8import android.view.View; 9import android.widget.Button; 10import android.widget.Toast; 11import com.loopj.android.http.*; 12 13 14public class MainActivity extends AppCompatActivity implements View.OnClickListener { 15 AsyncHttpClient client = new AsyncHttpClient(); 16 17 18 @Override 19 protected void onCreate(Bundle savedInstanceState) { 20 super.onCreate(savedInstanceState); 21 setContentView(R.layout.activity_main); 22 } 23 24 public void onClick(View view) { 25 switch (view.getId()) { 26 27 case R.id.b1: 28 Toast.makeText(MainActivity.this, "クリックされました!", Toast.LENGTH_LONG).show(); 29 30 31 client.get("https://www.google.com", new AsyncHttpResponseHandler(this) { //ここのAsyncHttpResponseHandlerが赤線 32 33 @Override 34 public void onStart() { 35 // called before request is started 36 } 37 38 @Override 39 public void onSuccess(int statusCode, PreferenceActivity.Header[] headers, byte[] response) { 40 // called when response HTTP status is "200 OK" 41 } 42 43 @Override 44 public void onFailure(int statusCode, PreferenceActivity.Header[] headers, byte[] errorResponse, Throwable e) { 45 // called when response HTTP status is "4XX" (eg. 401, 403, 404) 46 } 47 48 @Override 49 public void onRetry(int retryNo) { 50 // called when request is retried 51 } 52 }); 53 54 break; 55 } 56 57 58 } 59} 60
###試したこと
上記の通りASyncHTTPClientはもう使えないかもしれないという投稿のリンク先(https://developer.android.com/about/versions/marshmallow/android-6.0-changes.html?hl=ja#boringSSL)にありました、そのままレガシーで使う場合の以下の文面をbuild.gradleに追加してみましたがだめでした。
android { useLibrary 'org.apache.http.legacy' }
###補足情報(言語/FW/ツール等のバージョンなど)
AndroidStudio3.0にて開発
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。