Anda di halaman 1dari 13

Mobile Programing

(Android)

Simple
File Storage

Altry David Purba


JJJJ

Simple File Storage


1. Materi Simple File
Simple file merupakan penyimpanan data pada file yang mirip dengan
manajemen sistem file pada platform umum lainnya. Simple file Memanfaatkan I/O
yang disediakan oleh API Android. Peyimpanan file dalam simple file terdapat 2
jenis yaitu internal storage (non removable) dan removable SD Card.
a. Internal storage (non-removable)
Internal storage merupakan menyimpan file atau data secara langsung, pada
perangkat memori internal. File atau data akan disimpan pada memori internal secara
private pada Aplikasi. Ketika aplikasi tersebut di-uninstall, maka file data juga ikut
terhapus. Method yang digunakan untuk membuat dan menyimpan file di internal
storage adalah sebagai berikut.
// Membuat Dan Menyimpan File
FileOutputStream

FileOut=openFileOutput

(file

name,

Context.MODE.PRIVATE

Method yang digunakan untuk membuka dan membaca file yang telah dibuat
di internal storage adalah sebagai berikut.
FileInputStream fin = openFileInput(file);

Macam-macam mode file dalam penyimpanan internal adalah sebagai berikut


ini.

MODE_PRIVATE. Mode yang hanya bisa diakses oleh aplikasi yang


memanggilnya saja (mode default).

MODE_APPEND. Menginstruksikan Android untuk menambah file daripada


menghapusnya.

b. External storage (removable SD Card)


File atau data akan disimpan pada memori external seperti micro SD
(removable) secara publik, serta dapat diakses dan dimodifikasi oleh user (pengguna).
Karena sifatnya yang removable Karena sifatnya yang removable, maka external
storage tidak selalu dalam kondisi tersedia maka sebelum menggunakan external
storage, aplikasi sebaiknya memeriksa status penyimpanan pemeriksaan dilakukan
dengan method:
Environment.getEksternalStorageState

Perlu juga untuk memastikan bahwa aplikasi memiliki izin untuk membaca
dan menulis data ke pengguna SD card, sehinga perlu ditambah izin

pada

AndroidManifest.xml seperti kode program berikut.


//Menulis File
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"/
>
//Membaca File
<uses-permission
android:name="android.permission.READ_EXTERNAL_STORAGE"/>
Macam-macam status storage dalam penyimpanan ekternal adalah sebagai
berikut ini.

MEDIA_READ_ONLY. Penyimpanan eksternal terpasang dan dipasang dalam


mode read-only. Aplikasi dapat membaca file pada penyimpanan eksternal, tetapi
mereka tidak bisa menulis.

MEDIA_SHARED. Penyimpanan eksternal dibagikan melalui USB dengan


komputer.

MEDIA_BAD_REMOVAL. Penyimpanan eksternal menghapus tidak benar


sehingga membutuhkan pengecekan.

MEDIA_UNMOUNTABLE. Penyimpanan eksternal terpasang ke perangkat


tetapi sistem file tidak dapat dipasang. Ini menunjukkan bahwa kemungkina
media rusak.

2. Implementasi Simple file


Implementasi simple file yang dibuat yaitu memanfaatkan internal storage.
Konsepnya yaitu untuk menulis teks ke dalam file dan membaca teks yang telah
ditulis. Implementasi simple file ini terdiri dari 2 activity yaitu activity_main.xml dan
MainActiviy.java
a. activity_main.xml
activity_main.xml berfungsi sebagai untuk membuat dan mengatur tampilan
interface aplikasi yang akan dibuat. Sintaks untuk membuat layout aplikasi simple
file adalah sebagai berikut ini.
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="?android:attr/colorBackground"
android:padding="5dp"
android:text="Simple File Storage"
android:textAppearance="@style/TextAppearance.AppCompat.Display1"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:textColor="@android:color/black" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Baca Text"
android:onClick="ReadBtn"
android:textAppearance="@style/TextAppearance.AppCompat.Button"
android:layout_alignRight="@+id/editText1"
android:layout_alignEnd="@+id/editText1"
android:layout_alignTop="@+id/button1"
android:layout_alignBottom="@+id/button1" />
<TextView
android:text="Masukkan Teks"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textView"
android:textAppearance="@style/TextAppearance.AppCompat.Body2"

android:layout_below="@+id/textView1"
android:layout_marginTop="36dp"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:layout_below="@+id/textView"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="12dp"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:textAppearance="@style/TextAppearance.AppCompat.Display1">
<requestFocus />
</EditText>
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Tulis Text "
android:onClick="WriteBtn"
android:layout_marginTop="48dp"
android:textAppearance="@style/TextAppearance.AppCompat.Button"
android:layout_below="@+id/editText1"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
</RelativeLayout>
Kode Program 1.1 Activity_main.xml

Kode Program activity_main.xml merupakan sintaks yang mengatur layout


atau tampilan interface dari aplikasi simple file yang dibuat. Penjelsan setiap blok
programnya adalah sebagai berikut ini
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="?android:attr/colorBackground"
android:padding="5dp"
android:text="Simple File Storage"
android:textAppearance="@style/TextAppearance.AppCompat.Display1"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:textColor="@android:color/black" />
Kode Program 1.2 Blok Program textview1

Kode Program 1.2 berfungsi sebagai text view yang akan akan menampilkan
teks Simple File Storage yang merupakan nama dari aplikasi yang dibuat.
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Baca Text"
android:onClick="ReadBtn"
android:textAppearance="@style/TextAppearance.AppCompat.Button"
android:layout_alignRight="@+id/editText1"
android:layout_alignEnd="@+id/editText1"
android:layout_alignTop="@+id/button1"
android:layout_alignBottom="@+id/button1" />
Kode Program 1.3 buttonview2

Kode program 1.3 merupakan sintaks untuk membuat button Baca Teks pada
tampilan interface aplikasi yang berfungsi untuk membaca text yang telah ditulis dan
disimpan. Button ini bekerja sesuai dengan perintah yang telah dibuat di
MainActivity.java.
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Tulis Text "
android:onClick="WriteBtn"
android:layout_marginTop="48dp"
android:textAppearance="@style/TextAppearance.AppCompat.Button"
android:layout_below="@+id/editText1"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
Kode Program 1.4 buttonview1

Kode program 1.4 merupakan sintaks untuk membuat button Tulis Teks pada
tampilan interface aplikasi yang berfungsi untuk menyimpan teks yang telah ditulis.
Button in bekerja sesuai dengan perintah yang telah dibuat di MainActivity.java.

3.

MainActivity.java
Mainactivity.java berfungsi untuk untuk mendeklarasikan fungsi-fungsi. Sintaks

dari Mainactivity.java aplikasi simple file adalah sebagai berikut ini.

package com.example.david.simplefiles;
import
import
import
import
import
import
import
import

android.app.Activity;
android.app.AlertDialog;
android.content.DialogInterface;
android.os.Bundle;
android.util.Log;
android.view.View;
android.widget.EditText;
android.widget.Toast;

import
import
import
import

java.io.FileInputStream;
java.io.FileOutputStream;
java.io.InputStreamReader;
java.io.OutputStreamWriter;

public class MainActivity extends Activity {


EditText textmsg;
static final int READ_BLOCK_SIZE = 100;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textmsg = (EditText) findViewById(R.id.editText1);
}
// menulis teks kedalam file
public void WriteBtn(View v) {
try {
FileOutputStream fileout = openFileOutput("myfile.txt",
MODE_PRIVATE);
OutputStreamWriter outputWriter = new
OutputStreamWriter(fileout);
outputWriter.write(textmsg.getText().toString());
outputWriter.close();
//menampilkan teks berhasil dismpan
Toast.makeText(getBaseContext(), "Teks Berhasil
Disimpan!",
Toast.LENGTH_SHORT).show();
} catch (Exception e) {
e.printStackTrace();
}
}
//membaca file
public void ReadBtn(View v) {
try {
FileInputStream fileIn = openFileInput("myfile.txt");
InputStreamReader InputRead = new

InputStreamReader(fileIn);
char[] inputBuffer = new char[READ_BLOCK_SIZE];
String s = "";
int charRead;
while ((charRead = InputRead.read(inputBuffer)) > 0) {
String readstring = String.copyValueOf(inputBuffer,
0, charRead);
s += readstring;
}
InputRead.close();
{
//menampilkan dialog teks yang dibaca
AlertDialog.Builder builder = new
AlertDialog.Builder(MainActivity.this);
builder.setTitle("Baca File");
builder.setMessage(""+s);
builder.setPositiveButton("Ok", new
DialogInterface.OnClickListener() {@Override
public void onClick(DialogInterface dialog, int
i) {
Log.e("info", "Ok");
}
});
builder.show();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
Kode Program 1.5 MainActivity.java

Kode Program 1.5 merupakan source code MainActivity.java aplikasi simple


file yang dibuat. Untuk penjelsan potongan kode programnya yaitu seperti berikut.
public class MainActivity extends Activity {
EditText textmsg;
static final int READ_BLOCK_SIZE = 100;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textmsg = (EditText) findViewById(R.id.editText1);
}
Kode Program 1.6

Blok Program static final int READ_BLOCK_SIZE = 100; berfungsi


untuk

mengatur

bayaknya

karakter

super.onCreate(savedInstanceState);

yang

berfungsi

aka

di

baca.

meng-extend fungsi

dari

parent class sehingga kita bisa menambahkan fungsi. setContentView untuk


menginisiasi layout yang akan dipakai pada Activity MainActivity.java dan
R.layout.activity_main untuk menunjukan lokasi layout yang digunakan

untuk

MainActivity.java yaitu file activity_main.xml


public void WriteBtn(View v) {
try {
FileOutputStream fileout = openFileOutput("myfile.txt",
MODE_PRIVATE);
OutputStreamWriter outputWriter = new
OutputStreamWriter(fileout);
outputWriter.write(textmsg.getText().toString());
outputWriter.close();
Toast.makeText(getBaseContext(), "Teks Berhasil
Disimpan!",
Toast.LENGTH_SHORT).show();
} catch (Exception e) {
e.printStackTrace();
}
}
Kode Program 1.7 Method Write Text to File

Kode program 1.7 merupakan Method write text to file. Method


openFileOutput("myfile.txt", MODE_PRIVATE)

menyimpan file.

berfungsi untuk membuat dan

Method openFileOutput () akan mengembalikan sebuah

instance dari FileOutputStream. Setelah membuat method tersebut maka dapat


memanggil method write text to file untuk menulis data pada file. Blok program
Toast.makeText(getBaseContext(),"Teks
Toast.LENGTH_SHORT).show();

Berhasil

Disimpan!",

berfungsi untuk menampilkan pesan informasi

apabila text yang ditulis berhasil dismpan.


public void ReadBtn(View v) {
try {
FileInputStream fileIn = openFileInput("myfile.txt");
InputStreamReader InputRead = new
InputStreamReader(fileIn);
char[] inputBuffer = new char[READ_BLOCK_SIZE];

String s = "";
int charRead;
while ((charRead = InputRead.read(inputBuffer)) > 0) {
String readstring = String.copyValueOf(inputBuffer,
0, charRead);
s += readstring;
}
InputRead.close();
Kode Program 1.8 Method Read text from File

Kode Program 1.8 merupakan Method read text to file. Method


openFileinput ("myfile.txt")
openFileinput

berfungsi untuk membuka file dan membacanya.

akan mengembalikan sebuah instance dari FileInputStream.

Setelah itu maka akan dipanggil method read text from file untuk membaca setiap
karakter dari file dan kemudian mencetaknya. Blog program:
char[] inputBuffer = new char[READ_BLOCK_SIZE];
String s = "";
int charRead;
while ((charRead = InputRead.read(inputBuffer)) > 0) {
String readstring = String.copyValueOf(inputBuffer, 0,
charRead);
s += readstring;}
InputRead.close();{
while ((charRead = InputRead.read(inputBuffer)) > 0) {

berfungsi untuk men-cek ukuran file yang akan dibaca dengan membaca 100 karakter
ke dalam array. Hasil array yang dibaca akan di kopi kedalam string.
AlertDialog.Builder builder = new
AlertDialog.Builder(MainActivity.this);
builder.setTitle("Baca File");
builder.setMessage(""+s);
builder.setPositiveButton("Ok", new
DialogInterface.OnClickListener() {@Override
public void onClick(DialogInterface dialog, int i) {
Log.e("info", "Ok");
}
});
builder.show();
}
Kode Program 1.9 Alert Dialog

Kode Program 1.9 merupakan alert dialog yang akan menampilkan dialog
ketika menekan button Baca Teks. Dialog tersebut akan menampilkan hasil file yang
dibaca yang dengan cara builder.setMessage(""+s);.

4. Cara Menggunakan Menjalankan Project Simple File


Langkah-langkan untuk menjalankan project simple file ini adalah sebagai
berikut ini.
1. Jalankan

android

studio.

Pada

Menu

BAR

halaman

utama

pilih

file>new>newproject kemudian buat projek baru.


2. Jika

membuat

projek

baru

secara

otomatis

activity_main.xml

dan

MainActivity.java akan langsung dibuat.


3. Pada activity_main.xml buatlah desain interface seperti membuat edit teks, teks
visw dan button. Untuk referensi dapat dilihat source code yang ada pada kode
program 1.1.
4. Selanjutnya pada MainActivity.java.

Langkah pertama yaitu inport terlebih dahulu semua library yang akan
digunakan pada project simple file ini juga import library I/O.java.

Selanjutnya buat class MainActiviy dan melakukan deklarasi, dapat dilihat


pada kode program 1.6 sebelumnya.

Kemudian membuat method untuk menulis teks kedalam file yaitu


FileOutputStream
MODE_PRIVATE);yang

fileout

openFileOutput("myfile.txt",

berfungsi untuk membuat dan menyimpan file, dapat

dilihat seperti kode program 1.7.

Kemudian membuat method membaca teks dari file yaitu FileOutputStream


fileout

openFileOutput("myfile.txt",

MODE_PRIVATE);

yang

berfungsi untuk membuka dan membaca file, dapat dilihat seperti kode
program 1.8.

Dan membut alert dialog untuk menampilkan file yang dibaca, dapat dilihat
seperti kode program 1.9.

5. Langkah selanjutnya jika seluruh kode program telah selesai dibuat koneksikan
emulator (jika menggunakan smartphone android sebagai emulator). Kemudian
tekan shift+10 atau klik button Run. Maka akan tampil halaman untuk memilih
emulator. Pilih emulator yang akan digunakan dan pulih Ok, maka program akan
di execute.
6. Tunggu proses gradle build sampai installing apk selesai. Setelah berhasil diinstal
maka secara otomatis aplikasi langsung dibuka dan bisa langsung dioperasikan.
7. Untuk menggunakannya adalah masuk kehalaman utama. Pada halaan utaman
pada bagian masukkan teks, ketikkan yang ingin ditulis. Kemuadian tekan button
Tulis Teks untuk menyimpmpan dan akan muncul pesan informasi jika berhasil
disimpan. Untuk membaca hasil yang ditulis adalah dengan menekan button Baca
Teks maka akan muncul Dialog yang akan menampilkan teks yang ditulis
sebelumnya.

Hasil uji Cobanya adalah.


a. Tampilan Halaman Utama

b. Tampilan Proses Menulis Teks

c. Tampilan Baca Teks

Anda mungkin juga menyukai