Я написал приложение, которое сортирует плейлисты Poweramp, и оно работает нормально. Единственная проблема, с которой я сталкиваюсь, - это производительность, и я думаю, это потому, что я вызываю getContentResolver().update
для каждой строки. В идеале я хотел бы иметь возможность использовать транзакцию SQLite. applyBatch
и bulkInsert
не будут работать, так как мне нужно иметь предложение WHERE с каждым обновлением строки - мне, по сути, нужно обновить индексную таблицу, в которой есть несколько списков воспроизведения и их песни.
Насколько я понимаю, я не смогу получить доступ к базе данных Poweramp напрямую через SQLite, поскольку я читал, что мне нужна такая же подпись приложения или что-то в этом роде? Может быть, кто-то может это прояснить. Похоже, моя единственная надежда состоит в том, чтобы переопределить метод applyBatch ContentResolver или добавить свой собственный (из this thread< /а>)? Хотя я не совсем уверен, как это переопределить... код в этом потоке, похоже, уже каким-то образом переопределил класс. Я также не думаю, что он использует внешнюю БД.
Любые подсказки относительно того, где я должен искать, или если там уже есть ответ, это было бы превосходно.
applyBatch
не работает? Вы можете создатьContentProviderOperation
, используяContentProviderOperation.Builder
, которые поддерживают предложения WHERE. - person MatPag   schedule 31.01.2019