Pocket
LINEで送る

socketでインターネット接続すると、毎回AsyncTaskとか使わなくてはいけなくてめんどくさいので、ライブラリを使うのが一般的らしい。

参考:色んなAndroidアプリが使っているオープンソースライブラリを調べた

おすすめライブラリぽいやつ
Retrofit
Android Asynchronous Http Client
OkHttp

とりあえず、Android Asynchronous Http Clientというのを使ってみる。

ライブラリの読み込み方

参考:Android Studioでライブラリを取り込む3つの方法
外部のリポジトリからローカルに取り込む方法が一番いい気がする。

Android Asynchronous Http ClientのInstallation & Basic Usageというところに、設定方法が書いてあった。

build.gradleのdependeciesに下記を追加する。

dependencies {
  compile 'com.loopj.android:android-async-http:1.4.9'
}

Activityでインポートする。

import com.loopj.android.http.*;

使ってみる

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import com.loopj.android.http.*;
import cz.msebera.android.httpclient.Header;

public class MainActivity extends AppCompatActivity {
    private static final String url = "http://logicky.com";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        loadAsync();
    }

    private void loadAsync() {
        AsyncHttpClient client = new AsyncHttpClient();
        client.get(url, new DataAsyncHttpResponseHandler() {
            @Override
            public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
                String body = new String(responseBody);
                Log.d("TEST", "body=" + body);
            }

            @Override
            public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {
                Log.d("TEST", "エラー");
            }
        });
    }
}
Pocket
LINEで送る

カテゴリー: プログラミング

コメントください

関連記事

プログラミング

cakePHP2 – 多言語化

多言語化します。 cakephpマニュアルのこのページに説明が書いてあ 続きを読む …

プログラミング

Go言語によるビットコインのフルノード実装btcdを調べる(2)

btcdを実行した際のプログラムの流れを最初から確認してみます。 se 続きを読む …

%d人のブロガーが「いいね」をつけました。