ネットワーク
■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 のようになる。