JavaScript에서 Android를 호출하는 방법
6774 단어 AndroidJavaScript
먼저, Android의 경우 새 JavaScript Android(Activity) 사이의 가교 클래스
hogeMethod
방법이 호출되면 토스트가 표시됩니다.반 사람들은 모두 매우 자유롭지만
JavaScript
무엇이든지 좋습니다.JavaScript.java
package com.example.hkusu.javascripttest;
import android.content.Context;
import android.widget.Toast;
public class JavaScript {
private Context c;
public JavaScript(Context c) {
this.c = c;
}
public void hogeMethod(String s) {
Toast toast = Toast.makeText(c, s, Toast.LENGTH_LONG);
toast.show();
}
}
Android의 Activity에서 WebView 인스턴스를 생성합니다.MainActivity.java
package com.example.hkusu.javascripttest;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.webkit.WebView;
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
WebView wv = new WebView(this);
wv.getSettings().setJavaScriptEnabled(true);
//wv.setWebViewClient(new WebViewClient());
wv.addJavascriptInterface(new JavaScript(this), "android");
setContentView(wv);
wv.loadUrl("file:///android_asset/hoge.html");
}
}
《WebView》.getSettings().setJavaScriptEnabled(true)
WebView에서 JavaScript 사용이 활성화되었습니다.《WevView》.addJavascriptInterface(new JavaScript(this), "android")
에 아까의 JavaScript
류에 부속되어 있다.여기android
문자열은 임의의 문자열이며 JavaScript 옆에 표시되는 객체 이름입니다.그런 다음 HTML(JavaScript)을 만듭니다.이번에는 WebVeiw에 로드된 HTML이 안드로이드 프로젝트에 포함됩니다.(없는 경우) 안드로이드 프로젝트의
res
디렉터리와 같은 층에서 assets
디렉터리를 제작, 설정hoge.html
아래와 같다.
단순히 버튼을 누르면
android.hogeMethod()
호출만 가능합니다.hoge.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Toastを表示するテスト</title>
</head>
<body>
<button onClick="android.hogeMethod('ほげほげ')">Toastを表示</button>
</body>
</html>
※ 외부 HTML 파일을 http://
에 로드하려면 AndroidManifest.xml
에 인터넷 액세스 권한을 설정해야 합니다.시험해 보다
버튼을 누르면...
토스트가 나왔어요.
끝말
이걸 적용하면 많이 할 수 있어요.
Reference
이 문제에 관하여(JavaScript에서 Android를 호출하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hkusu/items/3777b75aa5bf130e9202텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)