CROSSWALK入门

article/2025/9/15 16:18:26

Crosswalk是一款开源的web引擎。目前Crosswalk正式支持的移动操作系统包括Android和Tizen,在Android 4.0及以上的系统中使用Crosswalk的Web应用程序在HTML5方面可以有一致的体验,同时和系统的整合交互方面(比如启动画面、权限管理、应用切换、社交分享等等)可以做到类似原生应用。现在Crosswalk已经成为众多知名HTML5平台和应用的推荐引擎,包括Google Mobile Chrome App、Intel XDK、Famo.us和Construct2等等,未来的Cordova 4.0也计划集成Crosswalk。

  • Crosswalk官方地址

下载的时候有些小迷茫,不知道应该下载哪个,入门的话,还是使用下图的稳定版本好了。
CrossViewDownload

  • 集成到应用中

1.下载zip包,然后参考 Android Studio如何Import Module 即项目依赖(针对非Gradle项目,以Crosswalk为例) 中的介绍,建立Android Studio工程,并且导入到项目中。

2.在AndroidManifest.xml中增加如下权限

使用XWalkView必须开启硬件加速,修改AndroidManifest.xml

  • 基本使用

Crosswalk中用来替代WebView的控件叫XWalkView

1.layout文件写法

2.代码中使用
和其他Android的控件不同,这个类需要监听系统事件。例如:生命周期、intent、Activity result。
控件内置的Web引擎需要获取并处理这些信息。并且当XWalkView 不再需要使用的时候,在onDestroy方法中XWalkView必须显式的调用destroy方法,否则容易造成Web引擎的内存泄漏。

3.loadUrl去哪了?

上面的代码中其实已经剧透了,使用load方法即可。

4.WebViewClient?

对应WebView的WebViewClient,XWalkView中有XWalkResourceClient。

  • 调用JavaScript

不像WebView一样获取setting设置setJavaScriptEnabled为true才能执行。
Crosswalk可以直接执行js。

当然,按照Kitkat引入的方式,使用evaluateJavascript方法也是可以的。(大神们推荐)

  • JavaScript回调Java

  1. 定义js回调接口


    Caution: If you've set your targetSdkVersion to 17 or higher, you must add the @JavascriptInterface annotation to any method that you want available to your JavaScript (the method must also be public). If you do not provide the annotation, the method is not accessible by your web page when running on Android 4.2 or higher.
    From developer.android.com

    备注:这里的

    所在的包是

  2. XWalkView设置JavaScript可用且绑定对象

  3. 调用html执行JavaScript或直接执行Javascript调用Java

    index.html源码:

  • 高级使用

调试

Kitkat开始,Android提供了和Chrome联调功能。可以很方便的在Chrome中调试WebView中的代码。
Crosswalk使用Chromium内核当然也具备这个功能。
开启调试的语句如下:

对于Crosswalk来说,这个设置是全局的。

使用动画或者设置隐藏可见注意

默认XWalkView不能使用动画,甚至setVisibility也不行。


XWalkView represents an Android view for web apps/pages. Thus most of attributes for Android view are valid for this class. Since it internally uses android.view.SurfaceView for rendering web pages by default, it can't be resized, rotated, transformed and animated due to the limitations of SurfaceView. Alternatively, if the preference key ANIMATABLE_XWALK_VIEW is set to True, XWalkView can be transformed and animated because TextureView is intentionally used to render web pages for animation support. Besides, XWalkView won't be rendered if it's invisible.

开启动画模式:

由于设置也像调试一样是全局的,在onDestroy时记得关闭。

暂停JS timer

html代码

XWalkView对应方法:

这也在防止内存泄漏,监听系统事件示例代码中提到过:

历史记录

自动视频暂停

loadAppFromManifest

manifest.json

参考文章 放弃WebView,使用Crosswalk做富文本编辑器


http://chatgpt.dhexx.cn/article/uAIOVjnh.shtml

相关文章

Java和大数据的关系如何?

非常多的人,尤其是没有研究过,没有关注过这块知识的人都容易误解Java 和大数据的概念,甚至有些人认为大数据就是用java写的。 一:两者关系 java是计算机的一门编程语言;可以用来做很多工作,大数据开发属于…

java,大数据,

辅导,环境安装

Java?还是大数据?

IT 行业的人可能听过“ Java 大数据开发”这个名词,其实这并不是一个新岗位,而是因为大数据开发的编程语言以 Java 为主,掌握 Java 是进行大数据开发的基础,这才形成了“ Java 大数据开发”的说法。 随着 Java 开发岗人才供应趋于…

大数据开发-Java入门1

目录 1、计算机语言发展史1.1 计算机语言:1.2 常用的DOS命令: 2、java介绍与安装3、Java程序初体验3.1 Java开发三步走3.2 常见错误3.3 代码解释3.4 源文件名和类型 1、计算机语言发展史 1.1 计算机语言: 第一代:机器语言第二代…

JAVA 大数据方向 - 知识体系概况

JAVA 大数据方向 - 知识体系概况 想学后端,面临选方向,补充一下

学习Java大数据需要掌握哪些Java技能?

学习Java大数据需要掌握哪些Java技能?现在大数据发展很速度很多小伙伴想要学习Java大数据技术开发,但是学习大数据为什么需要掌握Java技能呢? 一、学大数据为什么要掌握Java? 首先,我们学习大数据,为什么要…

Java——处理大数据 BigInteger

整型 int型表示范围是:-(2的31次方) ~ (2的31次方) - 1 long型表示范围是:-(2的64次方) ~(2的64次方) - 1 浮点型 float和double是表示浮点型的数据类型,他们之间的区别在于他们的精确度不同float 3.402823e38 ~ 1.401298e-45(e…

大数据必学Java基础(一百一十七):三个案例开发

文章目录 三个案例开发 一、记录请求日志 二、统计实时在线人数 三、项目重启免登录

大数据开发 - Java入门2

目录 Java基础知识注释关键字常量标识符测试题回顾 Java基础知识 注释 对程序的解释说明 分类: 单行注释:// 对本行后面的内容进行注释多行注释:/*解释内容 */文档注释 :/** 注释内容*/ --用于产生帮助文档,也有多行…

Java和大数据有什么联系?

提到Java,我们经常将它和大数据联系在一起。Java是一门面向对象编程语言,大数据是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是一个概念性的东西。那么,Java和大数据有什么关系呢? 简单的说Java语言是…

java到大数据学习路线

计算机网络 操作系统 数据结构 计算机组成原理 可重点学习如下知识点 计算机网络(重点看 OSI七层模型 或 TCP/IP五层模型 理解每层含义)数据结构(重点看 数组、栈、队列、链表、树)算法(重点看 各种 排序算法、查…

Java大数据文件处理方法

前言 Java大数据文件处理是一种使用Java编写的大型数据处理技术,特别适用于处理大型数据文件。在这篇文章中,我们将了解什么是Java大数据文件处理,为什么它很重要以及Java大数据文件处理的方法和技术。 一、什么是Java大数据文件处理&#…

大数据必学Java基础(一):Java体系结构、特性和优势

文章目录 Java体系结构、特性和优势 一、JAVA简史 【1】SUN公司 【2】Java为什么被发明

如果通过Java来完成大数据开发,需要学习哪些内容

首先,当前大数据领域的开发岗位确实比较多,近两年有不少大数据方向的研究生也会从事大数据开发岗位,而Java语言则是大数据开发人员的常用工具,所以如果要从事大数据开发岗位,可以重点学习一下Java语言。 大数据开发有…

Java大数据开发做什么?Java大数据开发成长路线

Java开发是IT行业的经典岗位,行业当中存在普遍的需求,Web开发、Android开发、游戏开发等岗位,基本上Java语言是主力队伍。而进入大数据时代,Java又在大数据方向上有了用武之地。今天我们主要来讲讲Java大数据开发做什么&#xff0…

23个java大数据处理框架

本文转自:https://www.cnblogs.com/stm32stm32/p/6413557.html 目前,编程人员面对的最大挑战就是复杂性,硬件越来越复杂,OS越来越复杂,编程语言和API越来越复杂,我们构建的应用也越来越复杂。根据外媒的一…

大数据开发要学Java框架吗?

大数据开发要学Java框架吗?学习大数据要去学习Java而且还要精通,不仅要掌握Java基础知识还要掌握一些核心的Java架构。从java基础开始,学习大数据开发过程中必备的离线数据分析、实时数据分析和内存数据计算等,掌握大数据体系中几乎所有的核心…

java 大数据以及Hadoop相关概念介绍

一、大数据的基本概念 1.1、什么是大数据 大数据指的就是要处理的数据是TB级别以上的数据。大数据是以TB级别起步的。在计算机当中,存放到硬盘上面的文件都会占用一定的存储空间,例如: 文件占用的存储空间代表的就是该文件的大小&#xff0…

JAVA开发搞了一年多大数据的总结

2021年7月份加入了当前项目组,以一个原汁原味的Java开发工程师的身份进来的,来了没多久,项目组唯一一名大数据开发工程师要离职了,一时间一大堆的数据需求急需人来接手,此刻又招不来新的数据开发。没辙,我和…

Java和Java大数据有什么区别?

分别提起Java或者大数据,很多人对此都一目了然,但对于Java大数据这样一个新鲜名词,多少有些疑惑。那Java和Java大数据学习的内容是一样的吗?两者有什么区别呢?今天就从Java和Java大数据的以下方面谈谈两者的区别。 1.…