android支持js嗎(android js)

本文目錄一覽:

android中用javascript嗎

Android之如何使用javascript調用android代碼

使用javascript調用android代碼

1.使用webview對象的addJavascriptInterface方法

2.addJavascriptInterface方法有兩個參數,第一個參數就是我們一般會實現一個自己的類,類裡面提供我們要提供給javascript訪問的方法;第二個參數是訪問我們在obj中聲明的方法時候所用到的js對象,調用模式為window.interfaceName.方法名()或者是javascript: interfaceName.方法名() ;,如myWebView.addJavascriptInterface(new JavaScriptinterface(this), “android”);

3.編寫JavaScriptinterface類,如有一個函數名為showToast()的方法

4.在html中調用時的形式:javascript:android.showToast()。

附上一個小例子:

import android.content.Context;

import android.widget.Toast;

public class JavaScriptinterface {

private Context mContext;

/** Instantiate the interface and set the context */

public 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();

}

}

import java.io.BufferedReader;

import java.io.File;

import java.io.InputStreamReader;

import android.app.Activity;

import android.content.Context;

import android.os.Bundle;

import android.view.KeyEvent;

import android.webkit.WebView;

import android.webkit.WebViewClient;

public class MainActivity extends Activity {

/** Called when the activity is first created. */

private WebView myWebView;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

myWebView = (WebView) findViewById(R.id.myWebView);

myWebView.getSettings().setJavaScriptEnabled(true);

myWebView.addJavascriptInterface(new JavaScriptinterface(this),

“android”);

String htmlText = getFromAssets(“test.html”);

//把myWebView載入html

myWebView.loadData(htmlText, “text/html”, “utf-8”);

myWebView.setWebViewClient(new myWebViewClient());

}

// 此按鍵監聽的是返回鍵,能夠返回到上一個網頁(通過網頁的hostlistery)

public boolean onKeyDown(int keyCode, KeyEvent event) {

if ((keyCode == KeyEvent.KEYCODE_BACK) myWebView.canGoBack()) {

myWebView.goBack();

return true;

}

return super.onKeyDown(keyCode, event);

}

public String getFromAssets(String fileName) {

try {

InputStreamReader inputReader = new InputStreamReader(

getResources().getAssets().open(fileName));

BufferedReader bufReader = new BufferedReader(inputReader);

String line = “”;

String Result = “”;

while ((line = bufReader.readLine()) != null)

Result += line;

if (bufReader != null)

bufReader.close();

if (inputReader != null)

inputReader.close();

return Result;

} catch (Exception e) {

e.printStackTrace();

}

return null;

}

class myWebViewClient extends WebViewClient {

@Override

public boolean shouldOverrideUrlLoading(WebView view, String url) {

// TODO Auto-generated method stub

view.loadUrl(url);

return true;

}

}

}

!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “”

html xmlns=”” xml:lang=”zh-CN” dir=”ltr”

head

meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″ /

script type=”text/javascript”

function showAndroidToast(toast) {

javascript:android.showToast(toast);

}

/script

/head

body

input type=”button” value=”Say hello”

onClick=”showAndroidToast(‘Hello Android!’)” /

/body

/html

android的應用程序中,可以直接調用WebView 中的javascript 代碼:

import java.io.BufferedReader;

import java.io.File;

import java.io.InputStreamReader;

import android.app.Activity;

import android.content.Context;

import android.content.Intent;

import android.net.Uri;

import android.os.Bundle;

import android.os.Handler;

import android.view.KeyEvent;

import android.view.View;

import android.view.View.OnClickListener;

import android.webkit.WebSettings;

import android.webkit.WebView;

import android.webkit.WebViewClient;

import android.widget.Button;

public class MainActivity02 extends Activity {

/** Called when the activity is first created. */

private WebView webView;

private Button button;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main2);

webView=(WebView) this.findViewById(R.id.webView);

button=(Button) this.findViewById(R.id.button);

WebSettings setting=webView.getSettings();

//設置支持javascript

setting.setJavaScriptEnabled(true);

//增加介面方法,讓html頁面調用

webView.addJavascriptInterface(new Object(){

//這裡我定義了一個撥打的方法

public void startPhone(String num){

Intent intent=new Intent();

intent.setAction(Intent.ACTION_CALL);

intent.setData(Uri.parse(“tel:”+num));

startActivity(intent);

}

}, “demo”);

//載入頁面

webView.loadUrl(“”);

button.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

webView.loadUrl(“javascript:show(‘activity傳過來的數據’)”); //調用javascript函數

/*

* 通過webView.loadUrl(“javascript:xxx”)方式就可以調用當前網頁中的名稱

* 為xxx的javascript方法

*/

}

});

}

}

!DOCTYPE html PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” “”

html

head

meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″

titleInsert title here/title

script type=”text/javascript”

function show(content){

document.getElementById(“countent”).innerHTML=

“這是我的javascript調用. 這是:”+content;

}

/script

/head

body

table align=”center”

trtd姓名/tdtd電話/td/tr

trtd小明/tdtda href=”javascript:demo.startPhone(123)”123/a/td/tr

trtd小王/tdtda href=”javascript:demo.startPhone(456)”456/a/td/tr

/table

p id=”countent”html原始數據/p

/body

/html

js的框架能用到android開發中嗎?比如echart,moment,art template….

可以,android通過webview直接調用本地html網頁。html網頁要放在assets目錄下面。

如果您的這些js框架在伺服器端,直接使用webview loadurl方法就ok,關於訪問android與js互相調用的demo,請去應用寶搜索安卓無憂就可以。度娘不讓發鏈接,一發就刪除我的回答。太2了。

安卓手機有沒有瀏覽器支持javascript的,在電腦上編寫了一個alert彈出框,可以再手機上用嗎?會彈出來嗎?

現在的安卓手機的瀏覽器幾乎都是可以直接瀏覽普通網頁(非WAP網頁)的,而且都是支持Javascript的(事實上Javascript已經是目前為止唯一的網頁前端腳本語言了)。當然,瀏覽器中一般都有打開或關閉Javascript功能的選項,但只要是打開的,你用alert彈出的對話框就一定會彈出來,除非有錯。

安卓12能用auto.js嗎

不能使用。

目前為止的auto.js不能在12系統中使用。

可以等JS更新至可以使用的版本後在使用。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/301679.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-30 16:09
下一篇 2024-12-30 16:09

相關推薦

發表回復

登錄後才能評論