Contoh Penyimpanan Eksternal Android

Seperti penyimpanan internal, kami dapat menyimpan atau membaca data dari memori eksternal perangkat seperti sdcard. Kelas FileInputStream dan FileOutputStream digunakan untuk membaca dan menulis data ke dalam file.

Contoh membaca dan menulis data dalam penyimpanan eksternal 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

<?xml version="1.0" encoding="utf-8"?>  
<RelativeLayout 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"  
    tools:context="example.android.com.externalstorage.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>  


Memberikan izin untuk penyimpanan eksternal

Anda perlu memberikan izin WRITE_EXTERNAL_STORAGE anda.

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>  


* Activity_Manifest

File : Activity_Manifest.xml

<?xml version="1.0" encoding="utf-8"?>  
<manifest xmlns:android="http://schemas.android.com/apk/res/android"  
    package="example.android.com.externalstorage">  
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>  
    <application  
        android:allowBackup="true"  
        android:icon="@mipmap/ic_launcher"  
        android:label="@string/app_name"  
        android:roundIcon="@mipmap/ic_launcher_round"  
        android:supportsRtl="true"  
        android:theme="@style/AppTheme">  
        <activity android:name=".MainActivity">  
            <intent-filter>  
                <action android:name="android.intent.action.MAIN" />  
 
                <category android:name="android.intent.category.LAUNCHER" />  
            </intent-filter>  
        </activity>  
    </application>  
 
</manifest>  


* Activity class

Mari kita menulis kode untuk menulis dan membaca data dari penyimpanan eksternal android.

File : MainActivity.java

package example.android.com.externalstorage;  
 
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.File;  
import java.io.FileInputStream;  
import java.io.FileNotFoundException;  
import java.io.FileOutputStream;  
import java.io.IOException;  
import java.io.InputStreamReader;  
import java.io.OutputStreamWriter;  
 
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 save 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 {  
                    File myFile = new File("/sdcard/"+filename);  
                    myFile.createNewFile();  
                    FileOutputStream fOut = new FileOutputStream(myFile);  
                    OutputStreamWriter myOutWriter = new OutputStreamWriter(fOut);  
                    myOutWriter.append(data);  
                    myOutWriter.close();  
                    fOut.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();  
                String aDataRow = "";  
                String aBuffer = "";  
                try {  
                    File myFile = new File("/sdcard/"+filename);  
                    FileInputStream fIn = new FileInputStream(myFile);  
                    BufferedReader myReader = new BufferedReader(  
                            new InputStreamReader(fIn));  
                    while ((aDataRow = myReader.readLine()) != null) {  
                        aBuffer += aDataRow + "\n";  
                    }  
                    myReader.close();  
                } catch (IOException e) {  
                    e.printStackTrace();  
                }  
                Toast.makeText(getApplicationContext(),aBuffer,Toast.LENGTH_LONG).show();  
            }  
        });  
    }  
}  


Oytput :

Penyimpanan Eksternal Android


Berlangganan update artikel terbaru via email:

0 Response to "Contoh Penyimpanan Eksternal Android"

Posting Komentar

Iklan Atas Artikel

Iklan Bawah Artikel