当前位置:首页 » 安卓系统 » javascript开发android

javascript开发android

发布时间: 2023-05-10 03:25:33

㈠ js android端实现视频自动播放

安卓手机上,使用video播放视频有个问题,video控件层级会永远在顶层,不利于视频互动H5开发,而IOS手机上不会有此问题。

<video src="http://xxx.mp4" x5-video-player-type="h5"/>

x5-video-player-type="h5"   只适用于微信浏览器

注意:

1.jsmpeg 需要将视频转为.ts的文件

     先安装ffmpeg,然后执行以下命令,将mp4格式的文件转成 .ts(用命令行转的才能正常播放)

ffmpeg -i video.mp4 -f mpegts -codec:v mpeg1video -codec:a mp2 out.ts(文件的路径不太好找,建议全局搜索一下)

2.安卓上使用jsmpeg插件渲染canvas,ios上正常使用video并加入隐藏控制条等设置

3. http://hf-app.oss-cn-hangzhou.aliyuncs.com/public/html/jsmpeg.js    请使用此js,原作者的js没有回调设置

4. https://github.com/phoboslab/jsmpeg   原作者github地址

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>JSMpegPlayer</title>

    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.0">

    <style>

    html,body{

        padding: 0;

        margin: 0;

    }

    .msg-wrap{

        position: fixed;

        top: 0;

        left: 0;

        background: #fff;

        border: 1px solid #000;

    }

    .video-wrap{

        width: 100%;

        display: none;

    }

    </style>

</head>

<body>

    <video class="video-wrap" id="video-ios" x5-playsinline webkit-playsinline playsinline src="1_BG_4s_2.mp4"></video>

    <canvas class="video-wrap" id="video-android"></canvas>

    <div class="msg-wrap" id="msgTxt">loading...</div>

    <script src="http://hf-app.oss-cn-hangzhou.aliyuncs.com/public/html/jsmpeg.js"></script>

    <script>

        var msgTxt = document.getElementById('msgTxt');

        var video = document.getElementById('video-ios');

        var canvas = document.getElementById('video-android');

        //检测是否为非安卓浏览器并作处理

        var check = !! navigator.userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);

        if(check){

            msgTxt.innerHTML = "not Android mode"

            video.style.display="block"

            video.play()

            //监听video加载完成

            video.addEventListener("loadedmetadata",function(){

                msgTxt.innerHTML = "not Android mode:videoPlaying"

            })

            //监听video播放结束

            video.addEventListener("ended",function(){

                msgTxt.innerHTML = "not Android mode:videoEnd"

            })

        }else{

            // jsmpegPlay(canvas,'1_BG_4s_5.ts',startCallBack,playingCallBack,endCallBack)

            jsmpegPlay(canvas,'out.ts',startCallBack,playingCallBack,endCallBack)

        }

        function jsmpegPlay(Vcanvas,vVideo,startFun,playingFun,endFun) {

            var player = new JSMpeg.Player(

                vVideo ,{

                    canvas: Vcanvas,

                    loop: false,

                    autoplay: true,

                    startSign: true,

                    startCallBack: startFun,

                    playingCallBack: playingFun,

                    endCallBack: endFun

                });

        }

        //视频开始播放(即解码完成)执行

        function startCallBack() {

            msgTxt.innerHTML = "Android mode:videoPlaying"

            canvas.style.display="block"

        }

        //视频播放进度

        function playingCallBack(currentTime) {

            // console.log(currentTime)

        }

        //视频播放完成执行

        function endCallBack() {

            msgTxt.innerHTML = "Android mode:videoEnd"

        }

    </script>

</body>

</html>

项目中遇到的坑,把使用方法记录一下

在线演示DOMO

JSMpegPlayer

https://github.com/xxfxx/android-video-autuplay   github地址,欢迎小星星~~~

㈡ 百度地图js版Android开发,如何实现两个手指放大缩小地图

网络地图js版,在Androids上面目前只能支持滑动,在IOS上支持滑动和双指缩放。
这不是网络地图的问题,而是Android设备上的浏览器,对多点触控的支持不够完善。

㈢ js写文件到本地安卓

1、首先连接中端链接。
2、其次手动创建目录。
3、最后创建js文件到本地安卓即可。

㈣ android开发和java开发有什么区别

android开发和java开发有什么区别

安卓是用Java语言开发的! Java开发有后台有前端,内容就多了。

第一、平台不一样。java开发是桌面或者企业级的电脑上执行的,一个是在Android系统上执行的。两者的程式码不能互通。不过都是用java语言写的。
第二、不同系统上的控制元件不同,所以导致两者程式码不能通用。如果普通的个人电脑和安卓系统的控制元件名统一起来,通用性会好很多。
第三,硬体不同。个人电脑上很少有罗盘、GPS、闪光灯、移动/联通的接入功能吧。而这些在安卓系统上都有。如果软体需要使用这些硬体,那就肯定没法在个人电脑上执行。
再说一下相同点:
JAVA开发和安卓开发都是用java语言开发,所以语法十分相似。

最大的相同点,主要开发语言都是java,最大的区别,java开发注重于网站的开发,例如PC或者手机端的网页,用java开发更好一点;而安卓就简单了,主要就是开发app,执行在手机上的软体应用,是需要在手机上安装的,这应该是最大的区别。

这个问题是个范围问题。android开发是java开发的一个分支。你说的java类库是指标准类库吧。android种的类库有一部分和java类库基本一致,也就是类名一致。比如String,Integer这些,但是具体的实现都是改过的(还好改过的,不然和甲骨文打官司就惨了)。不过java种的swing这些类库在android种就没有了,也就是说android种只用了java种的常用的类库。你对java开发了解的话那么android很快就可以上手,只是熟悉api的一个过程而已。而且android开发比你用java开发web要简单容易很多,因为你不必了解太多的东西,只需要了解android方面就可以了,而不像做web你除了java还需要,css,javascript,sql,甚至ssh框架,太繁琐了。说了这么多也就是说明android其实比一般的java开发还容易。区别不大,而且更简单。

Android开发和JAVA开发有什么区别?

Android开发是java开发的一个分支,android种的类库有一部分和java类库基本一致,也就是类名一致,不过java种的swing这些类库在android种就没有了,也就是说android种只用了java种的常用的类库。

具体介绍:

1、Android 是在java基础之上的一门语言,Android是用来开发手机APP的,学Android 需要先学java基础语法。

2、简单地说,一种是作业系统,一种是开发语言。具体来说,Android是一种基于Linux的开放原始码作业系统,主要用于便携装置(智慧手机,平板电脑)。Java是一种面向物件的程式语言,它的最大的特点就是开源和免费,这因为如此,中国的大部分大型的软体系统是用Java开发的。

3、Android的应用层上的应用程式是用Java编写的,以Java作为开发语言,但是,Java并不等同于Android,因为Android SDK引用了Java SDK的大部分,少数部分被Android SDK所抛弃。所以,要想从事Android的开发,就必须有Java基础。另外,在Windows系统中可以搭建Android的Java开发环境,这样就可以实现在Windows系统中测试Android专案了。

4、Android开发与JAVA两者是相辅相成的。JAVA给Android提供了开发的语言环境,Android的开发通过JAVA语言去实现。

㈤ android 开发中 怎么用js获取手机屏幕高度

webview.addjavascriptinterface可以调用android代码
android可以获得屏幕高度
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
int height = dm.heightPixels//这个就是屏幕高度了。

webView.addJavascriptInterface(new WebAppInterface(this), "Android");
这个就创立了一个接口名,叫“Android”,运行在WebView中的JS代码可以通过这个名字调用WebAppInterface类中的showToast()方法:
<input type="button" value="Say hello" onClick="showAndroidToast('Hello Android!')" />
<script type="text/javascript">
function showAndroidToast(toast)
{
Android.showToast(toast);
}
</script>

㈥ 自学Android开发和iOS开发需不需要学HTML,CSS,JavaScript 这些

前端开发最重要的基础就三门技术 jvascript+css+html,js是其中最重要的
ps可以不掌握,工作的时候一般只需要会切图就行,而且很多公司会让作图的人切好图,你可以不考虑
flash完全不用理会,pc上flash日渐消沉,无线上早就死光光了
我想说的 最重要的,就是基础,深入掌握一下javascript和css基础,这两个是无论是面试相关,跟以后的项目开发,都是最息息相关的。如果时间不够的话,重点掌握javascript,推荐两本书,你选其中一本就行,一是犀牛书(javascript权威指南),另外一本是javascript高级程序设计(尼古拉斯大神的书,目前第三版),重点掌握js语法基础,ajax,面向对象相关(基于原型的继承等高级技术)。

css推荐 css权威指南一书,css学习是很枯燥的,一般在项目过程中才能不断掌握,如果没有条件,可以重点学一下选择器,定位,盒模型和浮动这几章。

jquery在很多公司或者整个前端界用的居多,但在很多大公司面试时(像我在网络面试时,人家都豪不理会),因为这些公司重视的是基础,项目经验可以培养,但基础需要花狠劲才能掌握牢固。这些框架对你现在的作用是熟悉一下源码,看看它们怎么实现的。我也是大三才学的前端,并且边读框架边学的js,如果你对这样学感兴趣,推荐你读一下prototype.js的源码。jquery的源码太过讲究技巧,不太适合初学者去读。

最后谈一下准备作品这块,去年开始前端界衍生了一个新的职位,叫无线前端开发工程师,说白了就是在iphone和android手机上做网站,用到的技术基础还是js跟css,但不需要像pc那样考虑兼容性(IE6是很恶心的),最重要的,就是对html5和css3支持度比较高,这个职位目前还是很热门的,你可以往这个方向发展,掌握好基础后学这些新技术还是很容易的。利用css3和html5写一些demo绝对可以让考官眼前一亮。

如果你学了一学期掌握了基础,可以尝试联系我,网络还是很欢迎热爱技术的人的,特别是女生(嘿嘿),最后祝你成功。

㈦ 如何在JAVASCRIPT调用Android JAVA函数

你好:
一、网页的JS代码调用ANDROID中JAVA代码的方法
在网页中调用java代码、需要在webview控件中添加javascriptInterface
contentWebView = (WebView) findViewById(R.id.webview);
//启用javascript
contentWebView.getSettings().setJavaScriptEnabled(true);
contentWebView.addJavascriptInterface(this, "js对象名");

在Activity中定义一个要被js调用的方法、src为js传递过来的参数、如果没有不传也可以
public void jsFunction(final String str) {
Toast.makeText(this, str, Toast.LENGTH_SHORT).show();
runOnUiThread(new Runnable() {
@Override
public void run() {
//在里对Android应用的UI进行处理
}
});
}

在网页中、只需要像调用js方法一样、进行调用就可以
<a onClick="window.js对象名.jsFunction(´hello world´)" >
点击调用java代码并传递参数
</a>

二、ANDROID中JAVA代码调用网页的JS代码的方法

Java代码调用js并传参其实是通过WebView的loadUrl方法去调用的、只是参数url的写法不一样而已

// 无参数调用
contentWebView.loadUrl("javascript:javacalljs()");
// 传递参数调用
contentWebView.loadUrl("javascript:javacalljswithargs("
+ "´hello world´" + ")");

三、JAVA和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的应用要移袜肢缓植到Android上都很方便,只需要饥伍用WebView加载一下就行了。比如很有名的2048

㈨ 用nodejs开发android应用可行吗

适合,但是是服务端 。 要开发酷炫界面就用其他吧 。袭让 Node.js 使用事件驱动, 非阻塞I/O 模型而得以轻量和念蚂高效,非常适合在分布式设备拍高局上运行的数据密集型的实时应用。

㈩ 用HTML+CSS+JS开发安卓手机程序 在手机里面长按事件怎么写

<td id="mytd"></td>

<滑枣script type="text/javascript">
var tddom= document.getElementById('mytd');
var timer = null;
tddom.onmousedown = function(){
timer = setTimeout( doStuff, 2000 );//这里设耐让好置昌铅时间
};
tddom.onmouseup = function(){
clearTimeout( timer );
};
function doStuff() {
alert('hello, you just pressed the td for two seconds.')
}
</script>

热点内容
什么控制压缩 发布:2025-05-19 14:28:13 浏览:930
网络服务器忙指什么 发布:2025-05-19 14:28:10 浏览:188
服务器有外网ip 发布:2025-05-19 14:02:02 浏览:833
电脑上c语言编程软件 发布:2025-05-19 13:55:17 浏览:125
php56windows 发布:2025-05-19 13:54:23 浏览:717
如何查看攻击过服务器的ip地址 发布:2025-05-19 13:45:44 浏览:942
内置存储卡可以拆吗 发布:2025-05-18 04:16:35 浏览:336
编译原理课时设置 发布:2025-05-18 04:13:28 浏览:380
linux中进入ip地址服务器 发布:2025-05-18 04:11:21 浏览:613
java用什么软件写 发布:2025-05-18 03:56:19 浏览:32