Contoh Penyimpanan Internal Android

Kami dapat menyimpan atau membaca data dari memori internal perangkat. Kelas FileInputStream dan FileOutputStream digunakan untuk membaca dan menulis data ke dalam file.

Di sini, kita akan membaca dan menulis data ke penyimpanan internal perangkat.

Contoh membaca dan menulis data ke penyimpanan internal android

* Main Activity

Seret 2 editText, 2 textviews dan 2 tombol dari pallete, sekarang file activity_main.xml akan seperti ini :

File : activity_main.xml

<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"  
    tools:context=".MainActivity" >  
 
    <EditText  
        android:id="@+id/editText1"  
        android:layout_width="wrap_content"  
        android:layout_height="wrap_content"  
        android:layout_alignParentRight="true"  
        android:layout_alignParentTop="true"  
        android:layout_marginRight="20dp"  
        android:layout_marginTop="24dp"  
        android:ems="10" >  
 
        <requestFocus />  
    </EditText>  
 
    <EditText  
        android:id="@+id/editText2"  
        android:layout_width="wrap_content"  
        android:layout_height="wrap_content"  
        android:layout_alignRight="@+id/editText1"  
        android:layout_below="@+id/editText1"  
        android:layout_marginTop="24dp"  
        android:ems="10" />  
 
    <TextView  
        android:id="@+id/textView1"  
        android:layout_width="wrap_content"  
        android:layout_height="wrap_content"  
        android:layout_alignBaseline="@+id/editText1"  
        android:layout_alignBottom="@+id/editText1"  
        android:layout_alignParentLeft="true"  
        android:text="File Name:" />  
 
    <TextView  
        android:id="@+id/textView2"  
        android:layout_width="wrap_content"  
        android:layout_height="wrap_content"  
        android:layout_alignBaseline="@+id/editText2"  
        android:layout_alignBottom="@+id/editText2"  
        android:layout_alignParentLeft="true"  
        android:text="Data:" />  
 
    <Button  
        android:id="@+id/button1"  
        android:layout_width="wrap_content"  
        android:layout_height="wrap_content"  
        android:layout_alignLeft="@+id/editText2"  
        android:layout_below="@+id/editText2"  
        android:layout_marginLeft="70dp"  
        android:layout_marginTop="16dp"  
        android:text="save" />  
 
    <Button  
        android:id="@+id/button2"  
        android:layout_width="wrap_content"  
        android:layout_height="wrap_content"  
        android:layout_alignBaseline="@+id/button1"  
        android:layout_alignBottom="@+id/button1"  
        android:layout_toRightOf="@+id/button1"  
        android:text="read" />  
 
</RelativeLayout>  


* Activity class

Mari kita menulis kode untuk menulis dan membaca data dari penyimpanan internal.

File : MainActivity.java

package example.android.com.internalstorage;  
 
import android.content.Context;  
import android.support.v7.app.AppCompatActivity;  
import android.os.Bundle;  
import android.view.View;  
import android.widget.Button;  
import android.widget.EditText;  
import android.widget.Toast;  
 
import java.io.BufferedReader;  
import java.io.FileNotFoundException;  
import java.io.FileOutputStream;  
import java.io.IOException;  
import java.io.InputStreamReader;  
 
public class MainActivity extends AppCompatActivity {  
    EditText editTextFileName,editTextData;  
    Button saveButton,readButton;  
    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.activity_main);  
 
        editTextFileName=findViewById(R.id.editText1);  
        editTextData=findViewById(R.id.editText2);  
        saveButton=findViewById(R.id.button1);  
        readButton=findViewById(R.id.button2);  
 
        //Performing Action on Read Button  
        saveButton.setOnClickListener(new View.OnClickListener(){  
 
            @Override  
            public void onClick(View arg0) {  
                String filename=editTextFileName.getText().toString();  
                String data=editTextData.getText().toString();  
 
                FileOutputStream fos;  
                try {  
                    fos = openFileOutput(filename, Context.MODE_PRIVATE);  
                    //default mode is PRIVATE, can be APPEND etc.  
                    fos.write(data.getBytes());  
                    fos.close();  
 
                    Toast.makeText(getApplicationContext(),filename + " saved",  
                            Toast.LENGTH_LONG).show();  
 
 
                } catch (FileNotFoundException e) {e.printStackTrace();}  
                catch (IOException e) {e.printStackTrace();}  
 
            }  
 
        });  
 
        //Performing Action on Read Button  
        readButton.setOnClickListener(new View.OnClickListener(){  
 
            @Override  
            public void onClick(View arg0) {  
                String filename=editTextFileName.getText().toString();  
                StringBuffer stringBuffer = new StringBuffer();  
                try {  
                    //Attaching BufferedReader to the FileInputStream by the help of InputStreamReader  
                    BufferedReader inputReader = new BufferedReader(new InputStreamReader(  
                            openFileInput(filename)));  
                    String inputString;  
                    //Reading data line by line and storing it into the stringbuffer  
                    while ((inputString = inputReader.readLine()) != null) {  
                        stringBuffer.append(inputString + "\n");  
                    }  
 
                } catch (IOException e) {  
                    e.printStackTrace();  
                }  
                //Displaying data on the toast  
            Toast.makeText(getApplicationContext(),stringBuffer.toString(),Toast.LENGTH_LONG).show();  
 
            }  
 
        });  
    }  
}  


Output :

Penyimpanan Internal Android

Penyimpanan Internal Android


Berlangganan update artikel terbaru via email:

0 Response to "Contoh Penyimpanan Internal Android"

Posting Komentar

Iklan Atas Artikel

Iklan Bawah Artikel