Contoh Penyimpanan Internal Android
September 11, 2020
Add Comment
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.javapackage 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(); } }); } }
0 Response to "Contoh Penyimpanan Internal Android"
Posting Komentar