Dear All
" Happy Holi......"
What is SQLite :
SQLite is an in-process Library used to work with Database for Mobile OS(Mostly).
@ It's Server-Less
@ Already Configured
@ Follow ACID Property
@ Structured Database
@ No Dependency
How to work with Database in Android :
Step 1 : Define Schema
" Means Define Database name , table name , column name ..........."
Step 2: Create Database
a. Create a Class by extending SQLiteOpenHelper
b. Override onCreate(SQLiteDatabase ob) method -
Like ob.execSQL(" String query")
c. Override onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
if any alter in Table
Step 3: Execute Query
a. Create object of SQLiteDatabase either by using getWritableDatabase() or
getReadableDatabase() with the help of Helper class object
b. Use ContentValues class object to put like key-value pair data
c. Execute query like insert() , update().... by using SQLiteDatabase object
Just See the example :
A. Output will be like
a. First Screen - Launched Activity
XML Code for this
b. Second Screen - When you click on Register
c. Third Screen - All registered User
XML Code for this layout
B. Java Code
a. MainActivity.java code is
b. Register.java code is as
c. To See all Registered User is as
d. DataBase Helper class is as
" Happy Holi......"
What is SQLite :
SQLite is an in-process Library used to work with Database for Mobile OS(Mostly).
@ It's Server-Less
@ Already Configured
@ Follow ACID Property
@ Structured Database
@ No Dependency
How to work with Database in Android :
Step 1 : Define Schema
" Means Define Database name , table name , column name ..........."
Step 2: Create Database
a. Create a Class by extending SQLiteOpenHelper
b. Override onCreate(SQLiteDatabase ob) method -
Like ob.execSQL(" String query")
c. Override onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
if any alter in Table
Step 3: Execute Query
a. Create object of SQLiteDatabase either by using getWritableDatabase() or
getReadableDatabase() with the help of Helper class object
b. Use ContentValues class object to put like key-value pair data
c. Execute query like insert() , update().... by using SQLiteDatabase object
Just See the example :
A. Output will be like
a. First Screen - Launched Activity
XML Code for this
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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"
tools:context="com.example.ravigodara.sql2017ex1.MainActivity"
tools:layout_editor_absoluteY="81dp"
tools:layout_editor_absoluteX="0dp"> <Button android:id="@+id/button"
android:layout_width="368dp"
android:layout_height="48dp"
android:layout_alignEnd="@+id/button2"
android:layout_alignParentTop="true"
android:layout_marginTop="62dp"
android:text="Register"
tools:layout_editor_absoluteX="8dp"
tools:layout_editor_absoluteY="45dp"
android:onClick="reg"/> <Button android:id="@+id/button2"
android:layout_width="368dp" android:layout_height="48dp"
android:text="Registered User"
tools:layout_editor_absoluteX="8dp" tools:layout_editor_absoluteY="151dp"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="109dp"
android:onClick="showData"/></RelativeLayout>
b. Second Screen - When you click on Register
XML Code for this layout
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent">
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="UserName" android:id="@+id/textView"
android:layout_alignParentTop="true"
android:layout_alignParentStart="true" /> <TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Password" android:id="@+id/textView2"
android:layout_below="@+id/textView"
android:layout_alignEnd="@+id/textView"
android:layout_marginTop="44dp" /> <EditText android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/userN" android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_toEndOf="@+id/textView" /> <EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content" android:id="@+id/userP"
android:inputType="textPassword"
android:layout_alignBottom="@+id/textView2"
android:layout_alignParentEnd="true"
android:layout_toEndOf="@+id/textView2" /> <Button android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Register"
android:id="@+id/button"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true" /></RelativeLayout>
c. Third Screen - All registered User
XML Code for this layout
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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"
tools:context="com.example.ravigodara.sql2017ex1.ViewData"> <ListView
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:id="@+id/listView"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true" /> </RelativeLayout>
Single Row Layout File
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="horizontal" android:layout_width="match_parent"android:layout_height="match_parent"android:weightSum="1"> <TextViewandroid:layout_width="wrap_content" android:layout_height="39dp"android:text="New Text" android:gravity="center"android:id="@+id/text_id" android:layout_weight="0.06" /> <TextView android:layout_width="wrap_content"android:layout_height="41dp"android:text="New Text" android:gravity="center"android:id="@+id/text_name" android:layout_weight="0.90" /><TextView android:layout_width="159dp"android:layout_height="37dp"android:text="New Text" android:gravity="center"android:id="@+id/text_pass" /> </LinearLayout>
B. Java Code
a. MainActivity.java code is
package com.example.ravigodara.sql2017ex1; import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void reg(View view) { startActivity(new Intent(this, Register.class)); } public void showData(View view) { Intent iob = new Intent(this,ViewData.class); startActivity(iob); }}
b. Register.java code is as
package com.example.ravigodara.sql2017ex1; import android.content.Context; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; /** * Created by Ravi Godara on 3/10/2017. */ public class Register extends AppCompatActivity { EditText etus, etpass; String struser, strpass; Button reg; Context cob = this; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.regist); etus = (EditText) findViewById(R.id.userN); etpass = (EditText) findViewById(R.id.userP); reg = (Button) findViewById(R.id.button); reg.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { struser = etus.getText().toString(); strpass = etpass.getText().toString(); DbHelper myob = new DbHelper(cob); myob.putInfo(myob, struser, strpass); Toast.makeText(getBaseContext(),
"Registered Successfully", Toast.LENGTH_LONG).show(); finish(); } }); }}
c. To See all Registered User is as
package com.example.ravigodara.sql2017ex1; import android.content.Context; import android.database.Cursor; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.ListView; import android.widget.SimpleCursorAdapter; public class ViewData extends AppCompatActivity { Context context = this; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_view_data); showListView(); } private void showListView() { DbHelper myHelper = new DbHelper(context); Cursor cursorOb = myHelper.getAllRows(myHelper); String[] fromDB = new String[]{DbHelper.KEY_ID, DbHelper.USER_NAME,
DbHelper.USER_PAS}; int[] toShow = new int[]{R.id.text_id, R.id.text_name, R.id.text_pass}; SimpleCursorAdapter simpleCursorAdapter = new SimpleCursorAdapter
(getBaseContext(), R.layout.onerow, cursorOb, fromDB, toShow, 0); ListView listView = (ListView) findViewById(R.id.listView); listView.setAdapter(simpleCursorAdapter); }}
d. DataBase Helper class is as
package com.example.ravigodara.sql2017ex1; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.util.Log; public class DbHelper extends SQLiteOpenHelper { public static final String KEY_ID="_id"; public static final String USER_NAME="user_name"; public static final String USER_PAS="user_pass"; private static final String DB_NAME="mydb.db"; private static final String TAB_NAME="myinfo"; private static final int DB_VER=1; private static final String CREATE_QUERY = "create table " + TAB_NAME + " ( "
+ KEY_ID + " integer primary key autoincrement, " + USER_NAME + " text not null, " + USER_PAS + " text not null );"; public DbHelper(Context context) { super(context,DB_NAME,null,1); } @Override public void onCreate(SQLiteDatabase sdb) { sdb.execSQL(CREATE_QUERY); Log.d("rrrr", "oncreate"); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
{
db.execSQL("DROP TABLE IF EXISTS " + TAB_NAME);
Log.d("hello", "onupgrade");
onCreate(db);
}
public void putInfo(DbHelper mob,String name,String pass)
{
SQLiteDatabase SQ= mob.getWritableDatabase();
ContentValues CV=new ContentValues();
CV.put(USER_NAME, name);
CV.put(USER_PAS, pass);
SQ.insert(TAB_NAME, null, CV);
}
public Cursor getAllRows(DbHelper mob)
{
SQLiteDatabase SQ = mob.getReadableDatabase();
Cursor cob = SQ.query(TAB_NAME,null,null,null,null,null,null);
if(cob!=null)
{
cob.moveToFirst();
}
return cob;
}
}