Crud Config

SQLiteOpenHelper

Get capability of SQLite operation need extends SQLiteOpenHelper

extends SQLiteOpenHelper{

    private static final String DATABASE_NAME = "simple";
    private static final String TABLE_NAME = "user";
    private static final int VERSION_NUMBER = 1;
 

    SQLiteDatabase db;

    private static final String tableCreateQuery = "CREATE TABLE IF NOT EXISTS user (_id integer primary key autoincrement, name text, email text, password text);";
    private static final String TABLE_DROP_QUERY= "DROP TABLE IF EXISTS "+TABLE_NAME;
public DatabaseHelper(Context context) {
    super(context, DATABASE_NAME, null, VERSION_NUMBER);
   }


   public void onCreate(SQLiteDatabase db) {
    db.execSQL(tableCreateQuery);
   }

   public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    db.execSQL(TABLE_DROP_QUERY);
    onCreate(db);
   }

Some useful query for CRUD action with sqlite
   // register new user
public boolean registerUser(String name, String email, String password){
SQLiteDatabase db = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();

    contentValues.put("name", name);
    contentValues.put("email", email);
    contentValues.put("password", password);

long result = db.insert(TABLE_NAME, null,contentValues);
    if(result == -1)
        return false;
    else        return true;
}

// Verify user Loggin
public boolean loginUser(String email, String password) {
    SQLiteDatabase db = this.getReadableDatabase();
    Cursor cursor = db.rawQuery("SELECT * FROM user WHERE email = ? AND password =? ", new String[]{email, password});
    if (cursor.getCount() > 0) {
        return true;
    } else {
        return false;
    }
}

// Select some Specific values
public Cursor selectAll(){
    SQLiteDatabase db = this.getReadableDatabase();
    Cursor cursor = db.rawQuery("SELECT email FROM user", null);
    return cursor;
}

// Select values to specific action
public Cursor selectAllData(String email){
    SQLiteDatabase db = this.getReadableDatabase();
    Cursor cursor = db.rawQuery("SELECT * FROM user WHERE email=?", new String[]{email});
    return cursor;
}
// Update  values 
public boolean updateAllData(String id, String name, String email){
    SQLiteDatabase db = this.getReadableDatabase();
    db.execSQL("UPDATE user SET name=?, email=? WHERE _id=?",new String[]{name,email,id});
    return true;
}
Check record add success (Register)
        databaseHelper = new DatabaseHelper(this);

        register.setOnClickListener(new View.OnClickListener() {
            @Override            public void onClick(View v) {
                boolean result = databaseHelper.registerUser(txtname.getText().toString(), Integer.parseInt(txtage.getText().toString()), txtpassword.getText().toString());
                if(result){
                    Toast.makeText(RegisterActivity.this,"Record added Success", Toast.LENGTH_SHORT).show();
                }else{
                    Toast.makeText(RegisterActivity.this,"Record added Fail", Toast.LENGTH_SHORT).show();
                }
            }
        });

        btn_reg_login.setOnClickListener(new View.OnClickListener() {
            @Override            public void onClick(View v) {
                Intent intent = new Intent(RegisterActivity.this,LoginActivity.class);
                startActivity(intent);
            }
        });
    }
}


Login to app using exsiting values Activity
        databaseHelper = new DatabaseHelper(this);


        login.setOnClickListener(new View.OnClickListener() {
    @Override    public void onClick(View v) {
        boolean result = databaseHelper.loginUser(txtemail.getText().toString(), txtpass.getText().toString());
        if(result){
            Intent intent = new Intent(LoginActivity.this,MainActivity.class);
            startActivity(intent);
        }else{
            Toast.makeText(LoginActivity.this,"Incorrect credential, Try agin", Toast.LENGTH_SHORT).show();
        }
    }
  });

Data for list view

listView = (ListView)findViewById(R.id.list_item);
    databaseHelper = new DatabaseHelper(this);

    ArrayList<String> stringArray = new ArrayList<>();
    Cursor cursor = databaseHelper.selectAll();

    if (cursor.moveToFirst())
    {
        do {
            stringArray.add(cursor.getString(cursor.getColumnIndex("email")));
        } while (cursor.moveToNext());
    }
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,R.layout.listview_populator,R.id.textviewpopulator,stringArray);
    listView.setAdapter(adapter);

    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

            String username = parent.getItemAtPosition(position).toString();
            //Toast.makeText(MainActivity.this,"you clicked "+username,Toast.LENGTH_SHORT).show();
            Cursor cursor = databaseHelper.selectAllData(username);
            String varaible1 = null;
            String varaible2 = null;
            String varaible3 = null;
            if(cursor.moveToFirst()){
                do{
                    varaible1 = cursor.getString(cursor.getColumnIndex("_id"));
                    varaible2 = cursor.getString(cursor.getColumnIndex("name"));
                    varaible3 = cursor.getString(cursor.getColumnIndex("email"));

                }while (cursor.moveToNext());
            }

            Intent intent = new Intent(MainActivity.this,EditDataActivity.class);
            intent.putExtra("_id", varaible1);
            intent.putExtra("name", varaible2);
            intent.putExtra("email", varaible3);
            startActivity(intent);
        }
    });
}

Edit some data

txtid.setEnabled(false);
databaseHelper = new DatabaseHelper(this);

Intent intent = getIntent();

txtid.setText(intent.getStringExtra("_id"));
txtname.setText(intent.getStringExtra("name"));
txtemail.setText(intent.getStringExtra("email"));

btnupdate.setOnClickListener(new View.OnClickListener() {
    @Override    public void onClick(View v) {
        databaseHelper.updateAllData(txtid.getText().toString(),txtname.getText().toString(),txtemail.getText().toString());
        Toast.makeText(EditDataActivity.this,"Updated", Toast.LENGTH_SHORT).show();
        Intent intent = new Intent(EditDataActivity.this,MainActivity.class);
        startActivity(intent);
    }
});



Comments