亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Android移動平臺中調(diào)用網(wǎng)頁的開發(fā)應(yīng)用

        2017-03-11 15:04:08
        關(guān)鍵詞:頁面設(shè)置功能

        劉 杰

        (錦州師范高等??茖W(xué)校,遼寧 錦州121000)

        關(guān)鍵字:Android;Intent;WebView

        0 引言

        隨著各種智能終端用戶的增長和技術(shù)的發(fā)展,智能手機(jī)、平板電腦、智能電視等移動設(shè)備的應(yīng)用范圍越來越廣,利用各類App調(diào)用網(wǎng)頁及數(shù)據(jù)傳輸成為很多用戶的需求.為解決這一問題,移動平臺提供了很多的解決方案,為各領(lǐng)域的工作提供了更加細(xì)分的基于不同專業(yè)化的信息內(nèi)容.Android是專為移動設(shè)備開發(fā)的平臺,應(yīng)用非常廣泛,隨著技術(shù)的發(fā)展Android為實(shí)現(xiàn)不同調(diào)用網(wǎng)頁的功能提供了兩個(gè)方面的技術(shù)方案.如在App中需要跳轉(zhuǎn)到其他瀏覽器來進(jìn)行網(wǎng)頁瀏覽,需要采用意圖Intent方法來實(shí)現(xiàn).Intent的方式不需要聯(lián)網(wǎng)權(quán)限,因?yàn)檎埱缶W(wǎng)絡(luò)顯示網(wǎng)頁的工作是在瀏覽器當(dāng)中完成的,瀏覽器需要的權(quán)限與開發(fā)中的App無關(guān),但在App中可以選擇打開瀏覽器的類型.Intent縮短了用戶在應(yīng)用當(dāng)中的時(shí)間,但會出現(xiàn)用戶調(diào)轉(zhuǎn)到瀏覽器之后不會回到App的問題.WebView方法是在自己的應(yīng)用內(nèi),相當(dāng)于在應(yīng)用內(nèi)部嵌入了一個(gè)Mini瀏覽器.WebView方法可以直接顯示W(wǎng)eb頁面,也可以直接用Html和做布局Javascript交互調(diào)用.WebView方法調(diào)用網(wǎng)頁需要訪問網(wǎng)絡(luò)資源,因此必須在清單文件中增加語句 “Android.permission.internet”,作用是允許使用連接Internet,否則會出現(xiàn) “Web page not available”錯誤或App無法運(yùn)行的后果.Android平臺的兩種技術(shù)解決方案各有優(yōu)缺點(diǎn),在開發(fā)過程中需要根據(jù)需求進(jìn)行判斷選擇.

        1 相關(guān)理論

        1.1 Intent

        Intent可以理解為不同組件通信的媒介或者信使,Android四大組件中的三種核心組件Activity、Service和Broadcast Receiver都需要使用Intent來進(jìn)行激活,同時(shí)需要在清單文件中進(jìn)行注冊[1].Intent的主要作用是在相同或不同的應(yīng)用程序間或組件間的后期運(yùn)行時(shí)進(jìn)行綁定.對于不同的組件,Android系統(tǒng)通過使用不同方法提供Intent發(fā)送機(jī)制對組件進(jìn)行激活.

        在Intent對象中包含有Component Name(組件名)、Action (行為)、Data(數(shù)據(jù))、Category(類別)、Extra(額外)、Flags(標(biāo)記)等信息.

        Action是一個(gè)字符串,用來表示將要執(zhí)行的動作.

        1.2 WebView

        WebView組件是專門用來瀏覽網(wǎng)頁的,其使用方法既可以在XML布局文件中使用<WebView>添加標(biāo)記,又可以在Java文件中通過New關(guān)鍵字創(chuàng)建[2].

        添加WebView組件后,就可以用該組件提供的方法來執(zhí)行瀏覽器操作了.WebView組件提供的常用方法既可以加載指定URL對應(yīng)的網(wǎng)頁,又可以將指定的字符串?dāng)?shù)據(jù)或基于URL指定的數(shù)據(jù)加載到瀏覽器中.

        2 實(shí)現(xiàn)過程

        2.1 利用Intent調(diào)用網(wǎng)頁

        Android中的Intent有兩個(gè)作用:(1)用來啟動其他新的Activity;(2)作為傳遞數(shù)據(jù)和事件的橋梁.語句Android.intent.action.view用于顯示用戶的數(shù)據(jù),并會根據(jù)設(shè)置的用戶的數(shù)據(jù)類型動作打開相應(yīng)的瀏覽器來代替Activity.

        利用意圖Intent調(diào)用網(wǎng)頁的應(yīng)用既可以調(diào)用默認(rèn)瀏覽器,又可以調(diào)用其他瀏覽器.這是UC瀏覽器、Opera、QQ瀏覽器等很多開發(fā)者經(jīng)常使用的.使用App時(shí),當(dāng)觸發(fā)事件發(fā)生時(shí)就可以調(diào)用手機(jī)瀏覽器打開特定網(wǎng)頁,網(wǎng)址可以替換成需要的網(wǎng)址.

        調(diào)用默認(rèn)瀏覽器一般使用打開鏈接或使用WebView組件兩種方式來傳遞數(shù)據(jù).

        2.1.1 打開鏈接方式

        打開鏈接方式首先創(chuàng)建一個(gè)意圖對象,在意圖對象中設(shè)置標(biāo)準(zhǔn)Activity動作Action_view將數(shù)據(jù)顯示給用戶,相對應(yīng)的數(shù)據(jù)為將要進(jìn)行鏈接的地址,然后調(diào)用Intent中的SetClassName方法跳轉(zhuǎn)到不同Applicaiton的Activity,最后使用Intent來啟動Activity并傳遞參數(shù).如下語句所示:

        Intent intent = new Intent(Intent.Action_View,ri.parse(" 此處填鏈接"));

        Intent.setClassName("當(dāng)前activity路徑"," 跳轉(zhuǎn)activity路徑");getContext().startActivity(intent);

        2.1.2 打開本地網(wǎng)頁

        Intent intent=new Intent();//創(chuàng)建一個(gè)意圖對象

        intent.setAction("android.intent.action.View");//設(shè)置意圖的動作為.action.View

        Uri CONTENT_URI_BROWSERS = Uri.parse("content://本地地址");//設(shè)置鏈接的地址

        intent.setData(CONTENT_URI_BROWSERS);//設(shè)置意圖的數(shù)據(jù)為CONTENT_URI_BROWSERS

        intent.setClassName(" 當(dāng)前activity路徑"," 跳轉(zhuǎn)activity路徑");

        startActivity(intent);

        2.2 利用WebView調(diào)用網(wǎng)頁

        在Android開發(fā)中,使用WebView組件可以很方便地實(shí)現(xiàn)Web瀏覽器的功能.使用WebView不但可以更改網(wǎng)頁展現(xiàn)的內(nèi)容及樣式,還可以實(shí)現(xiàn)部分功能的跨平臺[3].WebView組件的作用是用來瀏覽網(wǎng)頁的,和其他組件一樣可以在布局文件中設(shè)置,也可以通過Java代碼調(diào)用Javascript進(jìn)行創(chuàng)建.

        2.2.1 在WebView中顯示打開網(wǎng)頁

        要實(shí)現(xiàn)打開網(wǎng)頁時(shí)不調(diào)用系統(tǒng)瀏覽器,而是在本W(wǎng)ebView中顯示的功能,首先需要在布局文件中添加 WebView組件,并設(shè)置參數(shù),然后在應(yīng)用的Activity的OnCreate()方法中獲取布局中的WebView組件,并為其指定加載的網(wǎng)頁的URL地址.使用WebView組件不僅可以順利瀏覽已有的網(wǎng)頁,還可以實(shí)現(xiàn)加載HTML代碼的功能.加載HTML代碼可以讓界面更加美觀,可以讓開發(fā)更加簡單、快捷.實(shí)現(xiàn)該功能主要用到了LoadDataWithBaseURL()方法,基本的語法格式如下:

        public void loadDataWithBaseURL(String baseUrl,String data,String mimeType,String encoding,String historyUrl)

        2.2.2 通過Java代碼調(diào)用Javascript實(shí)現(xiàn)Web瀏覽器的功能

        在默認(rèn)情況下,WebView組件是不支持Javascript的運(yùn)行的,但是在運(yùn)行某些不得不使用Javascript代碼的網(wǎng)站時(shí),我們需要使用語句來允許Javascript的運(yùn)行,實(shí)現(xiàn)以上功能只需要兩個(gè)步驟即可[4]:

        WebView userView= (WebView)findViewById(R.id.conten);//在布局文件中獲取 WebView對象

        WebSettings userSettings=userView.getSettings();//通過 WebView中的getSettings方法獲得一個(gè)WebSettings對象

        userSettings.setJavaScriptEnabled(true);//設(shè) 置 允許Javascript的運(yùn)行

        接下來就可以指定要加載的網(wǎng)頁進(jìn)行瀏覽了.

        2.2.3 實(shí)現(xiàn)網(wǎng)絡(luò)瀏覽器的前進(jìn)、后退等功能

        一個(gè)功能實(shí)用的網(wǎng)絡(luò)瀏覽器不僅需要支持Javascript,還要包含前進(jìn)、后退等功能.利用WebView組件可以靈活實(shí)現(xiàn)這些功能[5].

        (1)按返回鍵時(shí),不退出程序而是返回上一瀏覽頁面:

        userView.goBack();

        如果在頁面中存在鏈接,點(diǎn)擊該鏈接在當(dāng)前瀏覽器頁面中響應(yīng)不打開新的瀏覽器頁面去響應(yīng)該鏈接,則必須覆蓋 WebView組件中的WebViewClient對象[6].

        (2)可以設(shè)置打開頁面時(shí),網(wǎng)頁根據(jù)屏幕的尺寸自適應(yīng)屏幕:

        WebView userView = (WebView) findViewById(R.id.conten);

        WebSettings userSettings = webView.getSettings();

        userbSettings.setUseWideViewPort(true);//此 屬性的作用是可任意進(jìn)行比例縮放

        userSettings.setLoadWithOverviewMode(true);//自適應(yīng)屏幕

        (3)設(shè)置WebSettings對象屬性,使頁面支持縮放:

        WebSettings對象.setBuiltInZoomControls(true);

        WebSettings對象 .setSupportZoom(true);

        3 結(jié)語

        利用Intent調(diào)用網(wǎng)頁只是Intent的其中一項(xiàng)功能,一般還需要配合其他組件的事件和方法.Android中的 WebView存在很大的兼容性問題,不僅僅是因?yàn)锳ndroid系統(tǒng)版本的不同對 WebView產(chǎn)生很大的差異,不同的廠商生產(chǎn)的ROM里面 WebView也存在著很大的差異,具體應(yīng)用的過程中需要配合整個(gè)App的開發(fā)進(jìn)行合理優(yōu)化.利用以上兩種方式都可以達(dá)到調(diào)用網(wǎng)頁的目的,可以根據(jù)實(shí)際需求在開發(fā)中進(jìn)行拓展.

        猜你喜歡
        頁面設(shè)置功能
        大狗熊在睡覺
        也談詩的“功能”
        中華詩詞(2022年6期)2022-12-31 06:41:24
        刷新生活的頁面
        中隊(duì)崗位該如何設(shè)置
        關(guān)于非首都功能疏解的幾點(diǎn)思考
        本刊欄目設(shè)置說明
        中俄臨床醫(yī)學(xué)專業(yè)課程設(shè)置的比較與思考
        中西醫(yī)結(jié)合治療甲狀腺功能亢進(jìn)癥31例
        辨證施護(hù)在輕度認(rèn)知功能損害中的應(yīng)用
        地鐵出入段線轉(zhuǎn)換軌設(shè)置
        激情乱码一区二区三区| 老熟女重囗味hdxx70星空| 日韩亚洲av无码一区二区不卡 | 久久这里只有精品黄色| 亚洲天堂av高清在线| 久久亚洲中文字幕精品熟| 亚洲国产中文字幕视频| 亚洲av永久无码精品网站| 免费人成视频x8x8入口| 青青久在线视频免费观看| 国产精品久久国产精品99gif| 久久99中文字幕久久| 亚洲AV无码秘 蜜桃1区| 亚洲美女av一区二区| 国产女主播福利在线观看| 国产在线一区二区三区四区不卡| 国产成人精品一区二区三区| 日本丰满熟妇bbxbbxhd| 久久综合五月天| AV在线毛片| 丝袜美腿诱惑区在线播放| 免费的日本一区二区三区视频| 亚洲性无码一区二区三区| 国产成人精品av| 亚洲a∨天堂男人无码| 国产日产久久福利精品一区| 国产亚洲精品一区二区在线观看 | 白色白色在线视频播放平台| 给我看免费播放的视频在线观看| 国产成人a∨激情视频厨房| 国产一女三男3p免费视频| 国产91在线免费| 女优免费中文字幕在线| 一本色道久久亚洲av红楼| 色老板美国在线观看| 99精产国品一二三产品香蕉| 国产成人精品三级在线影院| 中文字幕高清一区二区| 亚洲国产精品久久无人区| 丁香美女社区| 免费做爰猛烈吃奶摸视频在线观看 |