Пытаюсь перевести все операции с БД в своем приложении(например операцию удаления данных из БД) в отдельный поток. Для этого я решил сделать переделать соответствующий метод удаления добавив создание и запуск Thread. Но этот метод не работает, удаляя запись только с экрана, но не с БД. Хотя до помещения его в метод run() все работало хорошо. С чем может быть связана проблема?
Метод для удаления записи из класса БД:
class runnableForDeleteOrder implements Runnable{
SQLiteDatabase sqlDB;
long idOfDeletingOrder;
runnableForDeleteOrder(SQLiteDatabase sqlDB, long idOfDeletingOrder){
this.sqlDB=sqlDB;
this.idOfDeletingOrder=idOfDeletingOrder;
}
@Override
public void run() {
try{
sqlDB.execSQL("DELETE FROM "+ NAME_OF_CONNECTOR_TABLE +" WHERE "+ IDSH_CONNECTOR_TABLE+"= '"+idOfDeletingOrder+"';");
sqlDB.execSQL("DELETE FROM "+ NAME_OF_TABLE_ORDERS +" WHERE "+ ID_TABLE_ORDERS+"= '"+idOfDeletingOrder+"';");
}catch (IllegalStateException e){}}
}
void deleteOrder( SQLiteDatabase sqlDB, long idOfDeletingOrder){
Thread t = new Thread(new runnableForDeleteOrder(sqlDB,idOfDeletingOrder));
t.start();
}
Использование метода:
public boolean onContextItemSelected(MenuItem item){
mDB = new MyDataBase(this);
sqlDB = mDB.getWritableDatabase();
long idOfChangeableOrder = Long.parseLong(((TextView)ll.findViewById(R.id.tvId)).getText().toString());
switch (item.getItemId()){
case 1:
mDB.deleteOrder(sqlDB,idOfChangeableOrder);
llMain.removeView(ll);
if(llMain.getChildCount() == 0){
llMain.addView(getMessageAtEmptyLayout());
}
break;
}
mDB.close();
return true;
}
Виртуальный выделенный сервер (VDS) становится отличным выбором
использую яндекс карту и что бы можно было добавлять новые маркеры из HTML сделал такой код
Реакт приложениеНекоторые контейнеры могут получать данные из сети
Имеется несколько блоков с описанием, которое изначально частично скрытоИмеется кнопка "показать больше"
Во всех проектах один и тот же gulpfilejs живёт без изменений уже почти год, всё работало прекрасно и буквально вчера таск gulp watch начал вылетать...