Exp No:04 AndroidManifest.xml <?xml version="1.0" encoding="utf-8'?> manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.fittness.expno_04> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher android:label="@string/app_name android:roundlcon="@mipmap/ic_launcher_round android:supportsRtl="true" android:theme="@style/Theme.Expno04'> <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 main.xml <?xml version="1.0" encoding="utf-8'?> LinearLayout xmins:android="http://schemas.android.com/apk/res/android" xmins: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 android:layout margin="20dp android:orientation='vertical tools:ignore="ExtraText> tools:context=".MainActivity'> EditText android:id="@tid/mylnputText" android:layout width="match_parent" android:layout_height="wrap_content" android:ems="10" android:lines="5" android:minLines="3" android:gravity="top|left" android:inputType="textMultiLine tools:ignore="LabelFor,Rt|Hardcoded" android:autofillHints="> srequestFocus /> </EditText> <LinearLayout android:layout_width="match_parent' android:layout height="wrap_content android:orientation="horizontal" android:weightSum="1.0 android:layout marginTop="20dp'> <Button android:id="@+id/saveExternalStorage android:layout width="match_parent android:layout height="match_parent android:layoutmargin="10dp" android:text="@string/write_data android:textSize="30sp" tools:ignore="HardcodedText' /> </LinearLayout> <Button android:id="@+id/getExternalstorage android:layout_width= matchparent android:layoutheight="wrap_content" android:layout margin="10dp" android:text="@string/read_data" android:textSize="30sp" tools:ignore="Hardcoded Text' /> <Button android:id="@+id/btnClear android:layout_width="'match_parent" android:layout height= Wrap_content android:layout margin="10dp" android:text="@string/clear" android.textsize="30sp tools:ignore="HardcodedText,Invalidld" /> <TextView android:id="@+id/response android:layoutwidth="'wrap_content android:layout height="wrap_content android:padding="5dp" android:text=" androidtextAppearance="?android:attr/textAppearanceMedium/> /LinearLayout> MainActivity.java package com.fittnesss.expno_04 import androidx.appcompat.app.AppCompatActivity; import java.io.BufferedReader; import java.io.DatalnputStream; import java.io.File; import java.io.FilelnputStream; import java.io.FileQutputStream; import java.io.lOException; import java.io.lnputStreamReader import java.text. Breaklterator; import android.os.Bundle; import android.app.Activity; import android.os.Environment; import android.view.View; import android. view. View.OnClickListener; import android.widget.Button import android.widget.EditText; import android. widget. TextView; class MainActivity extends AppCompatActivity { public EditText input Text; TextView response; Button saveButton,readButton,btnClear; private String filename = SampleFile.txt; private String filepath = "MyFileStorage; File myExternal File; String myData = @Override protected void onCreate(Bundle savedinstanceState){ super.onCreate(savedinstanceState); setContentView(R.layout.activity_main); inputText = (EditText) findViewByld(R.id.mylnput Text); response (TextView) find ViewByld(R.id.response); saveButton = (Button) findViewByld(R.id.saveExternalStorage) saveButton.setOnClickListener(new OnClickListener0 { @Override public void onClick(View v){ try FileOutputStream fos = new FileOutputStream(myExternalFile): fos.writeinput Text.getText).toString0.getBytes0); fos.close) )catch (10Exception e) { e.printStackTrace0: inputText.set Text("); response.setText('SampleFile. txt saved to External Storage...); (Button) findViewByld(R.id.getExternalStorage); readButton.setOnClickListener(new OnClickListener) { readButton = @Override void onClick(View v) try public { FilelnputStream fis = new FilelnputStream(myExternalFile) DatalnputStream in = new DatalnputStream(fis); BufferedReader br = new BufferedReader(new InputStreamReader(in); String strLine; while ((strLine = br.readLine0) = null) myData = myData + strLine; in.close0: catch (10Exception e) { e.printstackTrace0; input Text.set Text(myData); response.setText('SampleFile.txt data retrieved from Internal Storage.."); btnClear (Button) findView8yld(R.id.btnClear): btnClear.setOnClickListener(new OnClickListener0 { public void onClick(View v) { / clear text box inputText.set Text(myData); response.setText("Text Cleared...) if (isExternalStorageAvailable0ll isExternalStorageReadOniy0) saveButton.setEnabled(false); else myExternalFile = new File(getExternalFiles Dir(filepath), filename)}; private static booleanisExternalStorageReadOnly0 String extStorageState = Environment.getExternalStorageState); f (Environment.MEDIA MOUNTED return true; READ_ONLY.equals(extStorageState)) return false; private static boolean isExternalStorageAvailable0D String extStorageState =Environment.getExternalStorageState): if (Environment.MEDIAMOUNTED.equals(extStorageState)) { return true; return false; Output: Write Data Expno-04 Android Studio WRITE DATA READ DATA CLEAR Studio Studios Studious Werty uio p a Z 7123 sd f ghi k XCV b n m Expno-0 Android Studia WRITE DATA READ DATA CLEAR SampleFile twt saved to External Storage Studio Studios gw e r t a s d f gh Studious ui o p ik z x cvb n m 7123 Read Data Clear Data Expno-04 Android Studio WRITE DATA READ DATA CLEAR SampleFile txt data retrieved from Internal Storage.. Android Android'sAndroids wer t u i op a 2 123 sd X f gh CVb i kI n m Expno-O WRITE DATA READ DATA CLEAR Text Cleared Q Ir We rty u a s Z 7123 d f ghi ** o p kI XCV b n m