Khi phát triển ứng dụng web chạy trên WebView trong ứng dụng Android, bạn có thể kết nối JavaScript với Android code. Trong ví dụ này, đoạn mã JavaScript kết nối với đoạn mã bên Android để hiển thị 1 dialog, thay vì dùng hàm Javascript là alert().
Để kết nối, bạn gọi hàm addJavascriptInterface(), truyền vào 1 đối tượng kết nối với Javascript và tên interface mà JavaScript gọi tới để kết nối với Android class.
Trong ứng dụng Android, bạn tạo lớp JavascriptInterface:
Kết nối giữa Javascript và Android code:
Để kết nối, bạn gọi hàm addJavascriptInterface(), truyền vào 1 đối tượng kết nối với Javascript và tên interface mà JavaScript gọi tới để kết nối với Android class.
Trong ứng dụng Android, bạn tạo lớp JavascriptInterface:
public class JavaScriptInterface { Context mContext; /** Instantiate the interface and set the context */ JavaScriptInterface(Context c) { mContext = c; } /** Show a toast from the web page */ public void showToast(String toast) { Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show(); } }Lớp JavaScriptInterface cho phép website tạo thông điệp và gọi hàm showToast để hiện thị thông báo (tương tự như hàm alert() của JS).
Kết nối giữa Javascript và Android code:
WebView webView = (WebView) findViewById(R.id.webview); webView.addJavascriptInterface(new JavaScriptInterface(this), "Android");Khởi tạo lớp interface Android cho Javascript trong WebView và phần mềm của bạn có thể truy cập vào lớp JavaScriptInterface. Ví du: Khi người dùng click vào button, hiển thị 1 thông báo
<input onclick="showAndroidToast('Hello Android!')" type="button" value="Say hello" /> <script type="text/javascript"> function showAndroidToast(toast) { Android.showToast(toast); } <script>Không cần khởi tạo lớp JavascriptInterface vì WebView đã làm dùm bạn. Bạn có thể tải ví dụ chương trình ở đây: Mediafire. Còn file html, bạn tự viết và upload lên IIS để có thể truyền đường dẫn tuyệt đối.
mWebView.loadUrl("http://yourdomain.com");
pass download là gì vậy bạn ơi??
Trả lờiXóaKhông có password. Lúc download, nếu mediafire hiện lên captcha thì bạn nhập captcha vào, sẽ download được ngay.
Xóa