とりあえずこれは必要でしょう。怪しげなRSS取り込みとかエロいテキスト書き出しとか。
まぁサンプルなので、Yahoo!Japanのトップページでも使わせてもらいます。
ちなみに元ネタのソースはこちら→ http://wiki.livedoor.jp/moonlight_aska/d/HTTP%C4%CC%BF%AE%A4%C7%A5%C0%A5%A6%A5%F3%A5%ED%A1%BC%A5%C9%A4%B9%A4%EB
import android.app.Activity; import android.os.Bundle; import android.widget.TextView; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.URL; public class MainActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); HttpURLConnection http = null; InputStream in = null; TextView web = (TextView)findViewById(R.id.texter); try { // URLにHTTP接続 URL url = new URL("http://www.yahoo.co.jp "); http = (HttpURLConnection)url.openConnection(); http.setRequestMethod("GET"); http.connect(); // データを取得 in = http.getInputStream(); // HTMLソースを読み出す 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); } // HTMLソースを表示 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) { } } } }
では、上で取り出したやつをファイルに保存してみましょう。
こちらは参考サイトは特になし。適当。上のソースに以下を追加。importは随時。「/sdcard/パッケージ名/test.txt」に保存します。
ちなみにディレクトリ作成は、File型に対してmkdir()で。
public boolean mkdir(String path){ File file = new File(path); return file.mkdir(); } private boolean _writeTextFile(String fn, String x){ FileOutputStream outputStream = null; TextView web = (TextView)findViewById(R.id.texter); String dir = "/sdcard/" + this.getPackageName(); if(mkdir(dir) == true){ web.setText("[true]\n" + web.getText()); }else{ web.setText("[false]\n" + web.getText()); } String filename = dir + "/" + fn; web.setText("[" + filename + "]\n" + web.getText()); // try { outputStream = new FileOutputStream(filename); BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(outputStream)); writer.write(x); writer.close(); } catch (IOException ex) { Logger.getLogger(MainActivity.class.getName()).log(Level.SEVERE, null, ex); web.setText("[IOError]\n" + web.getText()); } catch (Exception e) { web.setText("なんかエラー(" + e.toString() + ")" + web.getText()); } return(true); }