Showing posts with label Android File Handling. Show all posts
Showing posts with label Android File Handling. Show all posts

Saturday, 21 December 2013

Android File Handling

Lets learn File handling in Android.

First, create a layout to enter and save the data and to display the saved data.

<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"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <EditText 
        android:id="@+id/et"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:hint="Enter Here"
        />
    
    <TextView
        android:id="@+id/tv"
        android:layout_below="@+id/et"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        />

    <Button
        android:id="@+id/read"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/save"
        android:layout_alignBottom="@+id/save"
        android:layout_toRightOf="@+id/save"
        android:text="READ" />

    <Button
        android:id="@+id/save"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/tv"
        android:layout_centerVertical="true"
        android:text="SAVE" />

</RelativeLayout>



And then make changes in the MainActivity.java.

package com.codingredefined.androidfilehandling;

import java.io.FileInputStream;
import java.io.FileOutputStream;

import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity
{
Button b1,b2;
EditText et;
TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
b1=(Button)findViewById(R.id.save);
b2=(Button)findViewById(R.id.read);
et=(EditText)findViewById(R.id.et);
tv=(TextView)findViewById(R.id.tv);
b1.setOnClickListener(new View.OnClickListener()
{

@Override
public void onClick(View v)
{
// TODO Auto-generated method stub
String str=et.getText().toString();
FileOutputStream fos;
try
{
fos=openFileOutput("abc",Context.MODE_PRIVATE);
fos.write(str.getBytes());
fos.close();
Toast.makeText(MainActivity.this,"Data Saved",Toast.LENGTH_SHORT).show();
}
catch(Exception e)
{
Toast.makeText(MainActivity.this,"Data NOT Saved",Toast.LENGTH_SHORT).show();
}
}
});
b2.setOnClickListener(new View.OnClickListener()
{

@Override
public void onClick(View v)
{
// TODO Auto-generated method stub
FileInputStream fis;
try
{
fis=openFileInput("abc");
int i=0;
String str="";
while((i=fis.read())!=-1)
{
str=str+((char)+i);
}
tv.setText(str);
fis.close();
}
catch(Exception e)
{
Toast.makeText(MainActivity.this,"Data NOT Read",Toast.LENGTH_SHORT).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.main, menu);
return true;
}

}


The following output is obtained.