人気ブログランキング | 話題のタグを見る
ブログトップ

智信の部屋

tomonobu.exblog.jp

プログラムに関する雑談なんかを書いていこうと思います。(android記事のまとめサイトはこちらです→http://tomonobu.rocketserver.jp/android_blog_index.php)

Android:HTTPによる外部APIからのデータ取得

HTTP通信を使用して外部APIからテキストデータを取得しよう!!
ってことでYahoo PIPESで作成したAPIからデータを取得してみようと思います。

参考資料
HTTP通信でダウンロードする
AndroidでMicrosoftの翻訳APIで取得したデータを表示させた。

・使用するクラスは java.net.HttpURLConnectionjava.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

by Tomonobu1979