Android:HTTPによる外部APIからのデータ取得
HTTP通信を使用して外部APIからテキストデータを取得しよう!!
ってことでYahoo PIPESで作成したAPIからデータを取得してみようと思います。
参考資料
「HTTP通信でダウンロードする」
「AndroidでMicrosoftの翻訳APIで取得したデータを表示させた。」
・使用するクラスは java.net.HttpURLConnection と java.net.URL を使用します。
・上記クラスを使用するためのpermissionを許可するために、
AndroidManifest.xml のpermission設定に"android.permission.INTERNET"を追加します。
※Manifest.permission
サンプルコード
ってことでYahoo PIPESで作成したAPIからデータを取得してみようと思います。
参考資料
「HTTP通信でダウンロードする」
「AndroidでMicrosoftの翻訳APIで取得したデータを表示させた。」
・使用するクラスは java.net.HttpURLConnection と java.net.URL を使用します。
・上記クラスを使用するためのpermissionを許可するために、
AndroidManifest.xml のpermission設定に"android.permission.INTERNET"を追加します。
※Manifest.permission
サンプルコード
package com.tomonobu.application.test_1;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class Test_program_2Activity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
HttpURLConnection http = null;
InputStream in = null;
TextView web = new TextView(this);
try {
URL url = new URL("" +
"http://pipes.yahoo.com/tomonobu/translation_e2j_api" +
"?_render=json&text=test");
http = (HttpURLConnection)url.openConnection();
http.setRequestMethod("GET");
http.connect();
in = http.getInputStream();
String src = new String();
byte[] line = new byte[1024];
int size;
while(true) {
size = in.read(line);
if(size <= 0)
break;
src += new String(line);
}
web.setText(src);
} catch(Exception e) {
web.setText(e.toString());
} finally {
try {
if(http != null)
http.disconnect();
if(in != null)
in.close();
} catch (Exception e) {}
}
setContentView(web);
}
}
by Tomonobu1979
| 2011-07-14 18:36
| android