ネットワーク
■http通信
UIスレッドを操作するためのハンドラ宣言
Handler mHandler = new Handler();
new Thread(new Runnable() {
@Override
public void run() {
try{
URL url = new URL("http://www.dicre.com/work/test.html");
HttpURLConnection con = (HttpURLConnection)url.openConnection();
//con.setRequestMethod("GET");
con.connect();
BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream()));
final StringBuilder sb = new StringBuilder();
String str;
while((str = br.readLine()) != null){
sb.append(str);
}
con.disconnect();
mHandler.post(new Runnable() {
public void run() {
TextView tv = (TextView)findViewById(R.id.textView1);
tv.setText(sb.toString());
}
});
} catch(Exception ex) {
}
}
}).start();
■WebView
Webページを表示するView。
onCreate内での準備
WebView wv = (WebView)this.findViewById(R.id.webView1);
wv.setWebViewClient(new WebViewClient());
wv.getSettings().setJavaScriptEnabled(true);
wv.loadUrl("http://www.yahoo.co.jp");
Backボタン対応
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if(keyCode == KeyEvent.KEYCODE_BACK){
WebView wv = (WebView)this.findViewById(R.id.webView1);
if (wv.canGoBack()){
wv.goBack();
return true;
}
}
return super.onKeyDown(keyCode, event);
}
ローカルhtml
プロジェクトのassets内にwwwフォルダを作りhtml等を設置
URLは file:///android_asset/www/index.html のようになる。
Android開発 虎の巻