1. 程式人生 > >Android載入本地網頁

Android載入本地網頁

1.Android專案如何建立assets資料夾

直接上圖

點選finish即可

然後在該資料夾下面可以建立常規的js、css、img目錄。

2.載入本地網頁程式碼

在assets資料夾根目錄下面有index.html測試檔案,那麼url應該這樣寫:
  1. String url = "file:///android_asset/index.html";  

呼叫程式碼:
  1. package com.xzy.loadlocalhtmldemo;  
  2. import android.app.Activity;  
  3. import android.os.Bundle;  
  4. import
     android.view.View;  
  5. /** 
  6.  * 從本地載入網頁 
  7.  */
  8. publicclass MainActivity extends Activity {  
  9.     @Override
  10.     protectedvoid onCreate(Bundle savedInstanceState) {  
  11.         super.onCreate(savedInstanceState);  
  12.         setContentView(R.layout.activity_main);  
  13.         findViewById(R.id.btn_load_webview).setOnClickListener(new
     View.OnClickListener() {  
  14.             @Override
  15.             publicvoid onClick(View v) {  
  16.                 String url = "file:///android_asset/index.html";  
  17.                 WebViewActivity.startActivity(MainActivity.this"title", url);  
  18.             }  
  19.         });  
  20.     }  
  21. }  

其中webViewActivity可以作為一個通用載入類來使用,現在貼出程式碼,程式碼非常簡單,我們可以根據實際需求擴充套件個通用類。
  1. package
     com.xzy.loadlocalhtmldemo;  
  2. import android.annotation.SuppressLint;  
  3. import android.app.Activity;  
  4. import android.content.Context;  
  5. import android.content.Intent;  
  6. import android.os.Bundle;  
  7. import android.text.TextUtils;  
  8. import android.view.View;  
  9. import android.webkit.WebChromeClient;  
  10. import android.webkit.WebSettings;  
  11. import android.webkit.WebView;  
  12. import android.webkit.WebViewClient;  
  13. import android.widget.ProgressBar;  
  14. /** 
  15.  * webView 
  16.  */
  17. publicclass WebViewActivity extends Activity {  
  18.     publicstaticfinal String TAG = "WebViewActivity";  
  19.     private ProgressBar mProgressBar;  
  20.     private WebView mWebView;  
  21.     @Override
  22.     protectedvoid onCreate(Bundle savedInstanceState) {  
  23.         super.onCreate(savedInstanceState);  
  24.         setContentView(R.layout.activity_webview);  
  25.         initView();  
  26.         initData();  
  27.     }  
  28.     /** 
  29.      * 初始化檢視資源 
  30.      */
  31.     privatevoid initView() {  
  32.         mProgressBar = (ProgressBar) findViewById(R.id.web_progressBar);  
  33.         mWebView = (WebView) findViewById(R.id.web_wv);  
  34.     }  
  35.     /** 
  36.      * 載入初始資料 
  37.      */
  38.     @SuppressLint("SetJavaScriptEnabled")  
  39.     protectedvoid initData() {  
  40.         mProgressBar.setMax(100);  
  41.         WebSettings settings = mWebView.getSettings();  
  42.         settings.setJavaScriptEnabled(true);  
  43.         settings.setJavaScriptCanOpenWindowsAutomatically(true);  
  44.         settings.setSupportMultipleWindows(true);  
  45.         mWebView.setWebViewClient(new WebViewClient());  
  46.         mWebView.setWebChromeClient(new WebChromeClient() {  
  47.             @Override
  48.             publicvoid onProgressChanged(WebView view, int newProgress) {  
  49.                 super.onProgressChanged(view, newProgress);  
  50.                 if (newProgress == 0) {  
  51.                     mProgressBar.setVisibility(View.VISIBLE);  
  52.                 } elseif (newProgress == 100) {  
  53.                     mProgressBar.setVisibility(View.GONE);  
  54.                 } else {  
  55.                     mProgressBar.setProgress(newProgress);  
  56.                 }  
  57.             }  
  58.         });  
  59.         Bundle bundle = getIntent().getExtras();  
  60.         if (bundle != null) {  
  61.             String title = bundle.getString("title");  
  62.             String url = bundle.getString("url");  
  63.             //設定標題
  64.             //setTitleText(title);
  65.             mWebView.loadUrl(url);  
  66.         }  
  67.     }  
  68.     /** 
  69.      * @param context 上下文 
  70.      * @param title   activity標題 
  71.      * @param url     本地網頁url 
  72.      */
  73.     publicstaticvoid startActivity(Context context, String title, String url) {  
  74.         if (TextUtils.isEmpty(url)) {  
  75.             return;  
  76.         }  
  77.         Intent intent = new Intent(context, WebViewActivity.class);  
  78.         intent.putExtra("title", title);  
  79.         intent.putExtra("url", url);  
  80.         context.startActivity(intent);  
  81.     }  
  82.     @SuppressLint("SetJavaScriptEnabled")  
  83.     @Override
  84.     protectedvoid onResume() {  
  85.         super.onResume();  
  86.         mWebView.getSettings().setJavaScriptEnabled(true);  
  87.         mWebView.onResume();  
  88.     }  
  89.     @Override
  90.     protectedvoid onPause() {  
  91.         super.onPause();  
  92.         mWebView.onPause();  
  93.     }  
  94.     @Override
  95.     protectedvoid onStop() {  
  96.         super.onStop();  
  97.         //掛在後臺  資源釋放
  98.         mWebView.getSettings().setJavaScriptEnabled(false);  
  99.     }  
  100.     @Override
  101.     protectedvoid onDestroy() {  
  102.         mWebView.setVisibility(View.GONE);  
  103.         mWebView.destroy();  
  104.         super.onDestroy();  
  105.     }  
  106. }  

相關推薦

Android載入本地網頁

1.Android專案如何建立assets資料夾 直接上圖 點選finish即可 然後在該資料夾下面可以建立常規的js、css、img目錄。 2.載入本地網頁程式碼 在assets資料夾根目錄下面有index.html測試檔案,那麼url應該這樣寫:

Android 載入本地圖片(檔案管理器中的圖片牆)

Android 載入本地圖片(檔案管理器中的圖片牆) --關於圖片牆的一些感悟與疑問,希望大家共同探討。 (By伊葉也) 圖片顯示及監聽 1、圖片顯示:基本上就5種顯示形式(如果同時嵌入5種形式,採用

WebView的返回、前進、重新整理載入本地網頁等操作

webview使用比較簡單,可以載入網頁也可以載入本地的HTML檔案。 1.佈局宣告 <WebView android:id="@+id/webView"

android載入本地asset資料夾下的h5介面

建一個和res資料夾平級的資料夾assets 把html頁面放在資料夾下,然後再webview中載入 String fileUrl = "file:///android_asset/index.h

iOS_WKWebView載入本地網頁

@property (strong, nonatomic) WKWebView *webView; @property (nonatomic, copy) NSString *url; WKWeb

ios 載入本地網頁 css js 無法顯示問題

解決辦法:      html檔案或將資料夾拖入xcord 選擇 Create folder references。      並加上如下程式碼。     NSURL *url = [[NSBundle mainBundle] URLForResource:@"APP/i

UIWebView獲得網頁內容(HTML原始碼)、載入本地HTML檔案

獲取網頁內容 在使用UIWebView載入一個網頁的時候,有時候需要獲得此頁面的原始碼,可以使用UIWebView執行JS程式碼來獲得: //載入網址 let req = NSMutableURLRequest.init(URL: NSURL.init(string: "h

【iOS】通過NSURLProtocol實現網頁載入本地快取資料

一.專案需求 專案中有個海報生成功能,使用UIWebView載入一些網頁,因為海報使用率比較高,有時載入網頁比較慢會影響使用者體驗,因此我們在APP啟動後,將一些固定資源,如css、圖片等,先快取到本地。載入網頁時,通過NSURLProtocol,優先使用本地的檔案,以加快網頁載入速

Android Studio載入本地aar檔案

如果要在Android Studio中引用本地的aar檔案:mylib.aar,步驟如下: 1.在需要引用mylib.aar的Module,比如:MyModule的根目錄下新建目錄:libs,然後把mylib.aar複製到此目錄下。 2.在MyModule的build.gradle中,新增如下定

[Swift通天遁地]一、超級工具-(5)使用UIWebView(網頁檢視)載入本地頁面並呼叫JavaScript(指令碼)程式碼

本文將演示如何使用UIWebView(網頁檢視)讀取專案中的網頁檔案,以及執行JavaScript指令碼程式碼。 在專案資料夾【DemoApp】上點選滑鼠右鍵,彈出右鍵選單。 【New File】->【Blank】空白模板->【next】 ->【Save As】:Register.ht

Android 以JSON格式儲存和載入本地檔案

本章主要講把一個物件以json格式儲存在沙盒中,然後又從沙盒中將json資料讀取出來。 每個應用的沙盒目錄都是裝置/data/data目錄的子目錄,且預設以應用包命名。例如,CriminalIntent應用的沙盒目錄全路徑為:/data/data/com.bi

Android WebView載入https網頁(親測)

只需加兩處設定: 1 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { settings.

Android:WebView載入url網頁顯示不完整解決辦法

WebView基本用法 如果想要在APP裡面載入url網頁,或者html程式碼,首先我們會想到WebView,它的基本用法如下: webview_layout.xml <?xml version="1.0" encoding="utf-8"?&g

Android使用WebView載入本地圖片終極大殺招

WebView 主要呼叫三個方法:loadUrl、loadData、loadDataWithBaseURL。 1、loadUrl 直接載入網頁、圖片並顯示。(本地或是網路上的網頁、圖片、gif) 2、loadData 顯示文字與圖片內容

Android webview 載入https網頁顯示空白

設定webview支援https的方法: webView.setWebViewClient(new WebViewClient(){ @Override

Android Webview 載入外部html時選擇載入本地的js,css等資原始檔

在使用WebView載入網頁的時候,有一些固定的資原始檔如js的jquery包,css,圖片等資源會比較大,如果直接從網路載入會導致頁面載入的比較慢,而且會消耗比較多的流量。所以這些檔案應該放在assets裡面同app打包。 要解決這個問題需要用到API 11(HONEYC

Android WebView載入H5網頁通過WebChromeClient選擇裝置檔案

Android WebView載入H5網頁通過WebChromeClient選擇裝置檔案 先寫一個web.html作為測試網頁檔案放到res/assets目錄下: <html> <body> <input type="file" value="選擇檔案"&g

android webview 載入本地html並且解決多圖卡頓問題

使用webview載入本地html,因為本地html使用多張圖片,滑動起來卡頓,解決方法如下: 把資料夾放入assets資料夾下 Activity載入: WebView wView = (

ANDROID webview載入本地內容程式碼

由於我目前的應用大部分為html網頁內容,所以之前一直沿用webview.load(url)的方式來載入網頁,所以就出現了很多網頁載入很慢的情況,看網上所述大部分由載入遠端載入js,css導致的。所以就把webview.load(url)調整為載入本地內容,js和css均有

android studio中新建assets,用webview載入本地圖片

xml檔案中建立webview <WebView android:id="@+id/wv_explain" android:layout_width="match_parent" android:layout_hei