2013-10-24 2 views
-1

하이브리드 Android 앱 (앱 개발에서 새로운 앱)을 만들고 있습니다. 응용 프로그램의 주요 부분에서, 나는 webview 있습니다. webview는 html content/javascript/css를 보여줍니다.android webview를 사용하여 나머지 API를 사용하는 방법

내 웹 서비스에서 콘텐츠를로드하고 내 webview에 넣어야합니다. 어떻게 그렇게 할 수 있습니까?

웹보기가 클라이언트 브라우저 컨텍스트이기 때문에, 당신은 당신의 웹 서비스를 소비하거나 단순화를 위해 당신이 jQuery ajax 방법을 사용할 수 있습니다 네이티브 자바 스크립트를 XMLHTTPRequest 객체를 사용할 수 있습니다

@SuppressLint("JavascriptInterface") 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    //Set the web view 
    WebView webView =(WebView)findViewById(R.id.webView); 
    webView.getSettings().setJavaScriptEnabled(true);//beware of XSS vulnerabiliUes 
    webView.setWebChromeClient(new WebChromeClient()); 
    webView.loadUrl("file:///android_asset/www/index.html"); 

} 

답변

0

도메인 간 문제로 인해 작동하지 않습니다. 아래 코드는 그것을 해결했습니다. // ...하지만 파일 : 나는 HTTP에서 내 웹보기의 내용을로드하고 있지 않다 때문에

webView.getSettings().setAllowUniversalAccessFromFileURLs(true); 
1

내 자바 스크립트

$(document).ready(function(){ 
    $.ajax({ 
    type: "POST", 
    url: "http://www.hiss.ly/api/test.php", 
    cache: false, 
    success: function(result){ 
     alert(result); 
    }, 
    error: function(result){ 
     alert("Error"); 
    } 
}); 
return false; 
}); 

</script> 

MainActivity.java 귀하의 webview 구성에서 자바 스크립트를 활성화하십시오.

+0

안녕하세요, 문제가있는 것입니다 // 지역 – Slay

+0

자바 스크립트/JQuery와 작동하는 것 같다하지 않습니다. – Slay

+0

webview.getSettings(). setJavaScriptEnabled (true)를 사용하여 webview에서 'javascript'를 활성화해야하며 로컬에서 페이지를로드 할 때 온라인 jquery 라이브러리 ['online online google library service']를 참조해야합니다. (https://developers.google.com/speed/libraries/devguide#jquery) – xhamr

관련 문제