Android Internal Storage Example

Android Internal Example Code                

             We are able to save or read data from the device internal memory. FileInputStream and FileOutputStream classes are used to read and write data into the file.

Here, we are going to read and write data to the internal storage of the device.

Reading and writing data to the android internal storage

activity_main.xml

File: activity_main.xml
  1. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  2.     xmlns:tools="http://schemas.android.com/tools"  
  3.     android:layout_width="match_parent"  
  4.     android:layout_height="match_parent"  
  5.     tools:context=".MainActivity" >  
  6.   
  7.     <EditText  
  8.         android:id="@+id/editText1"  
  9.         android:layout_width="wrap_content"  
  10.         android:layout_height="wrap_content"  
  11.         android:layout_alignParentRight="true"  
  12.         android:layout_alignParentTop="true"  
  13.         android:layout_marginRight="20dp"  
  14.         android:layout_marginTop="24dp"  
  15.         android:ems="10" >  
  16.   
  17.         <requestFocus />  
  18.     </EditText>  
  19.   
  20.     <EditText  
  21.         android:id="@+id/editText2"  
  22.         android:layout_width="wrap_content"  
  23.         android:layout_height="wrap_content"  
  24.         android:layout_alignRight="@+id/editText1"  
  25.         android:layout_below="@+id/editText1"  
  26.         android:layout_marginTop="24dp"  
  27.         android:ems="10" />  
  28.   
  29.     <TextView  
  30.         android:id="@+id/textView1"  
  31.         android:layout_width="wrap_content"  
  32.         android:layout_height="wrap_content"  
  33.         android:layout_alignBaseline="@+id/editText1"  
  34.         android:layout_alignBottom="@+id/editText1"  
  35.         android:layout_alignParentLeft="true"  
  36.         android:text="File Name:" />  
  37.   
  38.     <TextView  
  39.         android:id="@+id/textView2"  
  40.         android:layout_width="wrap_content"  
  41.         android:layout_height="wrap_content"  
  42.         android:layout_alignBaseline="@+id/editText2"  
  43.         android:layout_alignBottom="@+id/editText2"  
  44.         android:layout_alignParentLeft="true"  
  45.         android:text="Data:" />  
  46.   
  47.     <Button  
  48.         android:id="@+id/button1"  
  49.         android:layout_width="wrap_content"  
  50.         android:layout_height="wrap_content"  
  51.         android:layout_alignLeft="@+id/editText2"  
  52.         android:layout_below="@+id/editText2"  
  53.         android:layout_marginLeft="70dp"  
  54.         android:layout_marginTop="16dp"  
  55.         android:text="save" />  
  56.   
  57.     <Button  
  58.         android:id="@+id/button2"  
  59.         android:layout_width="wrap_content"  
  60.         android:layout_height="wrap_content"  
  61.         android:layout_alignBaseline="@+id/button1"  
  62.         android:layout_alignBottom="@+id/button1"  
  63.         android:layout_toRightOf="@+id/button1"  
  64.         android:text="read" />  
  65.   
  66. </RelativeLayout>  

Activity class

File: MainActivity.java
package com.example.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;  
    }  
  
}  

0 comments:

Post a Comment

My Instagram