|
ファイル名「InputTextActivity.java」 いつものActivityファイル
package and.roid.inputtext;
import android.app.Activity;
import android.graphics.PixelFormat;
import android.os.Bundle;
import android.view.Display;
import android.view.Window;
import android.view.WindowManager;
public class InputTextActivity extends Activity {
public float disp_w,disp_h;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFormat(PixelFormat.TRANSLUCENT);
Window window = getWindow();
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
WindowManager manager = window.getWindowManager();
Display disp = manager.getDefaultDisplay();
disp_w = disp.getWidth();
disp_h = disp.getHeight();
setContentView(new InputTextView(this));
}
}
|
Activityファイルは、一番下の段のコードがたまに変わるだけでいつもこのまま使っています。 完全フルスクリーン仕様&画面の幅、高さを取得しています。 |
ファイル名「InputTextView.java」
package and.roid.inputtext;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import android.content.Context;
import android.content.res.AssetManager;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.view.View;
public class InputTextView extends View {
InputTextActivity activity;//アクティビティクラスの登録準備
String text;//表示文字登録準備
static private final String FILE_PATH = "test1.txt";//ファイルパス
//コンテキスト
public InputTextView(Context context) {
super(context);
initInputText(context);
}
//ここでファイル読み込み
private void initInputText(Context context) {
//アクティビティクラス登録
activity = (InputTextActivity)context;
//ファイル読み込みなど操作するときはtry{}catch{}で囲む
try{
//元からあるassetsフォルダに入れたtextファイルを読み込む方法
AssetManager assets = getResources().getAssets();
InputStream in = assets.open(FILE_PATH);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String str;
StringBuilder strs = new StringBuilder();
while ((str = br.readLine()) != null) {
strs.append(str);
}
br.close();
text = strs.toString();
}catch (Exception e){
text = "読み込み失敗";
}
}
//Viewを継承させるとここが自動的に呼ばれる
protected void onDraw(Canvas c){
setBackgroundColor(Color.WHITE);
super.onDraw(c);
Paint p = new Paint();
p.setAntiAlias(true);
p.setColor(Color.RED);
p.setTextSize(15);
c.drawText(text, 0, 100, p);
}
}
|
ファイル読み込み方法は色々な方法があるみたいです。それと読み込み場所も色々あり、アプリケーションに組み込まれたファイル、assetsフォルダに置いてあるファイル、rowフォルダに置くファイル、SDカードから読み込むファイルなどなど。 読み込み方法はどのやりかたも共通なものがあって、 ファイルを読み込むためのメソッドを呼び出す>try{}catch{}の中で読み込む>読み込むためのメソッドを閉じる(終了させる) となっています。 |
| 実行結果 |
![]() |
| 無事に表示できました。 |
今回はわたくしの一番苦手なプログラムになりました。このファイル読み込み系は様々な方法があって、手持ちの本、様々なサイトさんなど見比べてみてもすべて違うのです。 今回は手持ちの本&サイトさんを参考にしました。そのサイトさんは、色々なソースコードでお世話になっているのですが、一番シンプルでわかりやすいのがすごくすばらしいです。 参考サイトさん: 愚鈍人(ファイルアクセスの頁) |
assetsフォルダに入れたtextファイルを読み込み表示 |
|
その1のコードを使用して連続したデータを取り込み分解 |
|
今までの読み込みこんだデータを図形に変換してみた! |
|
アプリケーション専用ファイルでの書き込み読み込み |
|
アプリケーション終了→次回起動時までデータの保持 |
|
Androidプログラミング日記 (仮)
