カテゴリー:
Contextクラス
閲覧数:515 配信日:2014-03-23 08:29
例1
ファイル入出力
・ファイルの書き込みと読み込み、そして読み取った内容を画面に表示
▼ /Context/src/android/style/FileReadActivity.java
package android.style;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import android.app.Activity;
import android.content.Context;
import android.graphics.Typeface;
import android.os.Bundle;
import android.widget.LinearLayout;
import android.widget.TextView;
public class FileReadActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// ベースのレイアウト取得
LinearLayout parent = (LinearLayout) findViewById(R.id.parent);
String f = "sample.txt";
createTable(f); // ファイル作成
try {
BufferedReader br = new BufferedReader(new InputStreamReader(// InputStreamReaderとBufferedReaderクラスを使って、1行ずつ処理
openFileInput(f)));// openFileInputメソッドで入力ストリームを取得
try {
String line;
while ((line = br.readLine()) != null) {
TextView tv = new TextView(this);
tv.setTypeface(Typeface.MONOSPACE); // フォントを等幅にするために、setTypefaceメソッドで、フォントファミリーにTypeface.MONOSPACEの指定を
tv.setText(line);// 取得した1行は、それぞれテキストビューに設定
parent.addView(tv); // レイアウト(ビュー)に追加
}
} finally {
br.close();
}
} catch (IOException e) {
}
}
// ファイルに九九表を出力する
public void createTable(String f) {
try {
PrintWriter pw = new PrintWriter(new BufferedWriter(
new OutputStreamWriter(openFileOutput(f,
Context.MODE_WORLD_READABLE))));
try {
for (int i = 1; i < 10; i++) {
for (int j = 1; j < 10; j++) {
pw.printf("%3d ", i * j);
}
pw.printf("\n");
}
} finally {
pw.close();
}
} catch (IOException e) {
}
}
}
・xml … レイアウト
▼/res/layout/main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/parent"
>
</LinearLayout>