最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

android使用webwiew載入頁面使用示例(Hybrid App開發(fā))

 更新時(shí)間:2014年03月04日 09:27:14   作者:  
Hybrid App 融合 Web App 的原理就是嵌入一個(gè)WebView組件,可以在這個(gè)組件中載入頁面,相當(dāng)于內(nèi)嵌的瀏覽器,下面是使用示例

Hybrid App 是混合模式應(yīng)用的簡稱,兼具 Native App 和 Web App 兩種模式應(yīng)用的優(yōu)勢,開發(fā)成本低,擁有 Web 技術(shù)跨平臺特性。目前大家所知道的基于中間件的移動(dòng)開發(fā)框架都是采用的 Hybrid 開發(fā)模式,例如國外的 PhoneGap、Titanium、Sencha,還有國內(nèi)的 AppCan、Rexsee 等等。Hybrid App 開發(fā)模式正在被越來越多的公司和開發(fā)者所認(rèn)同,相信將來會(huì)成為主流的移動(dòng)應(yīng)用開發(fā)模式。

Hybrid App 融合 Web App 的原理就是嵌入一個(gè)WebView組件,可以在這個(gè)組件中載入頁面,相當(dāng)于內(nèi)嵌的瀏覽器,代碼如下:

復(fù)制代碼 代碼如下:

import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebSettings;
import android.webkit.WebView;

public class AActivity extends Activity{

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // 創(chuàng)建WebView
        WebView webView= new WebView(this);
        // 切換到內(nèi)容視圖
        setContentView(webView);
        // 獲取WebView配置
        WebSettings ws = webView.getSettings();
        // 啟用JavaScript
        ws.setJavaScriptEnabled(true);
        // 載入assets目錄下的一個(gè)頁面
        webView.loadUrl("file:///android_asset/www/BoBox/index.html");
    }
}

還有另一種引入方式是在布局文件中添加 WebView 組件,代碼如下:

復(fù)制代碼 代碼如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">   
    <WebView 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/webview"
        />       
</LinearLayout>

復(fù)制代碼 代碼如下:

import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebSettings;
import android.webkit.WebView;

public class BActivity extends Activity{

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.webview);
        // 查找WebView
        WebView webView = (WebView) findViewById(R.id.webview);
        // 獲取WebView配置
        WebSettings ws = webView.getSettings();
        // 啟用JavaScript
        ws.setJavaScriptEnabled(true);
        // 在載入assets目錄下的一個(gè)頁面
        webView.loadUrl("file:///android_asset/www/index.html");
    }
}

WebView 還有一個(gè)非常重要的方法——addJavascriptInterface,可以用來實(shí)現(xiàn) Java 程序和 JavaScript 程序的相互調(diào)用,代碼如下:

復(fù)制代碼 代碼如下:

webView.addJavascriptInterface(new Object(){
    public void clickOnAndroid(){
        mHandler.post(new Runnable(){
            public void run(){
                webView.loadUrl("javascript:wave()");
            }
        });
    }
}, "demo");

頁面代碼如下:

復(fù)制代碼 代碼如下:

<script>
    function wave() {
        document.getElementById("id").innerHTML = "Hello World!";
    }
</script>
</head>
<body>
    <div>
        <a href="#" id="demo" onclick="window.demo.clickOnAndroid()">Click Me</a>
    </div>
</body>
</html>

這樣,當(dāng)你點(diǎn)擊頁面上 Click Me 按鈕的時(shí)候就會(huì)調(diào)用 Java 代碼中的 clickOnAndroid 函數(shù),clickOnAndroid 函數(shù)中又調(diào)用頁面中的 wave 方法。需要注意的是:這個(gè)接口在 Android 2.3 版本的模擬器中運(yùn)行會(huì)導(dǎo)致 WebView 崩潰,目前還沒有修復(fù)。這是一個(gè)非常簡單的演示 Java 和 JavaScript 相互調(diào)用的例子,在實(shí)際應(yīng)用中可以在頁面調(diào)用的 clickOnAndroid 函數(shù)中再調(diào)用攝像頭、通訊錄、通知提醒等設(shè)備功能。

相關(guān)文章

  • Android識別預(yù)裝的第三方App方法實(shí)例

    Android識別預(yù)裝的第三方App方法實(shí)例

    這篇文章主要給大家介紹了關(guān)于Android如何識別預(yù)裝的第三方App的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-01-01
  • 使用Eclipse配置android開發(fā)環(huán)境教程

    使用Eclipse配置android開發(fā)環(huán)境教程

    這篇文章主要介紹了使用Eclipse配置android開發(fā)環(huán)境教程,本文講解了下載需要用到的工具、下載完需要的工具之后開始安裝、讓Ecplise自動(dòng)安裝Android開發(fā)插件(ADT- plugin)、配置Andiord SDK路徑、測試開發(fā)一個(gè)Android項(xiàng)目等內(nèi)容,需要的朋友可以參考下
    2015-04-04
  • Android Flutter圖片處理之高斯模糊的實(shí)現(xiàn)

    Android Flutter圖片處理之高斯模糊的實(shí)現(xiàn)

    這篇文章主要為大家詳細(xì)介紹了如何利用Android Flutter實(shí)現(xiàn)高斯模糊效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • android 日志文件LogUtils實(shí)例

    android 日志文件LogUtils實(shí)例

    這篇文章主要介紹了android 日志文件LogUtils實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • Android TimePicker 直接輸入的問題解決方案

    Android TimePicker 直接輸入的問題解決方案

    這篇文章主要介紹了Android TimePicker 直接輸入的問題解決方案的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • Android基礎(chǔ)知識之broadcast廣播詳解

    Android基礎(chǔ)知識之broadcast廣播詳解

    這篇文章主要為大家詳細(xì)介紹了Android基礎(chǔ)知識之broadcast廣播的相關(guān)資料,感興趣的小伙伴們可以參考一下
    2016-06-06
  • Android實(shí)現(xiàn)定制桌面的方法

    Android實(shí)現(xiàn)定制桌面的方法

    這篇文章主要介紹了Android實(shí)現(xiàn)定制桌面的方法,較為詳細(xì)的分析了Android定制桌面的相關(guān)注意事項(xiàng)及具體技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-10-10
  • Unity同步/異步調(diào)用Android的方法實(shí)例

    Unity同步/異步調(diào)用Android的方法實(shí)例

    unity在Android端開發(fā)的時(shí)候,免不了要調(diào)用Java,下面這篇文章主要給大家介紹了關(guān)于Unity同步/異步調(diào)用Android的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2021-08-08
  • android實(shí)現(xiàn)通話自動(dòng)錄音服務(wù)

    android實(shí)現(xiàn)通話自動(dòng)錄音服務(wù)

    這篇文章主要為大家詳細(xì)介紹了android實(shí)現(xiàn)通話自動(dòng)錄音服務(wù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-10-10
  • Android11繞過反射限制的方法

    Android11繞過反射限制的方法

    這篇文章主要介紹了Android11繞過反射限制的方法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09

最新評論

东辽县| 信宜市| 无锡市| 将乐县| 黄骅市| 扎囊县| 崇左市| 普洱| 海南省| 鄂托克旗| 秭归县| 林芝县| 安仁县| 白玉县| 泌阳县| 辰溪县| 盈江县| 天津市| 台南县| 和林格尔县| 屯留县| 鄂尔多斯市| 宿州市| 乐平市| 开封市| 宜川县| 湖南省| 乐安县| 莲花县| 阿克陶县| 新巴尔虎右旗| 石屏县| 德保县| 仙游县| 山西省| 黑龙江省| 陕西省| 桂阳县| 九龙城区| 腾冲县| 高唐县|