SQLite in Android
// SQLite********************************
// MainActivity.java *************************************
package com.mycodudjdjf.gkck;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.Toast;
import com.mycodudjdjf.gkck.data.MyDbHandler;
import com.mycodudjdjf.gkck.modle.Contact;
import java.util.List;
public class MainActivity extends Activity {
String[]name={"H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MyDbHandler db= new MyDbHandler(MainActivity.this);
//
// Contact harry=new Contact();
//
// harry.setName("Gopal");
// harry.setPhoneNumber("6778855888");
// db.addContact(harry);
//
//
// Contact lerry=new Contact();
//
// lerry.setName("King");
// lerry.setPhoneNumber("85847577447");
// db.addContact(lerry);
//
Contact myg=new Contact();
myg.setName("Gopal");
myg.setPhoneNumber("6264774571");
db.addContact(myg);
//Toast.makeText(this, myg.getName()+"\n"+myg.getPhoneNumber(), Toast.LENGTH_LONG).show();
myg.setId(46);
myg.setName("Changed Tehri");
myg.setPhoneNumber("0000000000");
int affectedRows = db.updateContact(myg);
Log.d("dbharry", "No of affected rows are: " + affectedRows);
// Get all contacts
List<Contact> allContacts = db.getAllContacts();
for(Contact contact: allContacts){
Toast.makeText(getApplicationContext(), "\nId: " + contact.getId() + "\n" +
"Name: " + contact.getName() + "\n"+
"Phone Number: " + contact.getPhoneNumber() + "\n",Toast.LENGTH_LONG ).show();
}
}
}
// data/MydbHandler.java ***********************************
package com.mycodudjdjf.gkck.data;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
import com.mycodudjdjf.gkck.params.Params;
import android.widget.Toast;
import com.mycodudjdjf.gkck.modle.Contact;
import android.content.ContentValues;
import com.mycodudjdjf.gkck.data.MyDbHandler;
import com.mycodudjdjf.gkck.modle.Contact;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import java.util.List;
import java.util.ArrayList;
import com.mycodudjdjf.gkck.params.Params;
public class MyDbHandler extends SQLiteOpenHelper{
public MyDbHandler(Context context) {
super(context, Params.DB_NAME, null, Params.DB_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
String create = "CREATE TABLE " + Params.TABLE_NAME + "("
+ Params.KEY_ID + " INTEGER PRIMARY KEY," + Params.KEY_NAME
+ " TEXT, " + Params.KEY_PHONE + " TEXT" + ")";
Log.d("dbharry", "Query being run is : "+ create);
db.execSQL(create);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
public void addContact(Contact contact){
SQLiteDatabase db= this.getWritableDatabase();
ContentValues value=new ContentValues();
value.put(Params.KEY_NAME,contact.getName());
value.put(Params.KEY_PHONE,contact.getPhoneNumber());
db.insert(Params.TABLE_NAME,null,value);
Log.d("key","Value insert succsessfully");
db.close();
}
public List<Contact> getAllContacts(){
List<Contact> contactList = new ArrayList<>();
SQLiteDatabase db = this.getReadableDatabase();
// Generate the query to read from the database
String select = "SELECT * FROM " + Params.TABLE_NAME;
Cursor cursor = db.rawQuery(select, null);
//Loop through now
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 updateContact(Contact contact){
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(Params.KEY_NAME, contact.getName());
values.put(Params.KEY_PHONE, contact.getPhoneNumber());
//Lets update now
return db.update(Params.TABLE_NAME, values, Params.KEY_ID + "=?",
new String[]{String.valueOf(contact.getId())});
}
}
// modle/Contact.java ************************************
package com.mycodudjdjf.gkck.modle;
public class Contact {
private int id;
private String name;
private String phoneNumber;
public Contact(String name,String phoneNumber){
this.name=name;
this.phoneNumber=phoneNumber;
}
public Contact(int id,String name,String phoneNumber){
this.id=id;
this.name=name;
this.phoneNumber=phoneNumber;
}
public Contact(){
}
public void setId(int id) {
this.id = id;
}
public int getId() {
return id;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setPhoneNumber(String phoneNumber) {
this.phoneNumber = phoneNumber;
}
public String getPhoneNumber() {
return phoneNumber;
}
}
// params/Params.java ************************************
package com.mycodudjdjf.gkck.params;
public class Params {
public static final int DB_VERSION = 1;
public static final String DB_NAME = "contacts_db";
public static final String TABLE_NAME = "contacts_table";
//Keys of our table in db
public static final String KEY_ID = "id";
public static final String KEY_NAME = "name";
public static final String KEY_PHONE = "phone_number";
}
// layout is simply.....