Поделитесь базой данных sqlite между собственным приложением и html5

У меня есть небольшое собственное приложение для iPad только с UIWebView. Это приложение может хранить данные в базе данных SQLite. Могу ли я прочитать эту базу данных в JS с веб-страницы внутри UIWebView? Где браузер хранит файлы базы данных для SQLite? Можно ли разделить базу данных между веб-страницей и собственным приложением?

Большое спасибо.


person Alex K    schedule 24.10.2011    source источник


Ответы (2)


вы можете делать запросы к приложению из веб-просмотра и получать обратный вызов, используя JS и UIWebViewDelegate или любой другой

HTML:

<a href=\"http://commenter\">

в приложении:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
    NSString *button = [[request URL] host];

    // if clicked on commenter/partager button in article
    if ([button isEqualToString:@"commenter"]) {
person Volodymyr B.    schedule 24.10.2011
comment
Спасибо, я знаю этот способ взаимодействия между нативным приложением и веб-страницей. Но вопрос в том, как я могу одновременно использовать одну и ту же базу данных SQLite из собственного приложения и с веб-страницы? - person Alex K; 25.10.2011

Вы не можете использовать базу данных или любой другой ресурс внутри приложения ios вне его.

Поскольку приложения iOS работают в изолированной среде. Каждому приложению выделяется некоторое пространство в папке, которое оно может поместить и получить только из него, например, каталог документов, каталог библиотеки.

если вы знаете некоторые распространенные языки сценариев, такие как php или классический asp, вы можете сделать это легко.

Например

построить строку с тегами html, css и скриптом

затем загрузите эту строку в веб-просмотр

вы можете скрыть некоторые данные в скрытом поле и использовать их, когда вам это нужно. Если ему нужно получить доступ к некоторым большим данным sqlite в то время, просто сделайте запрос URL-адреса, поймайте запрос URL-адреса в цели c и снова создайте и загрузите строку.

person Durai Amuthan.H    schedule 24.03.2013