Class içinde senkron bir yapı kur bunu butonun onclick'inde çağır.
class Gorev extends AsyncTask<String, String, String> {
@Override
protected String doInBackground(String... params) {
//Verileri burada sil database class'ından çağırdığın sil methodu ile ve o silinen veriyi
// global bir değişkende tut
return null;
}
@Override
protected void onPostExecute(String s) {
// burada da eğer silinme gerçekleşmiş ise global değişkeni db classındaki ekleme
// methodunu çağırıp ekle örn: dbEkle(globaDeğişken)
// progress süreci göstersin
progress.dismiss();
}
@Override
protected void onPreExecute() {
super.onPreExecute();
progress = new ProgressDialog(MainActivity.this);
progress.setTitle("Lütfen Bekleyiniz");
progress.setCancelable(false);
progress.setMessage("Güncelleniyor...");
progress.show();
}
}
Database ekleme ve silme işlemleri de aşağıdaki gibi olabilir kendi projene uyarla;
public void addProduct(String product) {
ContentValues values = new ContentValues();
values.put(COLUMN_PRODUCTNAME, PRODUCTNAME);
values.put(COLUMN_QUANTITY, QUANTITY);
SQLiteDatabase db = this.getWritableDatabase();
db.insert(TABLE_PRODUCTS, null, values);
db.close();
}
//---------------------------------
public boolean deleteProduct(String productname) {
boolean result = false;
String query = "Select * FROM " + TABLE_PRODUCTS + " WHERE " + COLUMN_PRODUCTNAME + " = \"" + productname + "\"";
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery(query, null);
Product product = new Product();
if (cursor.moveToFirst()) {
product.setID(Integer.parseInt(cursor.getString(0)));
db.delete(TABLE_PRODUCTS, COLUMN_ID + " = ?",
new String[] { String.valueOf(product.getID()) });
cursor.close();
result = true;
}
db.close();
return result;
}