コード例

Android用語集

カテゴリー: Contextクラス  閲覧数:496 配信日: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>