Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
zesen
122 / 85 / 1
Регистрация: 17.10.2010
Сообщений: 436
#1

Как сделать, чтобы Content Provider использовал следующие пути - Программирование Android

17.04.2012, 14:24. Просмотров 872. Ответов 0
Метки нет (Все метки)

В приложении используется WebView. HTML страницы, картинки, скрипты, данные, которые загружаются в WebView, будут храниться в Базе Данных на Android устройстве. Как сделать, чтобы Content Provider использовал следующие пути:

Код
content://com.example.webviewdataprovider/images/имя_картинки.jpg
content://com.example.webviewdataprovider/scripts/имя_скрипта.js
content://com.example.webviewdataprovider/styles/имя_стиля.css
Все выше описанные файлы будут храниться в БД с таблицей вида: <ИмяФАЙЛА СОДЕРЖИМОЕФАЙЛА>, содержащей два поля

В БД так же есть таблицы представляющие собой целые объекты(например: Object_1, Object_2, и т.д.). Как сделать, что бы Content Provider мог воспринимать обращения следующего вида:

Код
content://com.example.webviewdataprovider/ObjectList.htm?Status=Good
Формировал выборку, например из таблицы Object_1, всех записей где Status=Good

Код
content://com.example.webviewdataprovider/Object.htm?Id=123456
Выводил запись из таблицы Object_1, записи где Id=123456

Это будет применяться в HTML файле, для его формирования. Запись в таком виде нужна для более наглядного отображения текста Понимаю, что копать нужно в направлении UriMatcher: Не знаю, иду ли в правильном пути.......

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public static final String AUTHORITY = "com.example.WebViewDataProvider";
 
private static final String IMAGES_FOLDER_STR = "images";
private static final String SCRIPTS_FOLDER_STR = "scripts";
private static final String STYLES_FOLDER_STR = "styles";
private static final String OBJECT_LIST_STR = "ObjecList.htm";
private static final String OBJECT_STR = "Objec.htm";
 
private static final int IMAGES_FOLDER_ID = 15;
private static final int SCRIPTS_FOLDER_ID = 16;
private static final int STYLES_FOLDER_ID = 17;
private static final int OBJECT_LIST_ID = 18;
private static final int OBJECT_ID = 19;
 
private static final UriMatcher sUriMatcher;
static
{
    sUriMatcher = new UriMatcher(UriMatcher.NO_MATCH);
    sUriMatcher.addURI(AUTHORITY, IMAGES_FOLDER_STR, IMAGES_FOLDER_ID);
    sUriMatcher.addURI(AUTHORITY, SCRIPTS_FOLDER_STR, SCRIPTS_FOLDER_ID);
    sUriMatcher.addURI(AUTHORITY, STYLES_FOLDER_STR, STYLES_FOLDER_ID);
    sUriMatcher.addURI(AUTHORITY, OBJECT_LIST_STR, OBJECT_LIST_ID);
    sUriMatcher.addURI(AUTHORITY, OBJECT_STR, OBJECT_ID);
}
И как сделать, что бы задавать запросы, например, вида: .....?Id=123456 К полю Id объекта Object_1,
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.04.2012, 14:24     Как сделать, чтобы Content Provider использовал следующие пути
Посмотрите здесь:
Android Передача данных между двумя телефонами Android + Content Provider
Как сделать, чтобы до того времени как одна анимация не закончится, другая не начиналась? Android
Как получить данные контакта из Contact Provider Android
Android Как сделать, чтобы ListView читалось с конца
Как сделать чтобы кнопка правильно располагалась Android
Как сделать чтобы текст появлялся по буквам? Android
Content description как задать? Android
Android Как сделать, чтобы при копировании сохранялся перенос строк?
Как сделать, чтобы элемент пропускал сквозь себя нажатия Android
Как сделать, чтобы приложение выглядело одинаково на всех версиях Android
Android Как сделать, чтобы после ввода числа оно конвертировалось?
Как сделать, чтобы приведенный код выполнялся в событии кнопки Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru