2011-12-13 4 views
0

앱 스토어 용 iPhone/iPad 앱을 만들고 있습니다. 내가 뭘하고 싶은 건 UIWebView를 통해 HTML5/Javascript를 사용하여 만들어서 나중에 웹 버전에도 HTML5/Javascript 코드를 사용할 수 있습니다 (이것은 요구 사항입니다). 기본적으로 응용 프로그램과 함께 제공되는 오프라인 데이터베이스 (SQLite)를 갖고 싶습니다. 이것은 응용 프로그램의 콘텐츠가 될 것이고 .sqlite 파일은/XCode Project의/Supporting Files/폴더에 있습니다.iOS SQL 자바 스크립트에서 데이터베이스 액세스

제 질문은 어떻게 쿼리를 실행하고 자바 스크립트에서이 데이터베이스의 데이터를 다시 가져올 수 있습니까? 이것이 가능한가?

답변

1

나만의 다리를 만들거나 iOS 용으로 제공되는 다양한 HTML 기반 앱 프레임 워크 중 하나 (PhoneGap, Appcelerator 등)를 사용해야합니다. 당신이 당신의 자신의 다리를 구축하는 길을 가고 싶은 경우

, 당신은 UIWebView-stringByEvaluatingJavaScriptFromString:UIWebView의 조합 '사용자 정의 프로토콜을 사용의 -loadRequestUIWebViewDelegatewebView:shouldStartLoadWithRequest:navigationType:을 확인해야합니다 (예를 들어, com.mycompany.myapp.1.0://)이 당신은 대리자 메서드에서 확인합니다.

편집 :

<a href="myapp://doQuery?arg1=a&arg2=b">Do Query</a> 

나 :

귀하의 HTML이 뭔가를해야한다 : 여기

일부 샘플 코드입니다

<a href="#" onclick:"javascript:doQuery();">Do Query</a> 
<script> 
    function doQuery() { 
    window.location = "myapp://doQuery"; 
    } 
</script> 

그런 다음 웹보기 위임 할 수 거기서 클릭을 포착하십시오 :

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)req (UIWebViewNavigationType)navType { 
    if ([[req URL] scheme] == @"myapp:") { 
    if ([[req URL] host] == @"doQuery") { 
     // Do the query here. 
     [webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"latestResult = %@; queryReturned(latestResult);", queryResultAsJSON]]; 
    } else if ([[req URL] host] == @"doSomethingElse") { 
     // Do something else. 
    } 
    return NO; 
    } 
    return YES; 
} 
+0

내 다리를 만드는 것이 어떤 의미인지는 모르겠지만 도움이됩니다. 사용자 정의 수준을 약간 높일 수 있다면 도움이됩니다. 튜토리얼이나 이것에 대해 더 잘 설명하는 링크가 있습니까? 또한, 쿼리를 실행하고 해당 데이터를 Javascript 레이어로 가져올 수 있는지 Javascript를 통해 알 수 있습니까? –

+0

감사합니다. 훨씬 명확합니다. –

관련 문제