Saturday, July 14, 2012

Insert and Display Data from Database in Android

In this blog i am showing you insert and fetching of data from Database (SQLITE database)
Example
"Login and Registration form"


Database name:matrimonial.db
Table Name:Login , Register.
We need this class.
1. DataAdapter.java
2. DatabaseOpenHelper.java
3. Register.java
4. Login.java


DatabaseOpenHelper.java
In this class we are creating Database,Table
Be careful while writing the query.

package com.aniexample;


import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;


public class DatabaseOpenHelper extends SQLiteOpenHelper {
private static final String TAG="DatabaseOpenHelper";
private static final String Database_Name="matrimonial.db";
private static final String Table_Name1="Login";
private static final String Table_Name2="Register";


private static final String Sql_Query1="Create Table " + Table_Name1 + 
     "(_id INTEGER PRIMARY KEY AUTOINCREMENT," +
     "Uname TEXT, " +
     "Pass TEXT);";


private static final String Sql_Query2="Create Table " + Table_Name2 + 
"(_id INTEGER PRIMARY KEY AUTOINCREMENT," +
"FName TEXT, " +
"LName TEXT," +
"Address TEXT," +
"Uname TEXT," +
"Pass TEXT);";
public DatabaseOpenHelper(Context context) {
super(context, Database_Name, null, 1);
// TODO Auto-generated constructor stub
}


@Override
public void onCreate(SQLiteDatabase database) {
// TODO Auto-generated method stub
Log.i(TAG,"Database Created");
database.execSQL(Sql_Query1);
database.execSQL(Sql_Query2);
}


@Override
public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
// TODO Auto-generated method stub
Log.w(TAG, "Version Upgraded from "+ arg1 +" to " + arg2);
}


}

DatabaseAdapter.java
In this class we create method where insertion and fetching of data takes place.

package com.aniexample;


import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;


public class DatabaseAdapter
{
SQLiteDatabase dbase;
DatabaseOpenHelper dbhelper;
public DatabaseAdapter(Context context)
{
dbhelper=new DatabaseOpenHelper(context);
}
public void open()
{
dbase=dbhelper.getWritableDatabase();


}
public void close()
{
dbase.close();
}
public long insertLogin(String uname,String pass)
{
ContentValues values=new ContentValues();
values.put("Uname", uname);
values.put("Pass",pass);
return dbase.insert("Login",null, values);

}
public long insertRegister(String fname,String lname,String add,String uname,String pass)
{
ContentValues values=new ContentValues();
values.put("FName", fname);
values.put("LName", lname);
values.put("Address",add);
values.put("Uname", uname);
values.put("Pass", pass);
return dbase.insert("Register", null, values);
}


public boolean deletedata(long id)
{
return dbase.delete("Register", "_id=?" +  id, null)>0;
}


public Cursor fetchid(String pass,String uname)
{
Cursor mcursor=dbase.rawQuery("select * from Login where Pass=? and Uname=?", new String[] {String.valueOf(pass),String.valueOf(uname) });
if (mcursor.getCount()>0)
{
mcursor.moveToFirst();

}
else
{

mcursor.moveToFirst();
}
return mcursor;
}
}
Login.java
Log.i will show the result in logcat.

package com.aniexample;


import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;


public class AniExampleActivity extends Activity implements OnClickListener{
    /** Called when the activity is first created. */
DatabaseAdapter dbadpt;
Button btnlogin, btnreg;
EditText etuname,etpass;
final Context context=this;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        dbadpt=new DatabaseAdapter(getApplicationContext());
        etuname=(EditText)findViewById(R.id.txtuname);
        etpass=(EditText)findViewById(R.id.txtpass);
        btnlogin=(Button)findViewById(R.id.btnLogin);
        btnreg=(Button)findViewById(R.id.btnRegister);
        btnlogin.setOnClickListener(this);
        btnreg.setOnClickListener(this);
    }
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(v.getId()==R.id.btnLogin)
{
dbadpt.open();
String pass=etpass.getText().toString();
String uname=etuname.getText().toString();
Cursor cursor=dbadpt.fetchid(pass,uname);
if(cursor!=null)
{
Toast.makeText(getApplicationContext(), "Login successfull", Toast.LENGTH_LONG).show();
Log.i("Login", "Username:"+cursor.getString(1) + " password: "+cursor.getString(2));
}

dbadpt.close();
}
if (v.getId()==R.id.btnRegister)
{
Intent itreg=new Intent(context,Register.class);
startActivity(itreg);

}
}
}
Register.java

package com.aniexample;


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


public class Register extends Activity implements OnClickListener{
DatabaseAdapter dbadpt;
EditText etfname,etlname,etadd,etunm,etpass;
    Button btnreg,btnrlog;
    final Context context=this;
@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.register);
        dbadpt=new DatabaseAdapter(getApplicationContext());
        etfname=(EditText)findViewById(R.id.txtfname);
        etlname=(EditText)findViewById(R.id.txtlname);
        etadd=(EditText)findViewById(R.id.txtadd);
        etunm=(EditText)findViewById(R.id.txtuname1);
        etpass=(EditText)findViewById(R.id.txtpass1);
btnreg=(Button)findViewById(R.id.btnReg);
btnreg.setOnClickListener(this);
btnrlog=(Button)findViewById(R.id.btnGotologin);
btnrlog.setOnClickListener(this);


    }
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(v.getId()==R.id.btnReg)
{
String fname=etfname.getText().toString();
String lname=etlname.getText().toString();
String add=etadd.getText().toString();
String un=etunm.getText().toString();
String pass=etpass.getText().toString();
dbadpt.open();
long insertreg=dbadpt.insertRegister(fname, lname, add, un, pass);
long insertlogin=dbadpt.insertLogin(un, pass);
if (insertreg>=0)
{
Toast.makeText(getApplicationContext(), "ThankYou for Registration", Toast.LENGTH_LONG).show();



}
dbadpt.close();
}
if(v.getId()==R.id.btnGotologin)
{
Intent rlogin=new Intent(context,AniExampleActivity.class);
startActivity(rlogin);

}
}
}
main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello"
    />
<LinearLayout android:layout_height="wrap_content" android:id="@+id/linearLayout1" android:layout_width="match_parent">
    <EditText android:id="@+id/txtuname" android:layout_height="wrap_content" android:layout_weight="1" android:layout_width="wrap_content" android:hint="UserName">
        <requestFocus></requestFocus>
    </EditText>
</LinearLayout>
<LinearLayout android:layout_height="wrap_content" android:id="@+id/linearLayout2" android:layout_width="match_parent">
    <EditText android:id="@+id/txtpass" android:layout_height="wrap_content" android:layout_weight="1" android:layout_width="wrap_content" android:inputType="textPassword" android:hint="Password"></EditText>
    
</LinearLayout>
<LinearLayout android:layout_height="wrap_content" android:id="@+id/linearLayout3" android:layout_width="match_parent">
    <Button android:text="Login" android:id="@+id/btnLogin" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
    <Button android:text="Register" android:id="@+id/btnRegister" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
</LinearLayout>
</LinearLayout>
register.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="match_parent"
  android:layout_height="match_parent">
    <EditText android:id="@+id/txtfname" android:layout_height="wrap_content" android:layout_width="match_parent" android:hint="First Name">
        <requestFocus></requestFocus>
    </EditText>
    <EditText android:id="@+id/txtlname" android:layout_height="wrap_content" android:layout_width="match_parent" android:hint="Last Name"></EditText>
    <EditText android:id="@+id/txtadd" android:layout_height="wrap_content" android:layout_width="match_parent" android:inputType="textPostalAddress" android:hint="Address"></EditText>
    <EditText android:id="@+id/txtuname1" android:layout_height="wrap_content" android:layout_width="match_parent" android:hint="Enter Username"></EditText>
    <EditText android:id="@+id/txtpass1" android:layout_height="wrap_content" android:layout_width="match_parent" android:inputType="textPassword" android:hint="Enter Password"></EditText>
    <LinearLayout android:layout_height="wrap_content" android:id="@+id/linearLayout1" android:layout_width="match_parent">
        <Button android:text="Register" android:id="@+id/btnReg" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
        <Button android:text="GotoLogin" android:id="@+id/btnGotologin" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
    </LinearLayout>    
</LinearLayout>
Set the activity of register.xml in AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.aniexample"
      android:vrsionCode="1"
      android:versionName="1.0">
    <uses-sdk android:minSdkVersion="10" />


    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".AniExampleActivity"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
<activity android:name=".Register" android:label="@string/app_name"></activity>
    </application>
</manifest>
Registration



Login


When Login Button is click Result get displayed in logcat.


10 comments:

  1. plz blank both username and password and click login

    ReplyDelete
  2. This comment has been removed by the author.

    ReplyDelete
  3. All the points you described so beautiful. Every time i read your i blog and i am so surprised that how you can write so well.
    java training in chennai | java training in bangalore


    java training in tambaram | java training in velachery

    ReplyDelete
  4. You made such an interesting piece to read, giving every subject enlightenment for us to gain knowledge. Thanks for sharing the such information with us
    python training Course in chennai
    python training in Bangalore
    Python training institute in kalyan nagar

    ReplyDelete
  5. Good Post! Thank you so much for sharing this pretty post, it was so good to read and useful to improve my knowledge as updated one, keep blogging.
    Best Devops Training in pune
    Devops Training in Chennai

    ReplyDelete
  6. I am using google blogger for blogging. You can also purchase your blog domain in google. There are lot of internet hosting provider in market which provide in reasonable price. I have my internet hosting which is HostGator.

    ReplyDelete
  7. I just loved your article on the beginners guide to starting a blog.If somebody take this blog article seriously in their life, he/she can earn his living by doing blogging.thank you for this article.

    angular js training in chennai

    angular js training in velachery

    full stack training in chennai

    full stack training in velachery

    php training in chennai

    php training in velachery

    photoshop training in chennai

    photoshop training in velachery

    ReplyDelete