热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

android支持js吗(androidjs)

本文目录一览:1、android中用javascript吗

本文目录一览:


  • 1、android中用Javascript吗


  • 2、js的框架能用到android开发中吗?比如echart,moment,art template....


  • 3、安卓手机有没有浏览器支持Javascript的,在电脑上编写了一个alert弹出框,可以再手机上用吗?会弹出来吗?


  • 4、安卓12能用auto.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更新至可以使用的版本后在使用。


推荐阅读
  • 本文介绍了如何在给定的有序字符序列中插入新字符,并保持序列的有序性。通过示例代码演示了插入过程,以及插入后的字符序列。 ... [详细]
  • Java String与StringBuffer的区别及其应用场景
    本文主要介绍了Java中String和StringBuffer的区别,String是不可变的,而StringBuffer是可变的。StringBuffer在进行字符串处理时不生成新的对象,内存使用上要优于String类。因此,在需要频繁对字符串进行修改的情况下,使用StringBuffer更加适合。同时,文章还介绍了String和StringBuffer的应用场景。 ... [详细]
  • 个人学习使用:谨慎参考1Client类importcom.thoughtworks.gauge.Step;importcom.thoughtworks.gauge.T ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • springmvc学习笔记(十):控制器业务方法中通过注解实现封装Javabean接收表单提交的数据
    本文介绍了在springmvc学习笔记系列的第十篇中,控制器的业务方法中如何通过注解实现封装Javabean来接收表单提交的数据。同时还讨论了当有多个注册表单且字段完全相同时,如何将其交给同一个控制器处理。 ... [详细]
  • 猜字母游戏
    猜字母游戏猜字母游戏——设计数据结构猜字母游戏——设计程序结构猜字母游戏——实现字母生成方法猜字母游戏——实现字母检测方法猜字母游戏——实现主方法1猜字母游戏——设计数据结构1.1 ... [详细]
  • [大整数乘法] java代码实现
    本文介绍了使用java代码实现大整数乘法的过程,同时也涉及到大整数加法和大整数减法的计算方法。通过分治算法来提高计算效率,并对算法的时间复杂度进行了研究。详细代码实现请参考文章链接。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
author-avatar
往事如烟zhang_214
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有