日 力力 生 行行 入 入 力力 生 用 方
力力 生 行行 自 行行 生 力力 生 一 二 力力 生 力力 力力 方
ファイル書き込み Androidプロジェクトの 生成 新規Androidプロジェクトを下記の設定値で作成 項 目名 設定値 プロジェクト名 Sample9 ビルドターゲット Android 2.2にチェックを付 ける アプリケーション名 Sample9 パッケージ名 jp.ac.uot Create Activity FileWriteActivity サンプルアプリケーションの動作 実 行行すると 2 個のエディットテキストと 1 個のボタンが表 示される 1個 目のエディットテキストにファイル名 2個 目のエディットテキストにファイルに書きこむ 文字列 を 入 力力して ボタンをクリック 結果 このアプリケーションは 入 力力され 文字列を 指定された名前を持つファイルに 書き込む
<?xml version="1.0" encoding="u7-8"?> <LinearLayout xmlns:android="hap://schemas.android.com/apk/res/android" android:orientaeon="verecal" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TableLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:stretchcolumns="1" > <TableRow> <TextView android:text=" "/> <EditText android:id="@+id/filename"/> </TableRow> <TableRow> <TextView android:text=" "/> <EditText android:id="@+id/ediaext" android:layout_height="260sp" android:scrollbars="verecal" android:gravity="top" /> </TableRow> </TableLayout> <BuAon android:id="@+id/write" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="" /> </LinearLayout>
package jp.ac.uot; import java.io.bufferedwriter; import java.io.fileoutputstream; import java.io.ioexcep=on; import java.io.outputstreamwriter; import android.app.ac=vity; import android.content.context; import android.os.bundle; import android.u=l.log; import android.view.view; import android.view.view.onclicklistener; import android.widget.bufon; import android.widget.edittext; public class FileWriteAc=vity extends Ac=vity { /** Called when the acevity is first created. */ @Override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); final BuFon forward = (BuFon) findviewbyid(r.id.write); forward.setonclicklistener(new OnClickListener() { public void onclick(view v) { writetext(); );
private void writetext() { final EditText filename = (EditText) findviewbyid(r.id.filename); final EditText edifext = (EditText) findviewbyid(r.id.edi/ext); try { FileOutputStream fos = openfileoutput(filename.gettext().tostring(),context.mode_private); OutputStreamWriter osw = new OutputStreamWriter(fos); BufferedWriter bw = new BufferedWriter(osw); bw.write(ediaext.gettext().tostring()); bw.flush(); bw.close(); catch (IOExcep=on e) { Log.d("FileWriteAc=vity", e.getmessage());
ファイル書き込み サンプルアプリのスクリーンショット
入 力力 文 力力
入 力力 生 行行 入 力力 生 入 力力 生 入 力力 生 入 力力 入 力力 方 生 目
<?xml version="1.0" encoding="ui- 8"?> <LinearLayout xmlns:android="hop://schemas.android.com/apk/res/android" android:orientaeon="ver=cal android:layout_width="fill_parent" android:layout_height="fill_parent > <TableLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:stretchcolumns="1" > <TableRow> <TextView android:text=" " /> <EditText android:id="@+id/filename" /> </TableRow> </TableLayout> <BuAon android:id="@+id/read" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="" /> <TextView android:id="@+id/result" android:layout_width="fill_parent" android:layout_height="wrap_content" /> </LinearLayout>
package jp.ac.uot; import java.io.bufferedreader; import java.io.fileinputstream; import java.io.ioexcep=on; import java.io.inputstreamreader; import android.app.ac=vity; import android.os.bundle; import android.view.view; import android.view.view.onclicklistener; import android.widget.bufon; import android.widget.edittext; import android.widget.textview; public class FileReadAc=vity extends Ac=vity { /** Called when the acevity is first created. */ @Override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); final BuFon forward = (BuFon) findviewbyid(r.id.read); forward.setonclicklistener(new OnClickListener() { public void onclick(view v) { readfile(); );
private void readfile() { final EditText filename = (EditText) findviewbyid(r.id.filename); StringBuffer sb = new StringBuffer(); try { FileInputStream fis = openfileinput(filename.gettext().tostring()); InputStreamReader isw = new InputStreamReader(fis); BufferedReader br = new BufferedReader(isw); String line; while ((line = br.readline())!= null) { sb.append(line); sb.append(system.getproperty("line.separator")); br.close(); catch (IOExcep=on e) { sb.append(e.tostring()); final TextView result = (TextView) findviewbyid(r.id.result); result.settext(sb.tostring());
方 手 文 入 力力 行行 文 入 力力 入 力力 行行 入 力力 示
ファイル読み込み ファイル作成のスクリーンショット
生 目 行行 示
<?xml version="1.0" encoding="ui- 8"?> <LinearLayout xmlns:android="hop://schemas.android.com/apk/res/android" android:orientaeon="ver=cal" android:layout_width="fill_parent" android:layout_height="fill_parent"> <BuAon android:id="@+id/list" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="" /> <TextView android:id="@+id/result" android:layout_width="fill_parent" android:layout_height="wrap_content" /> </LinearLayout>
package jp.ac.uot; import android.app.ac=vity; import android.os.bundle; import android.view.view; import android.view.view.onclicklistener; import android.widget.bufon; import android.widget.textview; public class FileListAc=vity extends Ac=vity { /** Called when the acevity is first created. */ @Override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); final BuFon forward = (BuFon) findviewbyid(r.id.list); forward.setonclicklistener(new OnClickListener() { public void onclick(view v) { showfilelist(); );
private void showfilelist() { String name[] = filelist(); StringBuffer sb = new StringBuffer(); for (int i = 0; i < name.length; i++) { sb.append(name[i]); sb.append(system.getproperty("line.separator")); final TextView result = (TextView) findviewbyid(r.id.result); result.settext(sb.tostring());
手 手 方 用 用 目 入 用 言
生 目
目 行行 生 生 文 行行 文 行行 生 二 用
行行 入 行行 入 用 目 目 入 行行 目 目 行行
行行 入 言 一 行行 行行 行行 行行 文 行行
生 目 文 入 力力 入 入 力力 文 行行 入 <?xml version="1.0" encoding="ui- 8"?> <LinearLayout xmlns:android="hop://schemas.android.com/apk/res/android" android:orientaeon="ver=cal android:layout_width="fill_parent" android:layout_height="fill_parent"> <EditText android:id="@+id/memo" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <BuAon android:id="@+id/insert" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text=" " /> <TextView android:id="@+id/result" android:layout_width="fill_parent" android:layout_height="wrap_content" /> </LinearLayout>
package jp.ac.uot; import android.content.context; import android.database.sqlite.sqlitedatabase; import android.database.sqlite.sqliteopenhelper; public class DatabaseHelper extends SQLiteOpenHelper{ private sta=c final String DATABASE_NAME = "android_seminar.db"; private sta=c final int DATABASE_VERSION = 1; public DatabaseHelper(Context context, String name, CursorFactory factory, int version) { super(context, DATABASE_NAME, null, DATABASE_VERSION); // TODO Auto- generated constructor stub @Override public void oncreate(sqlitedatabase db) { // TODO Auto- generated method stub db.execsql( "create table if not exists android_seminar (" + "id integer primary key autoincrement," + "memo text )");
@Override public void onupgrade(sqlitedatabase db, int oldversion, int newversion) { // TODO Auto- generated method stub db.execsql("drop table if exists android_seminar"); oncreate(db); package jp.ac.uot; import android.app.ac=vity; import android.content.contentvalues; import android.database.cursor; import android.database.sqlite.sqlitedatabase; import android.os.bundle; import android.view.view; import android.view.view.onclicklistener; import android.widget.bufon; import android.widget.edittext; import android.widget.textview; public class SQLiteAc=vity extends Ac=vity { private DatabaseHelper helper;
/** Called when the ac=vity is first created. */ @Override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); final BuAon write = (BuAon) findviewbyid(r.id.insert); write.setonclicklistener(new OnClickListener() { public void onclick(view v) { insertrow(); showtable(); ); helper = new DatabaseHelper(this); showtable(); private void insertrow() { final EditText ememo = (EditText) findviewbyid(r.id.memo); String memo = ememo.gettext().tostring(); ememo.settext(""); ContentValues values = new ContentValues(); values.put("memo", memo); SQLiteDatabase db = helper.getwritabledatabase(); db.insert("notepad", null, values); db.close();
private void showtable() { SQLiteDatabase db = helper.getreadabledatabase(); Cursor c = db.query("notepad", new String[] { "id", "memo", null, null, null, null, null); StringBuffer sb = new StringBuffer(); while (c.movetonext()) { sb.append(c.getint(0)); sb.append(" "); sb.append(c.getstring(1)); sb.append(system.getproperty("line.separator")); c.close(); db.close(); final TextView result = (TextView) findviewbyid(r.id.result); result.settext(sb.tostring());