Sqlite Database in Android

How to insert update delete data in Android

CLASS FILE

package com.example.malik.mysqldemo;

import android.database.Cursor;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

DatabaseHelper myDb;
EditText editName, editSurname, editMarks, editTextId;
Button btnAddData, btnviewAll, btnUpdate, btnDelete;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

myDb = new DatabaseHelper(this);

editName = (EditText) findViewById(R.id.editTextName);
editSurname = (EditText) findViewById(R.id.editTextSurname);
editMarks = (EditText) findViewById(R.id.editTextMarks);
editTextId = (EditText) findViewById(R.id.editTextId);
btnAddData = (Button) findViewById(R.id.bAddData);
btnviewAll = (Button) findViewById(R.id.bViewAll);
btnUpdate = (Button) findViewById(R.id.bUpdate);
btnDelete = (Button) findViewById(R.id.bDelete);

AddData();
viewAll();
UpdateData();
DeleteData();

}

public void AddData() {
btnAddData.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
boolean isInserted = myDb.insertData(editName.getText().toString(), editSurname.getText().toString(), editMarks.getText().toString());
if (isInserted == true)
Toast.makeText(MainActivity.this, “Data inserted”, Toast.LENGTH_SHORT).show();
else
Toast.makeText(MainActivity.this, “Data not inserted”, Toast.LENGTH_SHORT).show();
}
});
}

public void viewAll() {
btnviewAll.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Cursor res = myDb.getAllData();
if (res.getCount() == 0) {
// show message
showMessage(“Error”, “Nothing was found”);
return;
}

StringBuffer buffer = new StringBuffer();
while (res.moveToNext()) {
buffer.append(“Id : ” + res.getString(0) + “\n”);
buffer.append(“Name : ” + res.getString(1) + “\n”);
buffer.append(“Surname : ” + res.getString(2) + “\n”);
buffer.append(“Marks : ” + res.getString(3) + “\n\n”);
}

// show all data
showMessage(“Data”, buffer.toString());
}
});
}

public void showMessage(String title, String message) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setCancelable(true);
builder.setTitle(title);
builder.setMessage(message);
builder.show();
}

public void UpdateData() {
btnUpdate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
boolean isUpdate = myDb.updateData(editTextId.getText().toString(),
editName.getText().toString(),
editSurname.getText().toString(),
editMarks.getText().toString());

if(isUpdate == true)
Toast.makeText(MainActivity.this, “Data Updated”, Toast.LENGTH_SHORT).show();
else
Toast.makeText(MainActivity.this, “Data not Updated”, Toast.LENGTH_SHORT).show();
}
});
}

public void DeleteData(){
btnDelete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Integer deleteRows = myDb.deleteData(editTextId.getText().toString());
if(deleteRows > 0)
Toast.makeText(MainActivity.this, “Data Deleted”, Toast.LENGTH_SHORT).show();
else
Toast.makeText(MainActivity.this, “Data not Deleted”, Toast.LENGTH_SHORT).show();
}
});
}
}

XML FILE

<?xml version=”1.0″ encoding=”utf-8″?>
<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=”com.example.malik.mysqldemo.MainActivity”>

<TextView
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:textAppearance=”?android:attr/textAppearanceLarge”
android:text=”Name”
android:id=”@+id/textView”
android:layout_alignParentTop=”true”
android:layout_alignParentLeft=”true”
android:layout_alignParentStart=”true”
android:layout_marginTop=”44dp” />

<TextView
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:textAppearance=”?android:attr/textAppearanceLarge”
android:text=”Surname”
android:id=”@+id/textView2″
android:layout_below=”@+id/textView”
android:layout_alignParentLeft=”true”
android:layout_alignParentStart=”true”
android:layout_marginTop=”30dp” />

<TextView
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:textAppearance=”?android:attr/textAppearanceLarge”
android:text=”Marks”
android:id=”@+id/textView3″
android:layout_below=”@+id/textView2″
android:layout_alignParentLeft=”true”
android:layout_alignParentStart=”true”
android:layout_marginTop=”40dp” />

<EditText
android:layout_width=”fill_parent”
android:layout_height=”wrap_content”
android:id=”@+id/editTextName”
android:layout_alignTop=”@+id/textView”
android:layout_alignParentRight=”true”
android:layout_alignParentEnd=”true”
android:layout_toRightOf=”@+id/textView2″
android:layout_toEndOf=”@+id/textView2″ />

<EditText
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:id=”@+id/editTextSurname”
android:layout_alignTop=”@+id/textView2″
android:layout_alignRight=”@+id/editTextName”
android:layout_alignEnd=”@+id/editTextName”
android:layout_toRightOf=”@+id/textView2″
android:layout_toEndOf=”@+id/textView2″ />

<EditText
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:id=”@+id/editTextMarks”
android:layout_alignTop=”@+id/textView3″
android:layout_alignLeft=”@+id/editTextSurname”
android:layout_alignStart=”@+id/editTextSurname”
android:layout_alignRight=”@+id/editTextSurname”
android:layout_alignEnd=”@+id/editTextSurname” />

<Button
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”Add Data”
android:id=”@+id/bAddData”
android:layout_marginTop=”51dp”
android:layout_below=”@+id/textView4″
android:layout_alignParentLeft=”true”
android:layout_alignParentStart=”true” />

<Button
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”View All”
android:id=”@+id/bViewAll”
android:layout_alignTop=”@+id/bAddData”
android:layout_alignLeft=”@+id/editTextMarks”
android:layout_alignStart=”@+id/editTextMarks” />

<Button
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”Update”
android:id=”@+id/bUpdate”
android:layout_alignTop=”@+id/bViewAll”
android:layout_toRightOf=”@+id/bViewAll”
android:layout_toEndOf=”@+id/bViewAll” />

<TextView
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:textAppearance=”?android:attr/textAppearanceLarge”
android:text=”Id”
android:id=”@+id/textView4″
android:layout_centerVertical=”true”
android:layout_alignParentLeft=”true”
android:layout_alignParentStart=”true” />

<EditText
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:id=”@+id/editTextId”
android:layout_centerVertical=”true”
android:layout_toRightOf=”@+id/bAddData”
android:layout_alignRight=”@+id/editTextMarks”
android:layout_alignEnd=”@+id/editTextMarks” />

<Button
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”Delete”
android:id=”@+id/bDelete”
android:layout_below=”@+id/bAddData”
android:layout_alignLeft=”@+id/bViewAll”
android:layout_alignStart=”@+id/bViewAll” />
</RelativeLayout>

 

DatabaseHelper Class

package com.example.malik.mysqldemo;

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

/**
* Created by malik on 08/06/2016.
*/
public class DatabaseHelper extends SQLiteOpenHelper {

public static final String DATABASE_NAME = “Student.db”;
public static final String TABLE_NAME = “studentTable”;

public static final String COL_1 = “ID”;
public static final String COL_2 = “NAME”;
public static final String COL_3 = “SURNAME”;
public static final String COL_4 = “MARKS”;

public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, 1);

}

@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(“create table ” + TABLE_NAME + ” (ID INTEGER PRIMARY KEY AUTOINCREMENT, NAME TEXT, SURNAME TEXT, MARKS INTEGER )”);
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL(“DROP TABLE IF EXISTS ” + TABLE_NAME);
onCreate(db);
}

public boolean insertData(String name, String surname, String marks){
SQLiteDatabase db = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put(COL_2, name);
contentValues.put(COL_3, surname);
contentValues.put(COL_4, marks);
long result = db.insert(TABLE_NAME, null, contentValues);
if(result == -1)
return false;
else
return true;
}

public Cursor getAllData(){
SQLiteDatabase db = this.getWritableDatabase();
Cursor res = db.rawQuery(“select * from ” + TABLE_NAME, null);
return res;
}

public boolean updateData(String id, String name, String surname, String marks){
SQLiteDatabase db = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put(COL_1, id);
contentValues.put(COL_2, name);
contentValues.put(COL_3, surname);
contentValues.put(COL_4, marks);
db.update(TABLE_NAME, contentValues, “ID = ?”, new String[] { id });
return true;
}

public Integer deleteData(String id){
SQLiteDatabase db = this.getWritableDatabase();
return db.delete(TABLE_NAME, “ID = ?”, new String[] {id});
}

}

 

Manifest FILE

<?xml version=”1.0″ encoding=”utf-8″?>
<manifest xmlns:android=”http://schemas.android.com/apk/res/android”
package=”com.example.malik.mysqldemo”>

<application
android:allowBackup=”true”
android:icon=”@mipmap/ic_launcher”
android:label=”@string/app_name”
android:supportsRtl=”true”
android:theme=”@style/AppTheme”>
<activity android:name=”.MainActivity”>
<intent-filter>
<action android:name=”android.intent.action.MAIN” />

<category android:name=”android.intent.category.LAUNCHER” />
</intent-filter>
</activity>
</application>

</manifest>

 

Output :

pic

 

 

Share

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload CAPTCHA.