목표 : JSON 문자열을 가져 와서 Android WebView에있는 JavaScript 함수로 전달하고 싶습니다.WebView 내 JS 함수에 데이터 푸시 시도
내가하고있는 일 : 안드로이드 SQLite 데이터베이스에서 데이터를 가져와 JSON으로 변환하고 브라우저에 전달하고 차트를 사용하여 데이터를 표시해야합니다. 필자는 JSON을 JavaScript 함수/브라우저로 전달하는 방법을 알 수 없다는 점을 제외하고는이 모든 작업을 완료했습니다.
그래서 여기 내 HTML 헤더에 JS 기능이 있습니다
<script type="text/javascript">
function returnData(json) {
//Do something in here with the JSON String
}
</script>
그리고 내 자바 나는 내가 JS "returnData"기능을 실행하는 원인이됩니다 자바 스크립트 인터페이스를 가지고있다.
final class DemoJavaScriptInterface {
DemoJavaScriptInterface() {
}
public void clickOnAndroid() {
mHandler.post(new Runnable() {
public void run() {
json = "[{ country: \\\"USA\\\", visits: 4252 },{ country: \\\"China\\\", visits: 1882 },{ country: \\\"Japan\\\", visits: 1809 }]";
mWebView.loadUrl("javascript:returnData("+json+")");
}
});
}
}
"returnData"함수를 실행하려면 그냥 실행하면됩니다. 나는 시도하고, 그냥 '실패'(아래처럼) 함수에 문자열을 밀어 경우
mWebView.loadUrl("javascript:returnData()");
(작품 아래)하지만 ... 불행히도 내가 JS에 많은 경험을 가지고 있지 않으며, 그래서 나는이 JS 함수가 호출되지 않는 이유는 알 수 없습니다.
mWebView.loadUrl("javascript:returnData("+json+")");
나는 내가 JS 기능에서 데이터를 얻을 수있는 데이터 (내 생각)을 저장할 수있는 DOM 어딘가에 자바 스크립트 함수에 데이터를 넣거나, 수있는 방법을 찾고 있어요.
감사합니다. 감사드립니다.