導航:首頁 > 使用方法 > webview的使用方法

webview的使用方法

發布時間:2022-06-30 02:02:05

1. 安卓 webview怎麼使用,求高手

2. Android系統 WebView是什麼有什麼用

現在越來越多的APP都內置了Web網頁去載入視圖,也就是我們常說的Hybrid APP混合應用,市場上很多平台都是這樣做的,比如我們經常使用的淘寶、京東等電商平台。這些是如何實現的呢?在我們Android中有一個WebView組件,它就可以實現此類功能。它是Android中的原生UI控制項,主要用於在APP應用中方便地訪問遠程網頁或本地HTML資源,同時WebView也在Android中充當Java代碼和JS代碼之間交互的橋梁,實際上也可以將WebView看做一個功能最小化的瀏覽器。下面我們一起來看看WebView的一些常用的使用方法

WebView是Android系統提供的一個能顯示網頁的系統控制項,它是一個特殊的View,同時也是一個ViewGroup,可以有很多其他子View。在Android 4.4以下(不包含4.4)系統WebView底層實現是採用WebKit內核,而在Android 4.4及其以上Google採用了Chromium內核作為系統WebView的底層內核支持。在這一變化中Android提供的WebView相關API並沒有發生較大變化,在4.4上也兼容低版本的API並且引進了少部分API。這里簡單介紹下基於Chromium的WebView和基於WebKit的WebView之間的差異,基於Chromium的Webview提供了更廣的HTML5、CSS3、JavaScript支持,在Android系統版本5.0上基於Chromium 37,WebView提供了絕大多數的HTML5特性支持,除此之外Chromium也支持遠程調試(Chrome DevTools)。WebKit JavaScript引起採用WebCore JavaScript在Android 4.4上換成了V8能直接提升JavaScript性能。

二、作用
1、顯示和渲染Web頁面
2、使用html文件(網路上或本地assets中)作為布局
3、可與JavaScript交互調用
註: WebView控制項功能強大,除了具有一般View的屬性和設置外,還可以對Url請求、頁面載入、渲染、頁面交互進行強大的處理。

3. 超鏈接跳轉到底應該怎麼用上webview

/**
*通用的webview,只需要傳入2個參數即可,param1:title標題param2:url網站
*

*
*/


{
privateWebViewwebview;
privateImageButtonback;
privateLinearLayoutpublic_webview_top;
privatebooleanshowTitle;
privateProgressBarprogressBar;


@SuppressLint(JavascriptInterface)
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);


setContentView(R.layout.public_webview);


Intentintent=getIntent();
Stringurl=intent.getStringExtra(url);
Stringtitle=intent.getStringExtra(title);
showTitle=intent.getBooleanExtra(show_title,true);


public_webview_top=(LinearLayout)findViewById(R.id.public_webview_top);
if(showTitle){
public_webview_top.setVisibility(View.VISIBLE);
}else{
public_webview_top.setVisibility(View.GONE);
}
TextViewtitletv=(TextView)findViewById(R.id.public_webview_title);
titletv.setText(title);


progressBar=(ProgressBar)findViewById(R.id.public_webview_progressbar);


webview=(WebView)findViewById(R.id.public_webview_webview);
//載入需要顯示的網頁
webview.addJavascriptInterface(newJavascriptInterface(PublicWebView.this),Phoenix_Android);


webview.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
//設置WebView屬性,能夠執行Javascript腳本
webview.getSettings().setJavaScriptEnabled(true);
//載入需要顯示的網頁
webview.loadUrl(url);
//設置Web視圖
webview.setWebViewClient(newMyWebViewClient());
webview.setWebChromeClient(newWebChromeClient(){
@Override
publicvoidonProgressChanged(WebViewview,intnewProgress){
if(newProgress==100){
progressBar.setVisibility(View.GONE);
}else{
progressBar.setVisibility(View.VISIBLE);
}
super.onProgressChanged(view,newProgress);
}
});


back=(ImageButton)findViewById(R.id.public_webview_back);
back.setOnClickListener(newBackListener(PublicWebView.this,null,1));


}


@SuppressLint(NewApi)
{
@SuppressWarnings(unused)
privateContextcontext;


publicJavascriptInterface(Contextcontext){
this.context=context;
}


publicvoidback(Stringmole,intstatus,Stringplace){
reFreshBlance();


if(status==-1){//用戶取消了
return;
}elseif(status==0){
Toast.makeText(PublicWebView.this,充值請求失敗,請稍後重試...,Toast.LENGTH_SHORT).show();
return;
}elseif(status==1){
//充值請求成功
reFreshBlance();
//1.用戶中心進來的有兩個參數
//a.bet參數是返回購彩界面
//b.userCenter返回用戶中心


}
}
}


//監聽所有點擊的鏈接,如果攔截到我們需要的,就跳轉到相對應的頁面。
{
@Override
(WebViewview,Stringurl){
System.out.println(----------------------shouldOverrideUrlLoading。。url:+url);


if(url!=null&&url.contains(/m/phoneRegiste.do)){
Intentintent=newIntent(PublicWebView.this,RegisterByPhone.class);
PublicWebView.this.startActivity(intent);

finish();
returntrue;
}


returnsuper.shouldOverrideUrlLoading(view,url);
}


@Override
publicvoidonPageFinished(WebViewview,Stringurl){
view.getSettings().setJavaScriptEnabled(true);
super.onPageFinished(view,url);


}
}

//覆蓋Activity類的onKeyDown(intkeyCoder,KeyEventevent)方法
publicbooleanonKeyDown(intkeyCode,KeyEventevent){
if(keyCode==KeyEvent.KEYCODE_BACK&&webview.canGoBack()){
//webview.goBack();//返回前一個頁面
finish();
returntrue;
}
returnsuper.onKeyDown(keyCode,event);
}
}

4. webview是什麼

Webview含義:WebView也就是我們熟悉的「網路視圖」,能載入並顯示網頁,可以將其視為一個瀏覽器。主要用於展示網路請求後的內容,就是將網路地址請求的內容展示在裡面。

使用場景:比如你自己寫個APP,想要訪問網路(如網路頁面),可以不使用手機自帶的瀏覽器,只需APP內部展示網路頁面,這時候就可以用webView。

(4)webview的使用方法擴展閱讀:

  1. WebView的作用:

1.1顯示、渲染請求的Web頁面;

1.2對展示的html文件進行布局;

1.3與JavaScript相互調用。

2.實現WebView的方法:

2.1直接在Activity中實例化所需要的WebView組件嗎,如:WebView webView = new WebView(this);

2.2使用WebView的loadUrl方法,設置WebView初始要載入的頁面:訪問互聯網使用:webView.loadUrl("http://www..com"); 訪問本地文件使用:webView.loadUrl("本地地址"); 本地文件一般存放在:assets 文件夾中

2.3使用Activity的setContentView方法來展示網頁視圖

2.4需要在AndroidManifest.xml文件中添加需要用到的許可權,否則會出現Web page not available的錯誤。添加方法:
<uses-permission android:name="android.permission.INTERNET" />

5. android webview怎麼用

Android和iOS系統都提供了標準的瀏覽器控制項,在android中是WebView,ios中為UIWebView。在iOS中你實例化一個UIWebView即可調用loadRequest來載入一個網頁,但是在Android中你不僅需要創建一個WebView,還需要做一些其他的事情,建議初次使用WebView的讀者按照以下步驟使用:
(1)在要實現WebView的XML中添加一個WebView,並按照自己的要求進行排版,如下:

<FrameLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"

android:layout_gravity="center">

6. 如何使用webview載入網頁

//實例化WebView對象
webview
=
new
WebView(this);
//設置WebView屬性,能夠執行Javascript腳本
webview.getSettings().setJavaScriptEnabled(true);
//載入需要顯示的網頁
webview.loadUrl("
http://www.51cto.com/"
);
//設置Web視圖
setContentView(webview);

7. 要使用webview如何操作

您好,webview中要打開的頁面需要設置白名單,到用戶後台,進入開發設置中,將網站域名加入到配置中。

8. 安卓如何使用WebView組件載入HTML代碼

1)修改新建項目的resIayout目錄下的布局文件main.xml,將默認添加的TextView組件刪除,然後添加一個WebView組件

2)在MainActivity的onCreate()方法中,首先獲取布局管理器中添加的Web View組件,然後創建一個字元串構建器,將要顯示的HTML代碼放置在該構建器中,最後應用IoadDataWithBaseURLO方法載入構建器中的HTML代碼

android客戶端常會調用到html頁面,給webview頁面適配android凌亂的設備帶來很大的困難。

可以找到的方法是通過ZoomDensity.setDefaultZoom根據解析度480寬度為基準縮放。

不過ZoomDensity.setDefaultZoom在2.0以下的平台是無法調用的,需要自己反射調用。

即使是ZoomDensity.setDefaultZoom設置了縮放,但還是會在很多設備無效。經過摸索還需做一些修改:

1,頁面head添加

<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />


2,設置字體也按480基準縮放。

下面是代碼:

Java代碼

privatevoidsetZoom(WebSettingswebSettings){intscreenDensity=getResources().getDisplayMetrics().densityDpi;Stringzd="FAR";switch(screenDensity){caseDisplayMetrics.DENSITY_LOW:zd="CLOSE";break;caseDisplayMetrics.DENSITY_MEDIUM:zd="MEDIUM";break;}Class<?>zoomDensityClass=null;Enum<?>zoomDensity=null;try{if(zoomDensityClass==null){zoomDensityClass=Class.forName("android.webkit.WebSettings$ZoomDensity");}if(zoomDensity==null){zoomDensity=(Enum<?>)Enum.valueOf((Class)zoomDensityClass,zd);}Methodmethod=WebSettings.class.getDeclaredMethod("setDefaultZoom",newClass<?>[]{zoomDensityClass});if(method!=null){method.invoke(webSettings,zoomDensity);}method=WebSettings.class.getDeclaredMethod("setTextZoom",newClass<?>[]{int.class});if(method!=null){method.invoke(webSettings,100*getWindowManager().getDefaultDisplay().getWidth()/480);}}catch(Exceptione){Log.e(TAG,e.getMessage());return;}}




Android的webview載入本地html、本apk內html和遠程URL

Android的webview載入本地html、本apk內html和遠程URL

android客戶端常會調用到html頁面,給webview頁面適配android凌亂的設備帶來很大的困難。

可以找到的方法是通過ZoomDensity.setDefaultZoom根據解析度480寬度為基準縮放。

不過ZoomDensity.setDefaultZoom在2.0以下的平台是無法調用的,需要自己反射調用。

即使是ZoomDensity.setDefaultZoom設置了縮放,但還是會在很多設備無效。經過摸索還需做一些修改:

1,頁面head添加

<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />


2,設置字體也按480基準縮放。

下面是代碼:

Java代碼

privatevoidsetZoom(WebSettingswebSettings){intscreenDensity=getResources().getDisplayMetrics().densityDpi;Stringzd="FAR";switch(screenDensity){caseDisplayMetrics.DENSITY_LOW:zd="CLOSE";break;caseDisplayMetrics.DENSITY_MEDIUM:zd="MEDIUM";break;}Class<?>zoomDensityClass=null;Enum<?>zoomDensity=null;try{if(zoomDensityClass==null){zoomDensityClass=Class.forName("android.webkit.WebSettings$ZoomDensity");}if(zoomDensity==null){zoomDensity=(Enum<?>)Enum.valueOf((Class)zoomDensityClass,zd);}Methodmethod=WebSettings.class.getDeclaredMethod("setDefaultZoom",newClass<?>[]{zoomDensityClass});if(method!=null){method.invoke(webSettings,zoomDensity);}method=WebSettings.class.getDeclaredMethod("setTextZoom",newClass<?>[]{int.class});if(method!=null){method.invoke(webSettings,100*getWindowManager().getDefaultDisplay().getWidth()/480);}}catch(Exceptione){Log.e(TAG,e.getMessage());return;}}

9. android6.0 webview js怎麼使用

WebView(網路視圖)能載入顯示網頁,可以將其視為一個瀏覽器。它使用了WebKit渲染引擎載入顯示網頁,實現WebView有以下兩種不同的方法:
第一種方法的步驟:
1.在要Activity中實例化WebView組件:WebView webView = new WebView(this);
2.調用WebView的loadUrl()方法,設置WevView要顯示的網頁:
互聯網用:webView.loadUrl("http://www.google.com");
本地文件用:webView.loadUrl("file:///android_asset/XX.html"); 本地文件存放在:assets 文件中
3.調用Activity的setContentView( )方法來顯示網頁視圖
4.用WebView點鏈接看了很多頁以後為了讓WebView支持回退功能,需要覆蓋覆蓋Activity類的onKeyDown()方法,如果不做任何處理,點擊系統回退剪鍵,整個瀏覽器會調用finish()而結束自身,而不是回退到上一頁面
5.需要在AndroidManifest.xml文件中添加許可權,否則會出現Web page not available錯誤。
<uses-permission android:name="android.permission.INTERNET" />

第二種方法的步驟:
1、在布局文件中聲明WebView
2、在Activity中實例化WebView
3、調用WebView的loadUrl( )方法,設置WevView要顯示的網頁
4、為了讓WebView能夠響應超鏈接功能,調用setWebViewClient( )方法,設置 WebView視圖
5、用WebView點鏈接看了很多頁以後為了讓WebView支持回退功能,需要覆蓋覆蓋Activity類的onKeyDown()方法,如果不做任何處理,點擊系統回退剪鍵,整個瀏覽器會調用finish()而結束自身,而不是回退到上一頁面
6、需要在AndroidManifest.xml文件中添加許可權,否則出現Web page not available錯誤。
<uses-permission android:name="android.permission.INTERNET"/>

閱讀全文

與webview的使用方法相關的資料

熱點內容
番茄灰霉病治療土方法 瀏覽:416
oppo手機耳線的包裝方法 瀏覽:705
如何尋找正確的工作方法 瀏覽:730
羊布病普遍治療方法 瀏覽:886
研究方法論是誰寫的 瀏覽:523
嬰兒肚子脹怎麼辦有哪些方法 瀏覽:329
蘋果手機的感應在哪裡設置方法 瀏覽:607
香碗製作方法視頻 瀏覽:93
北京蛋白質組學分析方法 瀏覽:783
有哪些方法稀釋油漆 瀏覽:184
可以替代焊錫的sma頭連接方法 瀏覽:467
剪輯視頻的方法 瀏覽:593
如何用化學方法鑒別環己烷和苯胺 瀏覽:539
浙江菜烹飪方法有哪些 瀏覽:382
星戰模擬器怎麼找到自己的家正確方法 瀏覽:767
2020洪災原因和解決方法 瀏覽:828
長期失眠睡不著怎麼辦最好的方法 瀏覽:112
哪些激勵方法可以激勵員工 瀏覽:337
達爾文作用什麼方法得出進化論 瀏覽:633
鼓樓區干貨離心機操作方法有哪些 瀏覽:394