Saturday 22 August 2015

Insert Update Delete with database SQLite Android

Mainactivity.java

package com.example.insertupdatedelete;

import java.util.ArrayList;
import java.util.List;

import android.R.integer;
import android.R.string;
import android.os.Bundle;
import android.app.Activity;
import android.content.ContentValues;
import android.content.Intent;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity {
 EditText name, phone;
 Button insert, update, delete, show;
 TextView tv;
 ArrayList<String> array1 = new ArrayList<String>();
 ArrayList<String> id1 = new ArrayList<String>();
 Spinner sp;
 ListView lv;
 Contact contact = new Contact();
 DatabaseHandler db = new DatabaseHandler(this);
 int id;

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

  name = (EditText) findViewById(R.id.editText2);
  phone = (EditText) findViewById(R.id.editText3);
  tv = (TextView) findViewById(R.id.textView1);

  insert = (Button) findViewById(R.id.button1);
  update = (Button) findViewById(R.id.button2);
  delete = (Button) findViewById(R.id.delete);

  show = (Button) findViewById(R.id.show);

  sp = (Spinner) findViewById(R.id.spinner1);

  

  lv = (ListView) findViewById(R.id.listView1);

  delete.setOnClickListener(new View.OnClickListener() {

   @Override
   public void onClick(View v) {

    id = Integer.parseInt(sp.getSelectedItem().toString());
    contact.setID(id);

    db.deleteContact(contact);
    String show = "Delete Contact Of iD:" + contact.getID() + "";
    Toast.makeText(getApplicationContext(), show, Toast.LENGTH_LONG)
      .show();

   }
  });
  show.setOnClickListener(new View.OnClickListener() {

   @Override
   public void onClick(View v) {
    id = Integer.parseInt(sp.getSelectedItem().toString());
    contact.setID(id);

   
    List<Contact> contacts = db.getAllContact();

    for (Contact cn : contacts) {
     if (cn.getID() == id) {
      String s1 = "" + cn.getID() + "  " + cn.getName()
        + "  " + cn.getPhoneNumber() + "";
      Toast.makeText(getApplicationContext(), s1,
        Toast.LENGTH_LONG).show();
      name.setText(cn.getName());
      phone.setText(cn.getPhoneNumber());

      break;
     }
    }

   }
  });
  update.setOnClickListener(new View.OnClickListener() {

   @Override
   public void onClick(View v) {
    id = Integer.parseInt(sp.getSelectedItem().toString());
    contact.setID(id);

    String uName = name.getText().toString();
    String uPhone = phone.getText().toString();

    contact.setName(uName);
    contact.setPhoneNumber(uPhone);

    db.updateContact(contact);
    Toast.makeText(getApplicationContext(),
      "Update Success..of Id:" + id + "", Toast.LENGTH_LONG)
      .show();

   }
  });

  insert.setOnClickListener(new View.OnClickListener() {

   @Override
   public void onClick(View v) {
    id = Integer.parseInt(sp.getSelectedItem().toString());
    contact.setID(id);

    String uName = name.getText().toString();
    String uPhone = phone.getText().toString();

    contact.setName(uName);
    contact.setPhoneNumber(uPhone);

    db.addContact(contact);

    Toast.makeText(getApplicationContext(), "Insert Success",
      Toast.LENGTH_LONG).show();

   }
  });
  tv.setOnClickListener(new View.OnClickListener() {

   @Override
   public void onClick(View v) {
    Intent intent = getIntent();
    finish();

    startActivity(intent);
   }
  });
  // lv.addHeaderView(findViewById(R.id.header));

  Log.d("Insert", "Inserting...");
  // db.addContact(new Contact("Manish", "8460446124"));
  // db.addContact(new Contact("Abc", "1234567890"));
  // db.addContact(new Contact("ada", "24232422"));

  Log.d("Reading", "Reading All Contacts..");
  List<Contact> contacts = db.getAllContact();

  for (Contact cn : contacts) {
   array1.add(cn.getID() + "||" + cn.getName() + "||"
     + cn.getPhoneNumber());
   id1.add(cn.getID() + "");
   // String
   // log="Id: "+cn.getID()+" ,Name: "+cn.getName()+" ,Phone: "+cn.getPhoneNumber();

   // Log.d("Name: ",log);
  }
  ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
    android.R.layout.simple_list_item_1, array1);
  ArrayAdapter<String> adapterSpinner = new ArrayAdapter<String>(this,
    android.R.layout.simple_list_item_1, id1);

  lv.setAdapter(adapter);
  sp.setAdapter(adapterSpinner);
 }

 @Override
 public boolean onCreateOptionsMenu(Menu menu) {
  getMenuInflater().inflate(R.menu.main, menu);
  return true;
 }
}



DataBaseHandler.java


package com.example.insertupdatedelete;
import java.util.ArrayList;
import java.util.List;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class DatabaseHandler extends SQLiteOpenHelper {
 public static final int DATABASE_VERSION = 1;
 public static final String TABLE_CONTACTS = "contacts";
 public static final String DATABASE_NAME = "contactsManager";
 public static final String KEY_ID = "id";
 public static final String KEY_NAME = "name";
 public static final String KEY_PH_NO = "phone_number";
 public DatabaseHandler(Context context) {
  super(context, DATABASE_NAME, null, DATABASE_VERSION);
 
 }
 @Override
 public void onCreate(SQLiteDatabase db) {
  String CREATE_CONTACTS_TABLE = "create table " + TABLE_CONTACTS + "("
    + KEY_ID + " integer primary key," + KEY_NAME + " text,"
    + KEY_PH_NO + " text"+")";
  db.execSQL(CREATE_CONTACTS_TABLE);
 }
 @Override
 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
  db.execSQL("drop table if exists" + TABLE_CONTACTS);
  onCreate(db);
 }
 public void addContact(Contact contant) {
  SQLiteDatabase db = this.getWritableDatabase();
  ContentValues values = new ContentValues();
  values.put(KEY_NAME, contant.getName());
  values.put(KEY_PH_NO, contant.getPhoneNumber());
  db.insert(TABLE_CONTACTS, null, values);
  db.close();
 }

 public Contact getContact(int id) {
     SQLiteDatabase db = this.getReadableDatabase();
 
     Cursor cursor = db.query(TABLE_CONTACTS, new String[] { KEY_ID,
             KEY_NAME, KEY_PH_NO }, KEY_ID + "=?",
             new String[] { String.valueOf(id) }, null, null, null, null);
     if (cursor != null)
         cursor.moveToFirst();
 
     Contact contact = new Contact(Integer.parseInt(cursor.getString(0)),
             cursor.getString(1), cursor.getString(2));
    return contact;
 }

 public List<Contact> getAllContact() {
  List<Contact> contactList = new ArrayList<Contact>();
  String selectQuery = "Select * From " + TABLE_CONTACTS;
  SQLiteDatabase db = this.getWritableDatabase();
  Cursor cursor = db.rawQuery(selectQuery, null);
  if (cursor.moveToFirst()) {
   do {
    Contact contact = new Contact();
    contact.setID(Integer.parseInt(cursor.getString(0)));
    contact.setName(cursor.getString(1));
    contact.setPhoneNumber(cursor.getString(2));
    contactList.add(contact);
   } while (cursor.moveToNext());
  }
  return contactList;
 }
 public int getContactsCount() {
  String countQuery = "Select * From " + TABLE_CONTACTS;
  SQLiteDatabase db = this.getReadableDatabase();
  Cursor cursor = db.rawQuery(countQuery, null);
  cursor.close();
  return cursor.getCount();
 }
 public int updateContact(Contact contact) {
  SQLiteDatabase db = this.getWritableDatabase();
  ContentValues values = new ContentValues();
  values.put(KEY_NAME, contact.getName());
  values.put(KEY_PH_NO, contact.getPhoneNumber());
  return db.update(TABLE_CONTACTS, values, KEY_ID + "=?",
    new String[] { String.valueOf(contact.getID()) });
 }
 public void deleteContact(Contact contact) {
  SQLiteDatabase db = this.getWritableDatabase();
  db.delete(TABLE_CONTACTS, KEY_ID + "=?",
    new String[] { String.valueOf(contact.getID()) });
  db.close();
 }
}



Contact.java

package com.example.insertupdatedelete;

public class Contact {

int _id;
String _name;
String _phone_number;

public Contact() {
// TODO Auto-generated constructor stub

}
public Contact(int id, String name, String phone_number) {
this._id = id;
this._name = name;
this._phone_number = phone_number;

}
public Contact(String name, String phone_number) {
this._name = name;
this._phone_number = phone_number;

}
public int getID() {
return this._id;

}
public void setID(int id) {
this._id = id;

}
public String getName() {
return this._name;

}
public void setName(String name) {
this._name = name;

}
public String getPhoneNumber() {

return _phone_number;

}
public void setPhoneNumber(String phone_number) {
this._phone_number = phone_number;

}
}


Activity_main.xml


<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:paddingLeft="@dimen/activity_horizontal_margin"

android:paddingRight="@dimen/activity_horizontal_margin"

tools:context=".MainActivity" >

<EditText

android:id="@+id/editText3"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_below="@+id/editText2"

android:layout_centerHorizontal="true"

android:ems="10" />

<Button

android:id="@+id/button2"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignBaseline="@+id/button1"

android:layout_alignBottom="@+id/button1"

android:layout_toRightOf="@+id/button1"

android:text="Update" />

<ListView

android:id="@+id/listView1"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_alignParentLeft="true"

android:layout_below="@+id/button2" >

</ListView>

<EditText

android:id="@+id/editText2"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignLeft="@+id/editText3"

android:layout_alignParentTop="true"

android:layout_marginTop="42dp"

android:ems="10" >

<requestFocus />

</EditText>

<TextView

android:id="@+id/textView1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignParentBottom="true"

android:layout_alignParentRight="true"

android:text="Refress" />

<Button

android:id="@+id/button1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignLeft="@+id/listView1"

android:layout_below="@+id/editText3"

android:text="Insert" />

<Button

android:id="@+id/show"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_above="@+id/listView1"

android:layout_toRightOf="@+id/button2"

android:text="Show" />

<Button

android:id="@+id/delete"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignParentRight="true"

android:layout_below="@+id/editText3"

android:text="Delete" />

<Spinner

android:id="@+id/spinner1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignTop="@+id/editText2"

android:layout_alignParentTop="true"

android:layout_centerHorizontal="true" />

</RelativeLayout>




No comments:

Post a Comment