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.