素人のアンドロイドアプリ開発日記

メモ帳を作成する

2011.03.24

今回はメモ帳を作成してみたいと思います。

機能としては、保存と破棄のみの簡単な機能のみのメモ帳を作ります。

 

最初にレイアウトですが、テキストフィールドと、ボタンを2つ、そしてstring.xmlの中に変数を用意しておきます。

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"
 >
 <EditText 
 android:id="@+id/editText1" 
 android:text="EditText" 
 android:layout_width="fill_parent" 
 android:layout_height="wrap_content"></EditText>
 <Button 
 android:text="@string/save" 
 android:id="@+id/button1" 
 android:layout_width="wrap_content" 
 android:layout_height="wrap_content"></Button>
 <Button 
 android:text="@string/delete" 
 android:id="@+id/button2" 
 android:layout_width="wrap_content" 
 android:layout_height="wrap_content"></Button>
</LinearLayout>

strings.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
 <string name="hello">Hello World, MemoFile!</string>
 <string name="app_name">memo</string>
 <string name="file_name">memofiles</string>
 <string name="save">保存</string>
 <string name="delete">破棄</string>
</resources>

以上で設定をしてインストールをすると以下のようになります。

メモ帳

 

また、activityのファイルは下記のように記載をします。

package in.andante.memo;

import java.io.FileInputStream;
import java.io.FileOutputStream;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

public class MemoFile extends Activity implements OnClickListener {
 /** Called when the activity is first created. */
 EditText editText1;
 Button button1,button2;
 String fileName;
 @Override
 public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.main);
 editText1 = (EditText)findViewById(R.id.editText1);
 button1 = (Button)findViewById(R.id.button1);
 button2 = (Button)findViewById(R.id.button2);
 button1.setOnClickListener(this);
 button2.setOnClickListener(this);
 fileName = getResources().getString(R.string.file_name);
 try{
 FileInputStream fis = openFileInput(fileName);
 byte[] readBytes = new byte[fis.available()];
 fis.read(readBytes);
 editText1.setText(new String(readBytes));
 fis.close();
 }catch(Exception e){}
 }

 @Override
 public void onClick(View v) {
 // TODO Auto-generated method stub
 if(v == button1){
 //保存
 try{
 FileOutputStream fos = openFileOutput(fileName, Context.MODE_PRIVATE);
 fos.write(editText1.getText().toString().getBytes());
 fos.close();
 }catch(Exception e){};
 
 }else if(v == button2){
 //破棄
 editText1.setText("");
 deleteFile(fileName);
 };
 }
}

 

今回に関しては、file名を固定にする事で常に、同じファイルを扱う事ができます。

今回使っている仕様

最初は、findViewByIdでmain.xmlで配置しているファイルをスクリプト内に反映します。またFileInputStreamで最初にread(読み込み)を行っております。一番最初、またはファイルを破棄した状態ではファイルは存在しないので、catchでエラーの場合わけを行います。ファイルを保存する時にはFileOutputStreamを用いて、画像画像を保存しています。この時ファイルの容量はテキストの容量と同義なので、テキストの容量をバッファーのサイズにあてる事ができます。またファイルの破棄の際にはdeleteFile()のみで破棄ができます。

以上で、簡単なメモ帳ができました(本当に簡単なものですいません。)よろしければ練習に作成をしてみてください。

同じカテゴリの記事を紹介します

保存した内容を本体に認識をさせる。画像をスライドショーとして表示する。完成:ファイル一式。画像をスライドショーとして表示する。BaseAdapterでAdapterを作る。画像をスライドショーとして表示する。画像のファイルを読み込む画像をスライドショーとして表示する。画像のファイルにアクセス画像をスライドショーとして表示する。SDカードの認識テキストファイルの操作関数バッファ周りの関数を調べる

カテゴリー:ファイル操作

公開中のアプリ、是非ダウンロードしてみてください

2chまとめのたね

RSSを利用してさまざまなブログの情報をキュレーションしてくれるアプリ

インストールする

ひらがな戦記

OPENGL ES2 を利用したカルタのソーシャルゲーム

インストールする