androidhtml5應用
Android瀏覽器默認預覽模式瀏覽 會縮小頁面 WebView中則會以原始大小顯示
Android瀏覽器和WebView默認為mdpi。hdpi相當於mdpi的1.5倍 ldpi相當於0.75倍
三種解決方式:1 viewport屬性 2 CSS控制 3 JS控制
1 viewport屬性放在HTML的<meta>中
Html代碼
<SPAN style="FONT-SIZE: x-small"> <head>
<title>Exmaple</title>
<meta name=」viewport」 content=」width=device-width,user-scalable=no」/>
</head></SPAN>
meta中viewport的屬性如下
Html代碼
<SPAN style="FONT-SIZE: x-small"> <meta name="viewport"
content="
height = [pixel_value | device-height] ,
width = [pixel_value | device-width ] ,
initial-scale = float_value ,
minimum-scale = float_value ,
maximum-scale = float_value ,
user-scalable = [yes | no] ,
target-densitydpi = [dpi_value | device-dpi |
high-dpi | medium-dpi | low-dpi]
"
/></SPAN>
2 CSS控制設備密度
為每種密度創建獨立的樣式表(注意其中的webkit-device-pixel-ratio 3個數值對應3種解析度)
Html代碼
<link rel="stylesheet" media="screen and (-webkit-device-pixel-ratio: 1.5)" href="hdpi.css" />
<link rel="stylesheet" media="screen and (-webkit-device-pixel-ratio: 1.0)" href="mdpi.css" />
<link rel="stylesheet" media="screen and (-webkit-device-pixel-ratio: 0.75)" href="ldpi.css" />
在一個樣式表中,指定不同的樣式
Html代碼
#header {
<SPAN style="WHITE-SPACE: pre"> </SPAN> background:url(medium-density-image.png);
}
@media screen and (-webkit-device-pixel-ratio: 1.5) {
// CSS for high-density screens
#header {
background:url(high-density-image.png);
}
}
@media screen and (-webkit-device-pixel-ratio: 0.75) {
// CSS for low-density screens
#header {
background:url(low-density-image.png);
}
}
Html代碼
<meta name="viewport" content="target-densitydpi=device-dpi, width=device-width" />
3 JS控制
Android瀏覽器和WebView支持查詢當前設別密度的DOM特性
window.devicePixelRatio 同樣值有3個(0.75,1,1.5對應3種解析度)
JS中查詢設備密度的方法
Js代碼
if (window.devicePixelRatio == 1.5) {
alert("This is a high-density screen");
} else if (window.devicePixelRation == 0.75) {
alert("This is a low-density screen");
}
● Android中構建HTML5應用
使用WebView控制項 與其他控制項的使用方法相同 在layout中使用一個<WebView>標簽
WebView不包括導航欄,地址欄等完整瀏覽器功能,只用於顯示一個網頁
在WebView中載入Web頁面,使用loadUrl()
Java代碼
WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.example.com");
注意在manifest文件中加入訪問互聯網的許可權:
Xml代碼
<uses-permission android:name="android.permission.INTERNET" />
在Android中點擊一個鏈接,默認是調用應用程序來啟動,因此WebView需要代為處理這個動作 通過WebViewClient
Java代碼
//設置WebViewClient
webView.setWebViewClient(new WebViewClient(){
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
}
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
}
});
這個WebViewClient對象是可以自己擴展的,例如
Java代碼
private class MyWebViewClient extends WebViewClient {
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (Uri.parse(url).getHost().equals("www.example.com")) {
return false;
}
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(intent);
return true;
}
}
之後:
Java代碼
WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.setWebViewClient(new MyWebViewClient());
另外出於用戶習慣上的考慮 需要將WebView表現得更像一個瀏覽器,也就是需要可以回退歷史記錄
因此需要覆蓋系統的回退鍵 goBack,goForward可向前向後瀏覽歷史頁面
Java代碼
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && myWebView.canGoBack() {
myWebView.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
Java代碼
WebView myWebView = (WebView) findViewById(R.id.webview);
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
❷ 現在有什麼 Android App是用 HTML5 開發的
一般都是混合開發,沒有單獨用html5做的,淘寶就用了部分html5,
如果我們做混合開發就用WeX5就可以
❸ 如何用HTML5開發安卓應用
Android設備多解析度的問題
Android瀏覽器默認預覽模式瀏覽 會縮小頁面 WebView中則會以原始大小顯示
Android瀏覽器和WebView默認為mdpi。hdpi相當於mdpi的1.5倍 ldpi相當於0.75倍
三種解決方式:1 viewport屬性 2 CSS控制 3 JS控制
1 viewport屬性放在HTML的<meta>中
Html代碼
<span style="font-size: x-small;"> <head>
<title>Exmaple</title>
<meta name=」viewport」 content=」width=device-width,user-scalable=no」/>
</head></span>
meta中viewport的屬性如下
Html代碼
<span style="font-size: x-small;"> <meta name="viewport"
content="
height = [pixel_value | device-height] ,
width = [pixel_value | device-width ] ,
initial-scale = float_value ,
minimum-scale = float_value ,
maximum-scale = float_value ,
user-scalable = [yes | no] ,
target-densitydpi = [dpi_value | device-dpi |
high-dpi | medium-dpi | low-dpi]
"
/></span>
2 CSS控制設備密度
為每種密度創建獨立的樣式表(注意其中的webkit-device-pixel-ratio 3個數值對應3種解析度)
Html代碼
<link rel="stylesheet" media="screen and (-webkit-device-pixel-ratio: 1.5)" href="hdpi.css" />
<link rel="stylesheet" media="screen and (-webkit-device-pixel-ratio: 1.0)" href="mdpi.css" />
<link rel="stylesheet" media="screen and (-webkit-device-pixel-ratio: 0.75)" href="ldpi.css" />
在一個樣式表中,指定不同的樣式
Html代碼
#header {
<span style="white-space: pre;"> </span> background:url(medium-density-image.png);
}
@media screen and (-webkit-device-pixel-ratio: 1.5) {
// CSS for high-density screens
#header {
background:url(high-density-image.png);
}
}
@media screen and (-webkit-device-pixel-ratio: 0.75) {
// CSS for low-density screens
#header {
background:url(low-density-image.png);
}
}
Html代碼
<meta name="viewport" content="target-densitydpi=device-dpi, width=device-width" />
3 JS控制
Android瀏覽器和WebView支持查詢當前設別密度的DOM特性
window.devicePixelRatio 同樣值有3個(0.75,1,1.5對應3種解析度)
JS中查詢設備密度的方法
Js代碼
if (window.devicePixelRatio == 1.5) {
alert("This is a high-density screen");
} else if (window.devicePixelRation == 0.75) {
alert("This is a low-density screen");
}
● Android中構建html5應用
使用WebView控制項 與其他控制項的使用方法相同 在layout中使用一個<WebView>標簽
WebView不包括導航欄,地址欄等完整瀏覽器功能,只用於顯示一個網頁
在WebView中載入Web頁面,使用loadUrl()
Java代碼
WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.example.com");
注意在manifest文件中加入訪問互聯網的許可權:
Xml代碼
<uses-permission android:name="android.permission.INTERNET" />
在Android中點擊一個鏈接,默認是調用應用程序來啟動,因此WebView需要代為處理這個動作 通過WebViewClient
Java代碼
//設置WebViewClient
webView.setWebViewClient(new WebViewClient(){
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
}
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
}
});
這個WebViewClient對象是可以自己擴展的,例如
Java代碼
private class MyWebViewClient extends WebViewClient {
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (Uri.parse(url).getHost().equals("www.example.com")) {
return false;
}
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(intent);
return true;
}
}
之後:
Java代碼
WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.setWebViewClient(new MyWebViewClient());
另外出於用戶習慣上的考慮 需要將WebView表現得更像一個瀏覽器,也就是需要可以回退歷史記錄
因此需要覆蓋系統的回退鍵 goBack,goForward可向前向後瀏覽歷史頁面
Java代碼
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && myWebView.canGoBack() {
myWebView.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
河南新華網路運營協會
❹ 如何利用html5開發android界面
H5開發安卓界面需要注意以下三點:
(上)包括Android設備多解析度的問題,Android中構建HTML5應用程序基礎
(中)包括Android與JS之間的互動,Android處理JS的警告對話框等,Android中的調試
(下)包括本地儲存在Android中的應用,地理位置的應用,離線應用的構建
進入正題
● Android設備多解析度的問題
Android瀏覽器默認預覽模式瀏覽 會縮小頁面 WebView中則會以原始大小顯示
Android瀏覽器和WebView默認為mdpi。hdpi相當於mdpi的1.5倍 ldpi相當於0.75倍
三種解決方式:1 viewport屬性 2 CSS控制 3 JS控制
1 viewport屬性放在HTML的<meta>中
html代碼:
<span style="font-size: x-small;"> <head>
<title>Exmaple</title>
<meta name=」viewport」 content=」width=device-width,user-scalable=no」/>
</head></span>
meta中viewport的屬性如下:
<span style="font-size: x-small;"> <meta name="viewport"
content="
height = [pixel_value | device-height] ,
width = [pixel_value | device-width ] ,
initial-scale = float_value ,
minimum-scale = float_value ,
maximum-scale = float_value ,
user-scalable = [yes | no] ,
target-densitydpi = [dpi_value | device-dpi |
high-dpi | medium-dpi | low-dpi]
"
/>
</span>
2 CSS控制設備密度
為每種密度創建獨立的樣式表(注意其中的webkit-device-pixel-ratio 3個數值對應3種解析度)
html代碼:
<link rel="stylesheet" media="screen and (-webkit-device-pixel-ratio: 1.5)" href="hdpi.css" />
<link rel="stylesheet" media="screen and (-webkit-device-pixel-ratio: 1.0)" href="mdpi.css" />
<link rel="stylesheet" media="screen and (-webkit-device-pixel-ratio: 0.75)" href="ldpi.css" />
3 JS控制
Android瀏覽器和WebView支持查詢當前設別密度的DOM特性
window.devicePixelRatio 同樣值有3個(0.75,1,1.5對應3種解析度)
JS中查詢設備密度的方法
js代碼:
if (window.devicePixelRatio == 1.5) {
alert("This is a high-density screen");
} else if (window.devicePixelRation == 0.75) {
alert("This is a low-density screen");
}
Android中構建HTML5應用
使用WebView控制項 與其他控制項的使用方法相同 在layout中使用一個<WebView>標簽
WebView不包括導航欄,地址欄等完整瀏覽器功能,只用於顯示一個網頁。
❺ 如何用html5開發android應用
html5就是做網頁的,用html5做好網頁版的軟體後 用PhoneGap 打包成apk,就能在安卓上安裝運行。
❻ h5做app和原生app有什麼區別
原生app和h5做的app的區別:
1、開發方面的區別
目前React Native開發越來越火,微信小程序是基於React Native開發的,體驗接近原生APP,發展前景值得重視。不過好在現在非原生APP同樣可以調用藍牙、相機等硬體,也能順利發布到蘋果APP store。
移動Web App
1、因為運行在移動設備的瀏覽器上,所以只需要一個開發項目
2、這種應用可以使用HTML5,CSS3以及JavaScript以及伺服器端語言來完成(PHP,Ruby on Rails,Python)
3、這里可沒有標準的SDK,基本任意選擇別忘了有一些跨平台的開發工具,比如PhoneGap, Sencha Touch 2以及Appcelerator Titanium等等。
原生App
1、每一種移動操作系統都需要獨立的開發項目
2、每種平台都需要獨立的開發語言。Java(Android), Objective-C(iOS)以及Visual C++(Windows phone)等等
3、需要使用各自的軟體開發包,開發工具以及各自的控制項
2、能力方面的區別
移動Web App
只能使用有限的移動硬體設備功能。
原生App
能夠與移動硬體設備的底層功能,比如個人信息,攝像頭以及重力加速器等等。對於這一點感觸很深刻,2016年做新年H5營銷小活動的時候,就是因為沒有考慮到H5不能使用移動硬體端重力加速器而導致臨時替換設計方案。
3、獲取方法的區別
移動Web App
1、從移動設備上的瀏覽器訪問
2、不需要安裝額外的軟體
3、軟體更新只需要伺服器就夠了
4、因為現在沒有什麼商品或賣場提供這種App,不過一般都是嵌套在系統內部,或者內部系 統中使用
5、跨平台開發,用戶不需要去賣場來下載安裝App
6、需要過度依賴網路,沒有任何緩存數據
7、任何時候都可以發布App,因為根本不需要官方賣場的審核
8、如果你已經有了一個Web App,你可以使用 responsive web design來輔助改進
9、所有的用戶都是用同樣的版本
原生App
1、直接下載到設備
2、以獨立的應用程序運行(並不需要瀏覽器)
3、用戶必須手動去下載並安裝這些原生App
4、有一些商店與賣場來幫助用戶尋找你的App,app store裡面應有盡有。
5、原生型APP應用的安裝包相對較大,包含UI元素、數據內容、邏輯框架;
6、手機用戶無法上網也可訪問APP應用中以前下載的數據。
7、原生型的APP可以調用手機終端的硬體設備(語音、攝像頭、簡訊、GPS、藍牙、重力感應等)
8、APP應用更新新功能,涉及到每次要向各個應用商店進行提交審核。
9、用戶可以自由地選擇是否更新軟體版本,所以會出現不同用戶同時使用不同版本的情況
如果企業選擇商領雲進行定製開發原生app,需要單獨開發兩套系統即ios和安卓系統。如果是通過商領雲的在線製作app,則可以同時生成ios和安卓系統的app,並且還可以製作小程序、移動網站和微商城,非常方便,而且價格也只需幾萬左右,具體需要看功能需求。
❼ 如何將html5程序打包成Android應用
需要使用安卓編譯器進行處理.
工具如下
(Exlipse)
原因是: H5是無法直接編譯成 Android 程序的
使用方法如下:
通過安卓編譯器(Android Studio 或者 Exlipse) 創建安卓程序
在安卓程序中載入 webview(瀏覽器控制項)
用 webview 打開 H5頁面.
❽ 怎樣 用html5開發android app
下載安裝MyEclipse2014,Android SDK,eclipse(需配置Android開發環境)
Java和Android環境安裝與配置,將另寫經驗分享,讀者也可網路參考其他相關資料,自行安裝
打開MyEclipse2014,新建一個HTML5 Mobile Application Project,命名,例如:hello
html5程序在工程www目錄下編輯;
編輯好我們的html5程序,下面就要開始學習打包了
這里介紹兩種打包方式:1、PhoneGap Build Service 打包
PhoneGap官網有相關教程可參考,不具體介紹
2、android SDK +eclispe 打包
android SDK +eclispe 打包(前提已配置好,android開發環境):
Step1、啟動eclipse,新建Android Application Project,即Android工程,命名,例如:hello
Step2、將前面Myeclipse2014中編輯好的HTML5程序(www整個目錄)拷至剛剛在eclipse新建hello工程對應assets目錄下面
Step3、下面要做的就是如何將我們的HTML5程序在Android應用中啟動,這里我們要使用Android系統自帶的WebView控制項(具體信息參考Adroid開發文檔)---在工程下找到res->layout->activity_main.xml並打開,向裡面插入WebView控制項,編輯好自己想要的樣式
Step4、在主程序入口,用剛剛編輯好的WebView控制項將HTML5程序引入,此時,主體功能已實現,編譯工程即可得到apk
❾ android h5 混合開發的應用軟體有哪些
一、Adobe Edge
目前還處於預覽階段的Adobe
Edge是用HTML5、CSS、JavaScript開發動態互動內容的設計工具。內容可以同時兼容移動設備和桌面電腦。Edge的一個重要功能是
Web工具包界面,方便確保頁面在不同瀏覽器中的架構一致性,此外Edge還將整合TypeKit這樣的字體服務。
動畫和圖形可以添
加到HTML元素中,程序也能通過Edge自身的代碼片段庫或者JavaScript代碼進行擴展。動畫可以在獨立的時間線上進行嵌套,還能實現互動功
能。符合可以服用並通過API和代碼片段控制。通過Edge設計的內容可以兼容iOS和Android設備,也可以運行在火狐、Chrome、
Safari和IE9等主流瀏覽器。
二、Adobe Dreamweaver CS6
Adobe
Dreamweaver CS6作為一個Web設計軟體,提供了對HTML網站和移動程序的可視化編輯界面。其Fluid
Grid排版系統整合CSS樣式表功能,提供自適應版面的跨平台兼容性。開發者可以完全實現Web設計的可視化操作,無需為代碼所困。
用戶不但還能在Live View中預覽,還提供多屏幕預覽功能。開發者可以通過MultiScreen預覽面板查看HTML5內容的渲染效果。Live View通過WebKit渲染引擎支持HTML5。
三、Adobe ColdFusion 10
ColdFusion是用來開發企業Web程序的伺服器端技術,通過Websockets、互動表單、視頻和地理標簽等HTML5技術創建富媒體用戶體驗。
四、Sencha Architect 2
在開發移動和桌面應用的工具中,Sencha的定位是HTML5可視化應用開發。開發團隊可以在一個單一集成的環境中完成應用的設計、開發和部署。開發者還可以開發Sencha Touch2和Ext JS4 JavaScript應用,並實時預覽。
五、Sencha Touch 2
Sencha Touch2是移動應用框架,也被看作是Sencha的HTML5平台。開發者可以用它開發面向iOS、Android和Blackberry、Kindle Fire等多種平台的移動應用。
六、Dojo Foundation Maqetta
來自於IBM的一個項目,Dojo Foundation Maqetta是為桌面和移動設備開發HTML5應用的開源工具,支持在瀏覽器中查看HTML5界面。用戶體驗設計師可以通過拖放組裝UI樣板
七、微軟Visual Studio 2010 ServicePack 1
雖然一開始並不支持HTML5,但微軟在2011年三月發布的Visual Studio 2010 SP1中提供了IntelliSense,追加了針對HTML5的一些元素。
八、JetBrains WebStorm 4.0
作為擁有HTML編輯器的JavaScript集成開發環境,WebStorm4.0提供了開發web應用的HTML5樣板。開發者可以在創建HTML文檔時可獲得對HTML5文件的支持。例如砍伐者鍵入。開發者還可以在chrome瀏覽器中實時預覽HTML文檔。
九、Google Web Toolkit
該開發工具用於開發瀏覽器應用,但庫中支持很多HTML5功能。包括對客戶端或web存儲的支持。其他HTML5功能還包括支持Canvas可視化,以及音頻和視頻widget。
十、DCloud HBuilder
HBuilder是當前最快的HTML開發工具,強大的代碼助手幫你快速完成開發,最全的語法庫和瀏覽器兼容性數據讓瀏覽器碎片化不再頭痛。