#ios #sqlite #html #share
#iOS #sqlite #HTML #Поделиться
Вопрос:
У меня есть небольшое собственное приложение для iPad только с UIWebView. Это приложение может хранить данные в базе данных SQLite. Могу ли я прочитать эту базу данных в JS с веб-страницы внутри UIWebView? Где браузер хранит файлы базы данных для SQLite? Может ли база данных использоваться совместно между веб-страницей и собственным приложением?
Большое спасибо.
Ответ №1:
вы можете отправлять запросы в приложение из webview и получать обратный вызов, используя 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"]) {
Комментарии:
1. Спасибо, я знаю этот способ взаимодействия между собственным приложением и веб-страницей. Но возникает вопрос: «Как я могу использовать одну и ту же базу данных SQLite из собственного приложения и с веб-страницы одновременно?»
Ответ №2:
Вы не можете использовать базу данных или любой другой ресурс внутри приложения ios вне его.
Потому что приложения ios работают в изолированной среде. Каждому приложению выделяется некоторое пространство в папке, которое оно может помещать и получать из него только, например, каталог документов, каталог библиотеки
если вы знаете некоторые распространенные языки сценариев, такие как php или классический asp, вы можете сделать это легко.
например
создайте строку с помощью html-тегов, css и скрипта
затем загрузите эту строку в webview
вы можете скрыть некоторые данные в скрытом поле и использовать их, когда вам это нужно. Если в данный момент ему необходимо получить доступ к некоторым большим данным sqlite, просто сделайте запрос url, перехватите запрос url в objective c и снова создайте и загрузите строку.