Я создаю приложение для Android, которое получает информацию из файлов XML.Я заполняю информацию в базе данных, чтобы облегчить доступ к ней во время выполнения программы, благодаря силе запросов.
Однако до меня дошло, что использование транзакций значительно повышает скорость, поэтому, естественно, я хочуиспользовать это.
Моя проблема заключается в следующем;В идее абстракции после анализа всей информации одного субъекта информация отправляется правильному объекту (классу), и внутри этого объекта есть метод, который добавит ее в базу данных.После этого он возвращается к анализатору, который продолжает читать следующую тему, которая, в свою очередь, будет снова отправлена в правый (и, вероятно, другой) класс.
Это реализовано с помощью оператора switch, где каждый случай указывает на свой конструктор класса.
Если я хочу использовать скорость транзакций, мне нужно будет начать транзакцию уже до того, какпарсинг, прогон через синтаксический анализ и построение запросов (насколько я понимаю, все запросы строятся внутри транзакции, собираются и, в конце концов, все выполняются как связка), а затем заканчивают транзакцию, как только анализируется весь файл.
Чтобы сделать это немного понятнее или быстрее читать;Идея кода была бы такой:
Class parser(){
database.beginTransaction();
try{
// start parsing in a whole different class, which also points to SQL queries (in different classes again) in the entitys with a switch
}catch(Exception e){
database.endTransaction();
}
database.endTransaction();
}
Надеюсь, я сформулировал свой вопрос достаточно четко.
С уважением,