网站建设资讯

NEWS

网站建设资讯

javascript安卓,javascript安卓版下载安装

安卓手机javascript被禁用怎么开启?

一般是浏览器里禁用,进入浏览器设置找到隐私或高级或扩展功能,再找到js并开启即可。具体要看是哪个浏览器里提示,不同浏览器操作也略有不同。

专业从事成都网站设计、网站建设,高端网站制作设计,成都微信小程序,网站推广的成都做网站的公司。优秀技术团队竭力真诚服务,采用H5高端网站建设+CSS3前端渲染技术,响应式网站建设,让网站在手机、平板、PC、微信下都能呈现。建站过程建立专项小组,与您实时在线互动,随时提供解决方案,畅聊想法和感受。

Js调用Android的方法

1、初始化WebView

X5WebView  webView =new X5WebView(this,null);我这里用的是腾讯的TBS浏览服务.详情参考上一篇文章:

2、设置初始化WebSetting

3、给WebView添加addJavascriptInterface()

例如:

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载入卡住

具体原因是这样的:

1、Java调用js里面的函数、效率并不是很高、估计要200ms左右吧、做交互性很强的事情、这种速度很难让人接受、而js去调Java的方法、速度很快、50ms左右、所以尽量用js调用Java方法。

2、Java调用js的函数、没有返回值、调用了就控制不到了。

3、Js调用Java的方法、返回值如果是字符串、你会发现这个字符串是native的、转成locale的才能正常使用、使用toLocaleString()函数就可以了、不过这个函数的速度并不快、转化的字符串如果很多、将会很耗费时间。

4、网页中尽量不要使用jQuery、执行起来需要5-6秒、最好使用原生的js写业务脚本、以提升加载速度、改善用户体验。


新闻标题:javascript安卓,javascript安卓版下载安装
本文链接:http://njwzjz.com/article/dscjcos.html