Breaking News
Welcome To Backbenchers..

Sqlite integration in android

Db Context:
package com.test.db;

import android.content.Context;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;


public class DbContext {

    protected SQLiteDatabase database;
    private DbHelper dbHelper;
    private Context mContext;

    public DbContext(Context context) {
        this.mContext = context;
        dbHelper = com.test.db.DbHelper.getInstance(mContext);
        open();

    }
    public void open() throws SQLException {
        if(dbHelper == null)
            dbHelper = DbHelper.getInstance(mContext);
        database = dbHelper.getWritableDatabase();
    }

    public void close() {
        dbHelper.close();
        database = null;
    }
}




DB HElper:

package com.test.db;

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


public class DbHelper extends SQLiteOpenHelper {

    private final static String db_name = "TEST_DB";
    private final static int db_Version = 1;
    private static DbHelper instance;

    public static synchronized DbHelper getInstance(Context context) {
        if (instance == null) {
            instance = new DbHelper(context);
        }
        return instance;
    }

    public DbHelper(Context context) {
        super(context, db_name, null, db_Version);
    }

    public void onOpen(SQLiteDatabase db) {
        super.onOpen(db);
        if (!db.isReadOnly()) {
            // Enable foreign key constraints            db.execSQL("PRAGMA foreign_keys=ON;");
        }
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        try {
            String[] tables = new String[]{
                    User.CREATE_USER_TABLE,
            };

            for(String query : tables) {
                db.execSQL(query);
            }

System.out.println("quires=>"+tables);

        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        onCreate(db);
    }
}



text tablke:
 
 
package com.test.db;

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

public class User extends DbContext {

    final private static String TABLE_NAME="user";
    final private SQLiteDatabase db=database;
    private Context context;

    final public static String ID="Id";
    final public static String NAME="name";
    final public static String EMAIL="email";
    final public static String PHONE="phone";
    final public static String CREATED_AT="created_at";
    final public static String UPDATED_AT="updated_at";

    public User(Context context){
        super(context);
        this.context=context;
    }

    public static String CREATE_USER_TABLE="CREATE TABLE IF NOT EXISTS "+TABLE_NAME+" ("+
            ID+" Integer PRIMARY KEY AUTOINCREMENT,"+
            NAME+" Text,"+
            EMAIL+" Text,"+
            PHONE+" Integer,"+
            CREATED_AT+" TIMESTAMP,"+
            UPDATED_AT+" TIMESTAMP);";


    public boolean saveRecord(ContentValues data){
        try{

            System.out.println("data=>"+data);

            long ststus=db.insert(TABLE_NAME,null,data);
            if(ststus>0){
                System.out.println("data=>"+ststus);
                getUsers();
                return true;
            }else{
                return false;
            }
        }catch (Exception e){
            return false;
        }
    }

    public void getUsers(){
        try{
            String query="select * from "+TABLE_NAME;
            Cursor cursor=db.rawQuery(query,null);
            if(cursor.moveToFirst()){
                System.out.println("i have data=>");
                do{
                  //  System.out.println("i have data=>"+cursor.getString(cursor.getColumnIndex(NAME)));                    System.out.println("user_name=>"+cursor.getString(cursor.getColumnIndex(NAME)));
                    System.out.println("user_phone=>"+cursor.getInt(cursor.getColumnIndex(PHONE)));
                    System.out.println("user_email=>"+cursor.getString(cursor.getColumnIndex(EMAIL)));
                }while(cursor.moveToNext());
            }else{
                System.out.println("no data=>");
            }
            cursor.close();
        }catch (Exception e){
            e.printStackTrace();
        }
    }


}





Unknown

Unknown

No comments:

Post a Comment

Powered by Blogger.