NotePad Project (8)













Note Pad Project (8)
================

MainActivity ကေန + icon ႏွိပ္ၿပီး New note add တာ ျဖစ္ျဖစ္၊ ListView item တခုကို click ရင္ ျဖစ္ျဖစ္ intent မွာ အဲဒီ file name ကို "filename" key နဲ႔ သယ္ေဆာင္ၿပီး ေရာက္ရွိလာမွာ ျဖစ္ပါတယ္။ NoteActivity ဘက္မွာ အဲဒီ file name ကို intent ကေန ထုတ္ယူဖို႔ ဒီလို ေရးရတယ္။

filename=getIntent().getExtras().get("filename").toString();

အဲဒီ အမည္နဲ႔ ဖိုင္ဟာ Internal Storage ထဲမွာ ရွိမရွိ စစ္ေဆးၾကည့္မယ္။ ရွိရင္ ListView က လာတာ။ မရွိရင္ Add new note နဲ႔ လာတာ။

File f=new File(getFilesDir().toString(),filename);

if(f.exists()){

}

ဖိုင္ရွိရင္ အဲဒီ ဖိုင္ထဲက စာေတြကို ဖြင့္ဖတ္ၿပီး EditText မွာ ျပမယ္။

Back arrow ႏွိပ္ၿပီး ထြက္လိုက္ရင္ EditText ထဲက စာေတြကို filename သံုးၿပီး Internal Storage မွာ write လိုက္မယ္။

Internal Storage မွာ file read/write လုပ္နည္းကို paid group ထဲက Lesson (107), (108) မွာ ေလ့လာႏိုင္ပါတယ္။

File ဖြင့္ဖတ္ဖို႔ Method တခုနဲ႔ ေရးထားမယ္။

========
private void ReadFile(){
try
{
InputStream is=new BufferedInputStream(openFileInput(filename));

int size=is.available();
byte[] buffer=new byte[size];

is.read(buffer);
is.close();

String content=new String(buffer,"UTF-8");
et.setText(content);
}
catch (IOException e)
{}

}
========

File save ဖို႔ Method တခုနဲ႔ ေရးထားမယ္။

========
private void SaveFile(){
FileOutputStream outputStream = null;
try {
outputStream = openFileOutput(filename, Context.MODE_PRIVATE);
outputStream.write(et.getText().toString().getBytes());
outputStream.close();

} catch (Exception e) {}
}
========

onCreate ထဲမွာ file ဖြင့္ဖတ္၊ EditText မွာ ေရးျပရမယ္။

onOptionsItemSelected(...) method ထဲမွာ ဖိုင္ save ရမယ္။
========

NoteActivity.java code အျပည့္အစံု
========
package nnl.aide.lessons;
import android.app.*;
import android.widget.*;
import android.os.*;
import android.graphics.drawable.*;
import android.graphics.*;
import android.view.*;
import java.io.*;
import android.content.*;

public class NoteActivity extends Activity
{
EditText et;
String filename;

@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.note_layout);
et=(EditText)findViewById(R.id.et);

ActionBar ab=getActionBar();
ab.setBackgroundDrawable(new ColorDrawable(
Color.rgb(255,100,0)));

ab.setHomeButtonEnabled(true);

filename=getIntent().getExtras()
.get("filename").toString();

ReadFile();
}

@Override
public boolean onOptionsItemSelected(MenuItem item)
{
if(item.getItemId()==android.R.id.home){
SaveFile();
finish();
}
return super.onOptionsItemSelected(item);
}

private void ReadFile(){
try
{
InputStream is=new BufferedInputStream(openFileInput(filename));

int size=is.available();
byte[] buffer=new byte[size];

is.read(buffer);
is.close();

String content=new String(buffer,"UTF-8");
et.setText(content);
}
catch (Exception e)
{}

}

private void SaveFile(){
FileOutputStream outputStream = null;
try {
outputStream = openFileOutput(filename, Context.MODE_PRIVATE);
outputStream.write(et.getText().toString().getBytes());
outputStream.close();

} catch (Exception e) {}
}
}

========

Run ၾကည့္ပါ။ Note ေတြကို စတင္ ဖန္တီးႏိုင္၊ edit လုပ္ႏိုင္ပါၿပီ။

#nnl


AIDE Android Lessons And Project Group
ဆရာ Nyi Nyi Lwin Post မွ ကူးယူတင္ထားပါသည္

#Credit ဆရာ Nyi Nyi Lwin


Comments

Popular posts from this blog

♡ မဂၤလာခြန္းဆက္ ♡

《《 ဝမ္းနည္းပါေၾကာင္း 》》