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에 인터넷 액세스 권한을 설정해야 합니다.

시험해 보다


버튼을 누르면...

토스트가 나왔어요.

끝말


이걸 적용하면 많이 할 수 있어요.

좋은 웹페이지 즐겨찾기