Tutorial Cara Simpan dan Baca File Teks Pada Internal Storage Di Android Studio

Tutorial Cara Simpan dan Baca File Teks Pada Internal Storage Di Android Studio

Tutorial Cara Simpan dan Baca File Teks Pada Internal Storage Di Android Studio

Halo semuanya, Bagaimana kabar kalian hari ini? Saya harap kalian semua dalam keadaan yang baik-baik saja. Pada kesempatan kali ini saya akan membagikan Tutorial Cara Simpan & Baca File Teks Pada Internal Storage di Android Studio.

Android internal Storage atau Penyimpanan Internal adalah penyimpanan data pribadi pada memori perangkat. Secara default, menyimpan dan memuat file ke penyimpanan internal bersifat pribadi untuk aplikasi dan aplikasi lain tidak akan memiliki akses ke file ini. Saat pengguna melepas pemasangan aplikasi, file yang tersimpan yang terkain dengan aplikasi juga akan dihapus.

Namun, harus diperhatikan bahwa pengguna melakukan root pada smartphone Android mereka, mendapatkan akses untuk file yang tersimpan. Pengguna tersebut akan dapat membaca dan menulis file apa pun yang mereka inginkan.

Jadi, pada artikel ini kita akan belajar cara membuat aplikasi android untuk menyimpan file teks dan membacanya di Android Studio.

Tutorial Cara Menyimpan dan Membaca File Teks di Internal Storage pada Android Studio

Buatlah project Android Studio baru dengan informasi seperti pada tabel dibawah ini:

Application Name:Internal App
Package Name:com.androidrion.internalapp
Language:Java
Minimum SDK:API 16: Android 4.1 (Jelly Bean)

Daftar file xml layout yang digunakan dalam project ini:

  1. activity_main.xml

Daftar file java class yang digunakan dalam project ini:

  1. MainActivity.java

Dibawah ini adalah langkah-langkah dalam pembuatan aplikasi Internal App.

Langkah 1: Buat layout pada file activity_main.xml

Buka file activity_main.xml dalam folder res>layout lalu tambahkan komponen EditText, Button dan TextView. Berikut ini adalah kode lengkap untuk file activity_main.xml

app/res/layout/activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="16dp"
    tools:context=".MainActivity">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Aplikasi Catatan"
        android:textAppearance="@style/TextAppearance.AppCompat.Headline" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Penyimpanan internal"
        android:textAppearance="@style/TextAppearance.AppCompat.Subhead" />

    <com.google.android.material.textfield.TextInputLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="16dp">

        <com.google.android.material.textfield.TextInputEditText
            android:id="@+id/input_text"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="top"
            android:hint="Tulis catatan disini"
            android:inputType="textMultiLine"
            android:minLines="5" />
    </com.google.android.material.textfield.TextInputLayout>

    <androidx.appcompat.widget.LinearLayoutCompat
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="16dp"
        android:orientation="horizontal">

        <Button
            android:id="@+id/btn_simpan"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="SIMPAN CATATAN" />

        <View
            android:layout_width="16dp"
            android:layout_height="match_parent" />

        <Button
            android:id="@+id/btn_baca"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="LIHAT CATATAN" />
    </androidx.appcompat.widget.LinearLayoutCompat>

    <TextView
        android:id="@+id/text_catatan"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="32dp"
        android:textAppearance="@style/TextAppearance.AppCompat.Subhead" />

</LinearLayout>

Langkah 2: Tambahkan kode pada file MainActivity.java

Buka file MainActivity.java dalam folder java. Deklarasikan tiap masing-masing komponen yang sudah di tambahkan. Berikut ini adalah kode lengkap untuk file MainActivity.java

app/java/com.androidrion.internalapp/MainActivity.java

package com.androidrion.internalapp;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.os.Environment;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

import com.google.android.material.textfield.TextInputEditText;

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

public class MainActivity extends AppCompatActivity {

    TextInputEditText inputText;
    Button btnSimpan, btnLihat;
    TextView textCatatan;

    static final int READ_BLOCK_SIZE = 100;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        inputText = findViewById(R.id.input_text);
        btnSimpan = findViewById(R.id.btn_simpan);
        btnLihat = findViewById(R.id.btn_baca);
        textCatatan = findViewById(R.id.text_catatan);

        String path = this.getFilesDir().getAbsolutePath() + "/catatan.txt";
        File file = new File(path);

        btnSimpan.setOnClickListener(view -> {
            if (inputText.getText().toString().isEmpty()) {
                Toast.makeText(this, "Mohon masukkan catatan", Toast.LENGTH_SHORT).show();
            } else {
                try {
                    FileOutputStream fileout = openFileOutput("catatan.txt", MODE_PRIVATE);
                    OutputStreamWriter outputWriter = new OutputStreamWriter(fileout);
                    outputWriter.write(inputText.getText().toString());
                    outputWriter.close();

                    Toast.makeText(getBaseContext(), "Catatan berhasil disimpan di " + path, Toast.LENGTH_LONG).show();
                    inputText.setText("");
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });

        btnLihat.setOnClickListener(view -> {
            if (file.exists()) {
                try {
                    FileInputStream fileIn = openFileInput("catatan.txt");
                    InputStreamReader InputRead = new InputStreamReader(fileIn);

                    char[] inputBuffer = new char[READ_BLOCK_SIZE];
                    StringBuilder s = new StringBuilder();
                    int charRead;

                    while ((charRead = InputRead.read(inputBuffer)) > 0) {
                        // char to string conversion
                        String readstring = String.copyValueOf(inputBuffer, 0, charRead);
                        s.append(readstring);
                    }
                    InputRead.close();
                    textCatatan.setText(s.toString());

                } catch (Exception e) {
                    e.printStackTrace();
                }
            } else {
                Toast.makeText(this, "Anda belum menulis catatan", Toast.LENGTH_SHORT).show();
            }
        });
    }
}

Langkah 3: Jalankan projek

Ketika aplikasi berhasil dijalankan, kalian akan melihat adanya edit text dan dua tombol yaitu simpan catatan dan baca catatan. Jika kalian mengklik tombol simpan catatan tanpa adanya catatan yang ditulis di edit text, maka aplikasi akan menampilkan toast bahwa kalian belum menulis catatan. Dan jika kalian mengklik tombol baca catatan tanpa menyimpan catatan, maka kalian akan mendapatkan pesan bahwa tidak ada catatan. Selengkapnya kalian bisa melihat pada video di bawah ini.

AKHIR KATA

Itulah tadi tutorial singkat dan mudah Cara Simpan dan Baca File Teks Pada Internal Storage di Android Studio. Tutorial diatas cukup lumayan mudah untuk dikerjakan karena ada beberapa logika yang digunakan untuk membuat aplikasi tersebut. Kekurangan aplikasi diatas adalah jika kita menyimpan dengan catatan yang berbeda, maka catatan terakhirlah yang dapat ditampilkan. Seolah-olah catatan sebelumnya itu update.

Jika kalian mengalami kendala saat melakukan tutorial di atas, Silahkan beri komentar pada artikel ini dibawah. Jangan lupa untuk Subscribe Channel YouTube Android Rion. Semoga artikel ini membantu kalian semua. Terima kasih.

Download Project

Untuk download project pada tutorial ini, silahkan klik tombol dibawah ini.

Exit mobile version