In Android, we have to way to store data.
1.) Internal storage
2.) External storage
In the below example we use internal storage to store data and retrieve date from the same location.I am using internal storage so we don't need for permission to access internal storage.But when we use external storage we need permission to read or write on external storage.In this example on click of save button value of edit-text saved in internal storage and value retrieve on click of a retreive button.
Step 1: -Open your project and in activity_main.xml create the design of your own requirement.To give you the idea I am creation simple design.
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns: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:orientation="vertical"
tools:context="com.example.hp.mysavefile.MainActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/entername"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Button
android:id="@+id/save"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="SAVE"
android:onClick="savedata"/>
<Button
android:id="@+id/retreive"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="RETRIEVE"
android:onClick="retreivdata"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/display"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:textSize="15sp"/>
</LinearLayout>
</LinearLayout>
Step 2: -Open your MainActivity.java and write code MainActivity.java I am writing code for save button and retrieve button.
MainActivity.java
package com.example.hp.mysavefile;
import android.content.Context;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
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.InputStream;
import java.io.InputStreamReader;
public class MainActivity extends AppCompatActivity {
TextView display;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
display=(TextView)findViewById(R.id.display);
}
public void savedata(View view){
EditText name=(EditText)findViewById(R.id.entername);
String username=name.getText().toString();
try {
FileOutputStream outputStream=openFileOutput("amit.txt", Context.MODE_PRIVATE);
outputStream.write(username.getBytes());
outputStream.close();
name.setText("");
}
catch (FileNotFoundException e){
e.printStackTrace();
}
catch (IOException e){
e.printStackTrace();
}
}
public void retreivdata(View view) {
try {
FileInputStream inputStream = openFileInput("amit.txt");
if (inputStream != null) {
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String temp, temp1 = "";
try {
while ((temp = bufferedReader.readLine()) != null)
temp1 += temp;
} catch (Exception e) {
e.printStackTrace();
}
display.setText(temp1);
inputStream.close();
}
}
catch (Exception e) {
e.printStackTrace();
}
}
}
No comments:
Post a Comment