Android Internal Storage Example




We can spare or read information from the gadget interior memory. FileInputStream and FileOutputStream classes are utilized to peruse and compose information into the document.

Here, we are going to peruse and compose information to the inward stockpiling of the gadget.

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

package com.codebind.internalstorage;  
  
import java.io.BufferedReader;  
import java.io.FileInputStream;  
import java.io.FileNotFoundException;  
import java.io.FileOutputStream;  
import java.io.IOException;  
import java.io.InputStreamReader;  
  
import android.os.Bundle;  
import android.app.Activity;  
import android.content.Context;  
import android.view.Menu;  
import android.view.View;  
import android.view.View.OnClickListener;  
import android.widget.Button;  
import android.widget.EditText;  
import android.widget.Toast;  
  
public class MainActivity extends Activity {  
    EditText editTextFileName,editTextData;  
    Button saveButton,readButton;  
    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.activity_main);  
          
        editTextFileName=(EditText)findViewById(R.id.editText1);  
        editTextData=(EditText)findViewById(R.id.editText2);  
        saveButton=(Button)findViewById(R.id.button1);  
        readButton=(Button)findViewById(R.id.button2);  
          
        //Performing Action on Read Button  
        saveButton.setOnClickListener(new 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 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();  
                  
            }  
              
        });  
    }  
  
    @Override  
    public boolean onCreateOptionsMenu(Menu menu) {  
        // Inflate the menu; this adds items to the action bar if it is present.  
        getMenuInflater().inflate(R.menu.activity_main, menu);  
        return true;  
    }  
  
}

Partner Sites

VideoToGifs.com

EasyOnlineConverter.com

SqliteTutorials.com





Be the first to comment

Leave a Reply

Your email address will not be published.


*