當前位置:首頁 » 安卓系統 » 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>

熱點內容
openwrt編譯取消跑碼 發布:2025-05-19 16:50:28 瀏覽:125
知道了寬頻賬號密碼如何連接 發布:2025-05-19 16:49:49 瀏覽:655
時間輪資料庫 發布:2025-05-19 16:45:20 瀏覽:269
ipad緩存垃圾怎麼清理 發布:2025-05-19 16:44:46 瀏覽:536
視頻加解壓 發布:2025-05-19 16:35:28 瀏覽:6
c語言大學教程第六版 發布:2025-05-19 16:04:21 瀏覽:741
androidvr播放器 發布:2025-05-19 15:55:32 瀏覽:965
我的世界pc如何創建伺服器 發布:2025-05-19 15:51:24 瀏覽:734
搶腳本 發布:2025-05-19 15:47:14 瀏覽:407
ct4哪個配置性價比最高 發布:2025-05-19 15:38:02 瀏覽:954