Professional Documents
Culture Documents
INTERNAL STORAGE
Dalam latihan ini kita akam membuat aplikasi yang bisa menyimpan tulisan dalam format namaFile.txt.
File ini disimpan 1 package dengan aplikasi, dapat dibaca kembali jika diklik button “Read Field”. Melalui
perspektif DDMS, anda bisa melihat file yang dicreate. Perhatikan gambar disamping
3. Activity
1. package com.write.file;
2. import java.io.FileInputStream;
3. import java.io.InputStreamReader;
4. import java.io.OutputStream;
5. import java.io.OutputStreamWriter;
6. import android.app.Activity;
7. import android.os.Bundle;
8. import android.util.Log;
9. import android.view.View;
10. import android.view.View.OnClickListener;
11. import android.widget.Button;
12. import android.widget.EditText;
13. import android.widget.Toast;
14. public class StorageInternalActivity extends Activity implements
15. OnClickListener {
16. final String FILE_NAME = "SAMPLEFILE.txt";
17. EditText pesan;
18. Button bsave, bclear, bread;
19. String isiPesan;
20. /** Called when the activity is first created. */
21. @Override
22. public void onCreate(Bundle savedInstanceState) {
23. super.onCreate(savedInstanceState);
24. setContentView(R.layout.main);
25. pesan = (EditText) findViewById(R.id.inPesan);
26. bsave = (Button) findViewById(R.id.bSave);
27. bclear = (Button) findViewById(R.id.bClear);
28. bread = (Button) findViewById(R.id.bRead);
29. bsave.setOnClickListener(this);
30. bclear.setOnClickListener(this);
31. bread.setOnClickListener(this);
32. }
33. public void onClick(View v) {
34. // TODO Auto-generated method stub
35. switch (v.getId()) {
36. case R.id.bSave:
37. fileCreate();
38. break;
39. case R.id.bClear:
40. pesan.setText("");
41. break;
42. case R.id.bRead:
43. readFile();
44. break;
45. }
46. }
47. private void fileCreate() {
48. try {
49. isiPesan = pesan.getText().toString();
50. OutputStream os = openFileOutput(FILE_NAME, MODE_WORLD_READABLE);
51. OutputStreamWriter osw = new OutputStreamWriter(os);
52. osw.write(isiPesan);
53. osw.close();
54. Toast.makeText(getApplicationContext(), "Berhasil Disimpan",
55. Toast.LENGTH_SHORT).show();
56. } catch (Exception e) {
57. Log.i("ReadNWrite, fileCreate()", "Exception e = " + e);
58. }
59. }
60. private void readFile() {
61. try {
62. FileInputStream fin = openFileInput(FILE_NAME);
63. InputStreamReader isReader = new InputStreamReader(fin);
64. char[] buffer = new char[isiPesan.length()];
65. isReader.read(buffer);
67. pesan.setText(new String(buffer));
68. } catch (Exception e) {
69. Log.i("ReadNWrite, readFile()", "Exception e = " + e);
70. }
71. }
72. }
PENJELASAN PROGRAM
Berikut adalah langkah-langkah untuk membuat dan menyimpan file dalam internal storage :
1. Panggil method openFileOutput dengan 2 parameter, yaitu nama file dan mode. Jika sebelumnya
belum ada file maka akan dibuat file baru. Namun jika sudah ada maka file lama akan direplace.
Method ini memiliki kembalian berupa FileOutputStream.
2. Menulis file melalui method write(). OutputStreamWriter adalah kelas yang bertugas mengubah
aliran karakter menjadi aliran byte. Dengan demikian, teks apa saja yang dimasukkan dalam field
akan diubah menjadi deretan byte oleh kelas OutputStreamWriter, kemudian dituliskan ke dalam file
melalui method write()
3. Method close dipanggil untuk menutup pintu masuk file .txt, kemudian buffer dilepaskan.
Secara umum, proses membaca file dari internal storage sama dengan waktu menulis. Method
openFileInput untuk mengambil file .txt, kemudian aliran byte diubah menjadi karakter oleh kelas
InputStream Reader(). Akhirnya karakter berupa deretan huruf ditampilkan kembali dalam field.
Dalam membuat aplikasi, kadang kita ingin aplikasi berjalan seperti sebenarnya, misalnya me-load file
mp3 atau gambar dari sdcard, atau menyimpan file ke dalam sdcard. Untuk memenuhi kebutuhan
seperti ini maka kita harus membuat sebuah virtual sdcard pada emulator. Berikut adalah cara untuk
membuat virtual sdcard :