У меня есть приложение, которое хранит данные в базе данных SQLite. Основная деятельность - это просто экран с одной кнопкой. Когда пользователь нажимает на эту кнопку, открывается вторая активность. Второе действие - это список (ListActivity), который должен содержать все записи из базы данных. Вот вопрос: какие подходы подходят лучше: 1) когда кнопка нажата, запустите AsyncTask, в методе doInBackground вытащите данные из базы данных и отправьте вытащенные данные во вторую активность в виде разборного массива или 2) начните второе действие, в методе onCreate вытащить данные из базы данных и отобразить индикатор выполнения при выборе данных. Я считаю, что это не основано на первичном мнении, и должны быть ценные плюсы и минусы. Но я новичок в Android, и я изо всех сил стараюсь найти лучший подход для этого. Спасибо за внимание.Начать работу при извлечении данных из базы данных
ответ
Первый подход не является удобным. Потому что, когда пользователь нажимает кнопку, чтобы открыть различную активность (с точки зрения пользовательского интерфейса), пользователь за исключением того, чтобы показывать переход, а не застрял в первом действии. На самом деле это зависит от вашего дизайна UX приложения. Также первый подход имеет и другую проблему. Если вы загружаете данные в первую активность, вам необходимо передать многие данные при вызове другого действия.
Используйте слегка модифицированный второй подход. Сначала запустите второе действие, затем вызовите AsyncTask (в методе onCreate) для загрузки данных.
Да, моя главная проблема заключается в отправке большого количества данных между действиями. Спасибо за Ваш ответ. – olyv
Ну, я думаю, что лучше всего запускать AsyncTask при нажатии кнопки и обрабатывать данные в doInBackground, как вы сказали. В onCreate() второго индикатора прогресса acivity, а в doInBackground() отправляют данные и отображают элементы. Кажется, это лучший результат.
Как именно это повлияет на производительность? Его просто опыт пользовательского интерфейса. – Rohit5k2
Перед вызовом метода onCreate(), некоторые думают, что происходит, и некоторое время проходит. Если вы запускаете AsyncTask раньше в первой игре, вы должны получить результат быстрее. По крайней мере, я так думаю. – Wiertek
Операция локальной БД не показала существенных различий. Если бы это был внешний вызов, я бы согласился с вами. – Rohit5k2
- 1. дешифрование при извлечении данных из базы данных
- 2. при извлечении записи из базы данных?
- 3. Ошибка при извлечении JSON из базы данных
- 4. Исключение из памяти при извлечении огромных данных из базы данных
- 5. Как использовать потоки при извлечении данных из базы данных
- 6. Увеличение производительности при извлечении данных из удаленной базы данных
- 7. RuntimeError при извлечении данных из базы данных sqlite в android
- 8. Ошибка при извлечении данных из базы данных mysql
- 9. Ловля исключения при извлечении данных из базы данных SQLite Android
- 10. Как избежать специальных символов при извлечении данных из базы данных?
- 11. Соединение теряется при извлечении данных из базы данных
- 12. NullPointerException в android при извлечении данных из базы данных SQLite?
- 13. Как getimagesize() при извлечении данных изображения из базы данных mysql
- 14. Ошибка при извлечении данных слушателя из базы данных в blackberry
- 15. конвертировать строку в bool при извлечении данных из базы данных
- 16. NullPointerException при извлечении данных из базы данных sqlite
- 17. Правильный способ использования QVariant при извлечении данных из базы данных
- 18. Ошибка при извлечении данных IdentityUser из базы данных Azure
- 19. Библиотека для кэширования ссылок при извлечении данных из базы данных
- 20. Выбор запроса не работает при извлечении данных из базы данных
- 21. Сломанная кодировка при извлечении данных из базы данных sqlite
- 22. Кастинг или преобразование при извлечении данных из базы данных?
- 23. дублирование данных при извлечении из базы данных в android
- 24. Ошибка при извлечении данных из данных ядра
- 25. Ошибка при извлечении базы данных в ListView
- 26. NullPointerException - проблема с блокировкой базы данных при извлечении данных из базы данных и хранении в массиве
- 27. Занятый счетчик при извлечении данных
- 28. Сериализованные разрывы массивов при извлечении из базы данных
- 29. Ошибка при извлечении формы из базы данных в jointjs
- 30. Проблема с регулярным выражением при извлечении из таблицы базы данных
Все зависит от того, хотите ли вы, чтобы данные были предварительно заполнены во второй активности или нет. Но если бы я был вами, я предпочел бы второй вариант. – Rohit5k2
Итак, это вопрос Ux, но не производительности? Я просто боюсь замедлить скорость загрузки новой активности. – olyv
Если ее локальная БД вы не увидите никакой разницы в загрузке. Но если вы хотите, чтобы ваш второй актив был предварительно взят, используйте первый подход. – Rohit5k2