Иерархия папок закладок в браузере Android

Я разрабатываю приложение для управления закладками. В настоящее время я показываю все закладки в папке listview. Этот подход хорошо работает, если количество закладок невелико. Но если есть большое количество закладок, то список становится слишком длинным и трудно найти конкретную закладку. Итак, я хочу, чтобы пользователь мог создавать папки и перемещать соответствующие закладки в папки. Поскольку в базе данных закладок Android нет столбца папок, я не могу хранить информацию о том, какие закладки принадлежат какой папке.

Я могу создать свою собственную базу данных и поддерживать эту информацию, но тогда иерархия папок не будет видна для Android. Как я могу создать эту иерархию папок и сохранить эту информацию?


person karn    schedule 23.10.2012    source источник
comment
Я обновил вопрос....   -  person karn    schedule 23.10.2012


Ответы (2)


Поскольку в базе данных закладок Android нет столбца папок, я не могу хранить информацию о том, какие закладки принадлежат какой папке.

Но есть. Вытащил базу данных браузера из эмулятора под управлением 4.0, и в нем есть поле папки

введите описание изображения здесьно когда я проверил в 2.3, у него нет такого поля, и я думаю, что приложение (Закладки сортировка и резервное копирование), упомянутые вами в комментарии, предоставляют эту функциональность только в 4.0 и выше. Вы также можете заглянуть в исходный код, если вам интересно, где папка добавляется в db.

  values.put(BrowserContract.Bookmarks.PARENT, mCurrentFolder);

http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android-apps/4.1.1_r1/com/android/browser/AddBookmarkPage.java#AddBookmarkPage

Надеюсь это поможет.

person Sunny Kumar Aditya    schedule 05.11.2012
comment
Я наблюдал такое же поведение с 4.0 и 2.3, но не проверял базу данных. И хорошо видно, что в базе закладок в 4.0 и выше есть колонка папки. В любом случае спасибо за ответ. Это решит мою проблему. - person karn; 06.11.2012
comment
Удалось ли вам изменить значение в столбце папки? Я пытался изменить его, но он просто не позволил мне изменить его (хотя я мог бы изменить любой другой) - person Aditya; 07.06.2013

Что вы имеете в виду под «но тогда иерархия папок не будет видна андроиду»? Что ваша иерархия не видна в стоковом или хромовом браузере? Ну конечно нет. Они просто не поддерживают иерархическую информацию, поскольку используют поставщика содержимого браузера.

Но ваше приложение может по-прежнему использовать их. Вам нужно будет синхронизировать свою базу данных с поставщиком контента, добавив наблюдателя контента и повторно синхронизируя, когда ваше приложение запускается заново (например, после перезагрузки или после того, как Android уничтожил его для освобождения ресурсов).

Я могу себе представить, что такое приложение имеет смысл, особенно на планшетах, где люди склонны больше просматривать (и, следовательно, закладки). Однако будьте готовы к тому, что Google может добавить иерархию к поставщику содержимого браузера в будущих выпусках. Я думаю, что в конце концов они должны это сделать.

person Wolfram Rittmeyer    schedule 23.10.2012
comment
посмотрите, у меня было такое же впечатление, что ваша иерархия папок никогда не будет видна для Android, и поэтому я создал свою собственную базу данных для закладок, которая синхронизирована с базой данных закладок Android. Но потом я увидел приложение (сортировка и резервное копирование закладок), в котором вы можете создавать папки и хранить там свои закладки, и когда вы получаете доступ к этим закладкам из браузера Android по умолчанию, закладки отображались в том же порядке. Итак, я думаю, что это возможно. Я попытался найти в документации по андроиду какую-то подсказку, но не смог найти ее и, следовательно, вопрос. - person karn; 23.10.2012
comment
Интересный. Позже я посмотрю на поставщика браузера. - person Wolfram Rittmeyer; 23.10.2012