日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android WebAPP开发入门

發布時間:2024/3/26 Android 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android WebAPP开发入门 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

使用WebView開發web app

如果想發行一個web應用(或只包含網頁)作為客戶端的一部分,可以使用webview。WebView繼承至View可以用于activity的布局來顯示網頁。但不包括一個完整網頁瀏覽器的任何特征,例如:導航控制、地址欄等。默認的Webview所能做是顯示一個網頁。

使用WebView一個很有用的常見情況是:應用程序提供的一些信息可能需要更新,例如:最終用戶協議、用戶指南等。在這些情境下使用WebView可以使應用避免更新升級。在Android應用程序中,創建一個Activity包含WebView,可以使用它顯示托管在網上的文檔。

還有一種有用的情況是:應用程序向用戶提供數據總是需要請求一個網絡連接來檢索數據,例如:電子郵件。這種情況下,你可以發現使用WebView來顯示網頁和所有用戶數據比起執行網絡請求、解析數據、渲染布局要更簡單。因此,可以設計一個適合Android設備的網頁,然后在加載網頁的Android應用程序中實現WebView。

在應用程序中添加WebView

在使用< WebView > 標簽添加到布局中,如下:

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

WebView加載網頁使用 loadUrl(),如下:

WebView myWebView = (WebView) findViewById(R.id.webview); myWebView.loadUrl("http://www.example.com");

網頁加載需要INTERNET權限,在AndroidManifest.xml文件中添加權限:

<manifest ... ><uses-permission android:name="android.permission.INTERNET" />... </manifest>

在WebView中使用JavaScript

如果計劃在WebView中使用JavaScript加載網頁,需要啟用JavaScript。一旦JavaScript啟用,就可以在應用程序代碼和JS代碼之間創建接口。

WebView默認不啟用JavaScript。啟用如下:

WebView myWebView = (WebView) findViewById(R.id.webview); WebSettings webSettings = myWebView.getSettings(); webSettings.setJavaScriptEnabled(true);

JS 與Android交互

當開發一個專門為WebView在Android應用程序中設計的Web應用程序時,可以在JavaScript代碼和客戶端Android代碼之間創建接口。例如:JS調用一個Android的方法來顯示一個對話框,而不是使用JS的alert()函數。
通過addJavascriptInterface(),綁定JS與Android代碼。如下:

public class WebAppInterface {Context mContext;/** Instantiate the interface and set the context */WebAppInterface(Context c) {mContext = c;}/** Show a toast from the web page */@JavascriptInterfacepublic void showToast(String toast) {Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show();} }

注意:如果你的 targetSdkVersion 是17或更高,想要獲得JS就必須給對應的Android方法(方法必須是public)添加@JavascriptInterface注解

使用addJavascriptInterface()綁定:

WebView webView = (WebView) findViewById(R.id.webview); webView.addJavascriptInterface(new WebAppInterface(this), "Android"); //這里的參數"Android",將在JS中由于調用Android方法,如:Android.showToast(toast);

網頁通過JS方法調用Android:

<input type="button" value="Say hello" onClick="showAndroidToast('Hello Android!')" /><script type="text/javascript">function showAndroidToast(toast) {Android.showToast(toast);} </script>

處理頁面導航

當用戶從WebView中的網頁點擊鏈接時,默認行為是Android啟動一個處理URL的應用程序。通常,默認的網頁瀏覽器會打開并加載目標URL。但是,可以重寫這種行為使網頁在WebView中打開。
用戶點擊打開連接,只需為WebView提供一個WebViewClient,使用setWebViewClient():

WebView myWebView = (WebView) findViewById(R.id.webview); myWebView.setWebViewClient(new WebViewClient());

如果您希望更多地控制單擊的鏈接加載的位置,創建自己的WebViewClient重寫shouldOverrideUrlLoading() 方法,如下:

private class MyWebViewClient extends WebViewClient {@Overridepublic boolean shouldOverrideUrlLoading(WebView view, String url) {if (Uri.parse(url).getHost().equals("www.example.com")) {// This is my web site, so do not override; let my WebView load the pagereturn false;}// Otherwise, the link is not for a page on my site, so launch another Activity that handles URLsIntent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));startActivity(intent);return true;} }

為WebView創建一個新的WebViewClient實例:

WebView myWebView = (WebView) findViewById(R.id.webview); myWebView.setWebViewClient(new MyWebViewClient());

網頁瀏覽歷史

當WebView覆蓋URL加載時,它會自動累積訪問過的網頁的歷史。通過goBack() 和goForward()可以再瀏覽歷史中后退、前進。如下,當在Activity中按返回鍵時:

@Override public boolean onKeyDown(int keyCode, KeyEvent event) {// Check if the key event was the Back button and if there's historyif ((keyCode == KeyEvent.KEYCODE_BACK) && myWebView.canGoBack()) {myWebView.goBack();return true;}// If it wasn't the Back key or there's no web page history, bubble up to the default// system behavior (probably exit the activity)return super.onKeyDown(keyCode, event); }

如果用戶存在實際的瀏覽記錄canGoBack()返回true。同樣使用canGoForward()檢查是否有向前的歷史。如果不檢查,當用戶到達歷史結束的時候goBack()和GgoForward()就什么也做不了。

總結

以上是生活随笔為你收集整理的Android WebAPP开发入门的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产精品不卡一区 | 手机在线免费av | 成人午夜视频免费看 | 美日韩成人av | 欧美大片免费在线观看 | 免费观看已满十八岁 | 亚洲精品1区2区3区 国产丝袜网站 | 欧美色涩 | 美女扒开内看个够网站 | 老牛av一区二区 | 欧美另类极品videosbest使用方法 | 在线看福利影 | 自拍偷拍亚洲视频 | 在线你懂的视频 | 黑人精品无码一区二区三区 | 成人一级片在线观看 | 国产21区| 国产精品手机在线 | 色老头av| 欧美日韩国产中文 | 大学生一级一片全黄 | 伊人成人22| 暴力调教一区二区三区 | 一级生活毛片 | 强行挺进白丝老师翘臀网站 | 国产福利视频一区二区三区 | 中国一级大黄大黄大色毛片 | 伊人亚洲影院 | 中文字幕一区二区三区乱码不卡 | 天天av天天爽| 欧美中文一区 | 亚洲精品一区在线 | 亚洲欧美一区二区激情 | 国产精品亚洲一区二区 | 动漫av在线免费观看 | 欧美成人免费在线观看视频 | 精品在线你懂的 | 99精品久久久久久中文字幕 | 午夜亚洲天堂 | 我要操婊 | 91视频综合网 | 国产精品乱码久久久久 | 日韩av图片 | 久久久精品国产免费爽爽爽 | a级无毛片 | 捆绑无遮挡打光屁股调教女仆 | 99精品福利视频 | 欧美综合专区 | 日韩午夜在线观看 | 国产女人18水真多毛片18精品 | 久久婷婷五月国产色综合激情 | 日韩在线影视 | 国产福利在线导航 | 啪啪免费小视频 | av激情影院 | 特黄视频 | 欧美日韩色| 国产精品亚洲专区无码牛牛 | 青青青视频在线播放 | 久久久久久a | 国产黄色视屏 | 亚洲卡一卡二卡三 | 国产精品一二三区视频 | 亚洲欧美一区二区精品久久久 | 俺来也俺也啪www色 欧洲一区二区视频 | 国产精品国产三级国产普通话对白 | 国产香蕉视频在线播放 | 黄色无遮挡网站 | 国产精品17p | 伦理欧美 | 日本中文在线观看 | 黄色三级图片 | 一级黄色片在线看 | 黄色免费在线播放 | 日韩在线播放一区 | 在线免费观看视频网站 | 中国黄色网址 | 日韩激情第一页 | 九七久久| 男女黄色又爽大片 | 免费a网 | 无码人妻丰满熟妇精品 | 爱爱91| 日韩视频免费在线观看 | 色呦呦一区二区三区 | 超碰av在线播放 | 日韩欧美中文字幕在线观看 | 最新欧美大片 | 日韩av男人天堂 | 欧美色图一区二区三区 | 亚色中文字幕 | 精品久久久无码中文字幕 | 五月婷婷激情网 | 国产精品久久久久久久9999 | 日韩激情小视频 | 亚洲欧美中文日韩在线 | 岛国av噜噜噜久久久狠狠av | 天天综合天天 | 亚洲精品国产精品乱码桃花 |