日韩性视频-久久久蜜桃-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导航 | 欧美区日韩区 | 欧美视频在线一区二区三区 | 操极品少妇| 91久久久久久久久久久久久 | 久久精品欧美 | 欧美日韩成人一区二区 | 国产伦精品一区二区三区视频免费 | 狠狠躁夜夜躁av无码中文幕 | 久久99精品久久久久久琪琪 | 大牛影视剧免费播放在线 | 国产黄色录像片 | 亚洲视频国产 | 久久作爱| 成人羞羞国产免费 | 色福利网 | 日韩在线一卡二卡 | 日本精品一区视频 | 欧美变态绿帽cuckold | 热热色国产| 国产美女诱惑 | 黄色片免费观看 | 自拍超碰 | 很色的网站 | 国产精品一区二区三区四区五区 | 国产午夜伦鲁鲁 | 天天爽网站 | 精品深夜av无码一区二区老年 | 日韩免费在线观看 | 2020自拍偷拍 | 女人18毛片水真多18精品 | 亚洲精品乱码久久久久99 | 一级肉体全黄毛片 | 日韩精品区 | 日本天堂在线播放 | 精品乱子伦一区二区三区 | 精品无码一区二区三区免费 | 国产色在线观看 | av免| 免费在线观看黄色av | 91成人在线观看高潮 | 麻豆三级 | 欧美精品电影一区二区 | 久久久久毛片 | 亚欧色视频 | 91成人免费观看 | 国产视频你懂得 | 少妇4p | 色婷婷精品国产一区二区三区 | 欧美一级在线观看 | 日韩在观看线 | 国产精品成人国产乱一区 | 丁香色综合 | 日韩在线视频二区 | 中文字幕永久在线播放 | 美女被草出白浆 | 天堂资源av | 丁香激情六月 | 哺乳喂奶一二三区乳 | 66亚洲一卡2卡新区成片发布 | 粗口调教gay2022.com | 网红日批视频 | 久久大综合| 人妻奶水人妻系列 | 久久艹这里只有精品 | 日韩福利一区二区三区 | 天天做天天爱夜夜爽 | 女同一区二区 | 91天天操| 黄色av片三级三级三级免费看 | 97青青草 | 影音先锋中文字幕人妻 | 日韩黄色片网站 | 91成人短视频在线观看 | jiz亚洲 | www.中文字幕av | 国产青青操| 国产又粗又猛又爽又 | 毛片毛片毛片毛片毛片毛片毛片毛片 | 韩国伦理大片 | 97视频在线播放 | 性欧美成人播放77777 | aa丁香综合激情 | 麻豆tube| 激情小说亚洲色图 | 色老汉视频 | 国产艳妇疯狂做爰视频 | 性高湖久久久久久久久免费 | 一级全黄裸体免费视频 | 欧美做爰性生交视频 | 伊人五月天 |