Thursday, 12 November 2015

Android External Storage

Every Android-compatible device supports a shared "external storage" that you can use to save files. This can be a removable storage media (such as an SD card) or an internal (non-removable) storage. Files saved to the external storage are world-readable and can be modified by the user when they enable USB mass storage to transfer files on a computer
actvity_main.xml
----------------------
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
   
xmlns:android="http://schemas.android.com/apk/res/android"
   
xmlns:tools="http://schemas.android.com/tools"
   
xmlns:app="http://schemas.android.com/apk/res-auto"
   
android:layout_width="match_parent"
   
android:layout_height="match_parent"
   
app:layout_behavior="@string/appbar_scrolling_view_behavior"
   
tools:showIn="@layout/activity_main"
   
tools:context=".MainActivity"
   
android:orientation="vertical">

    <
EditText
        
android:layout_width="match_parent"
       
android:layout_height="wrap_content"
       
android:id="@+id/editText"
       
android:hint="enter file name" />

    <
EditText
       
android:layout_width="match_parent"
       
android:layout_height="wrap_content"
       
android:id="@+id/editText2"
       
android:layout_gravity="center_horizontal"
       
android:hint="enter text" />

    <
Button
       
android:layout_width="wrap_content"
       
android:layout_height="wrap_content"
       
android:text="Save"
       
android:id="@+id/button"
       
android:layout_gravity="center_horizontal" />

    <
Button
       
android:layout_width="wrap_content"
       
android:layout_height="wrap_content"
       
android:text="Show"
       
android:id="@+id/button2"
       
android:layout_gravity="center_horizontal" />
</
LinearLayout>


MainActvity.Java
-----------------------
package com.android.anil.externalstorage;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
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 {
    Button
save,read;
    EditText
filename,textname;

   
@Override
   
protected void onCreate(Bundle savedInstanceState) {
       
super.onCreate(savedInstanceState);
        setContentView(R.layout.
activity_main);
        Toolbar toolbar = (Toolbar) findViewById(R.id.
toolbar);
        setSupportActionBar(toolbar);
       
save=(Button)findViewById(R.id.button);
       
read=(Button)findViewById(R.id.button2);
       
filename=(EditText)findViewById(R.id.editText);
       
textname=(EditText)findViewById(R.id.editText2);
       
save.setOnClickListener(new View.OnClickListener() {
           
@Override
           
public void onClick(View v) {
                String filename1=
filename.getText().toString();
                String data=
textname.getText().toString();

               
try {
                    File myFile =
new File("/sdcard/"+filename1);
                    myFile.createNewFile();
                    FileOutputStream fOut =
new

                           
FileOutputStream(myFile);
                    OutputStreamWriter myOutWriter =
new

                           
OutputStreamWriter(fOut);
                    myOutWriter.append(data);
                    myOutWriter.close();
                    fOut.close();
                    Toast.makeText(MainActivity.
this, filename1+"Saved", Toast.LENGTH_SHORT).show();



                }
catch (FileNotFoundException e) {e.printStackTrace();}
               
catch (IOException e) {e.printStackTrace();}


            }
        });
       
read.setOnClickListener(new View.OnClickListener() {
           
@Override
           
public void onClick(View v) {
                String s2=
filename.getText().toString();
                StringBuffer stringBuffer =
new StringBuffer();
                String aDataRow =
"";
                String aBuffer =
"";
               
try {
                    File myFile =
new File("/sdcard/"+s2);
                    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();

            }
        });
    }
}



Output:
-----------------------






No comments:

Post a Comment