導航:首頁 > 操作系統 > androidh5

androidh5

發布時間:2022-04-29 02:48:04

android為什麼要用h5做界面

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不包括導航欄,地址欄等完整瀏覽器功能,只用於顯示一個網頁。

❷ android怎麼調h5的方法

第一種也是最開始就接觸的方式,通常在activity組件的oncreate事件中直接定義,直接動作。這種方式每個控制項都定義一次,通常不方便.

});

❸ 淘寶,京東這種商城的APP都是用Android+h5語言來開發的嗎

一般比較大的平台都會採用Android原生+h5混合開發,這樣能取各方面的優點;
原生開發可以訪問設備中的所有功能,運行速度更快,性能更高,而且可以啟用優秀的離線處理和存儲能力等等,提供最佳的用戶體驗,最優質的用戶界面,最華麗的交互。

原生開發的缺點在逐漸的開發、運營過程中顯現出來。開發成本高,不同平台需要定製不同的app,也就是android定製apk,ios定製app,開發人員需要多平台多語言,人力成本、時間成本較多,通用性差;
H5開發是Html5開發的app,本質上運行在手機瀏覽器中的頁面,一般使用app做一個殼套用瀏覽器運行H5的頁面,由於H5的特性也有很多app使用半原生半H5的hybird app 開發模
H5有許多優點,特別針對原生開發的缺點。如:
直接在網頁上調試和修改,幾乎不用考慮用戶機型和適配的問題,針對原生開發的平台碎片化、開發人力成本、時間成本高;版本升級優勢,網頁的升級與用戶無關,用戶無需下載更新安裝,保證實時送達到用戶手中;上線時間穩定、快速,不需要通過開發市場的審核,有收入分成的開發市場更是可以繞過收入分成。除此以外在視頻媒體方面H5表現也十分優秀的。

H5的缺點有許多,當新技術出現時候許許多多的人都在吹噓它的優點,到真正實用時才對它的缺點正視。H5載入大圖片的時候性能會下降,大量用戶訪問同一個H5應用時性能會下降,響應速度比不上原生app,上網速度也不及原生app,H5不能自動處理動畫上反復交互(網頁游戲),需要藉助css3、javascript。

❹ android程序員怎麼學習h5

矩形,尤其是圓角矩形需要注意的是,在Android中只能實現四分一圓角效果,如果你的圓角效果是通過P 鋼筆工具做出來的,這部分需要你把它做成.9.png圖片。先看看Android在代碼層次的實現:
<shape android:shape="rectangle">
<corners android:radius="10dp"/>
<solid android:color="#ff6191"/>
<size android:height="200dp" android:width="400dp"/>
</shape>

代碼中的radius參數就是1/4圓角的數值,單位是dp。調整這個參數的數值,只能調整半形。當調整到矩形高度的1/2時,就成左右兩端半圓的矩形了。圓角按鈕就是使用這個功能來實現。
PhotoShop里需要用插件或者形狀合並才能實現的部分圓角效果,在Android里實現比較簡單。

❺ 為什麼android手機打不開h5頁面

有兩種可能,一種是你的android系統版本不夠高,版本2.幾及以下的對H5的支持不夠好,另一種可能是那個H5頁面載入太慢了,網路不夠好,沒載入出來!

❻ android h5什麼意思

html5,其實就是在android上用網頁代替原生技術開發

❼ android中怎麼給h5界面設置點擊監聽

android監聽事件添加動作的三種方式:
第一種也是最開始就接觸的方式,通常在activity組件的oncreate事件中直接定義,直接動作。這種方式每個控制項都定義一次,通常不方便.

});
第二種通常是在activity組件實現其介面,這樣可以多外控制項共享一個介面,這樣相對方便

第三種類似第二種,這樣的好處在於如果需要實現多個監聽介面,這樣更清晰

安卓系統H5點開為什麼沒有聲音

1、安卓系統H5點開沒有聲音,個系統是沒有關系的,可能是手機音量關閉到最低或設置為靜音狀態。
2、手機軟體音量調到最低狀態了,只需要通過音量調節就可以了。

❾ android嵌入h5,怎麼交互

Android和H5之間的交互
hybrid App開發也不是什麼新鮮事了,其中native和h5之間的交互則是必不可少的。Android中是如何和H5交互的?
1、webView載入頁面
我們都知道在Android中是通過webView來載入html頁面的,根據HTML文件所在的位置不同寫法也不同:
//例如:載入assets文件夾下的test.html頁面
mWebView.loadUrl("file:///android_asset/test.html")
//例如:載入網頁
mWebView.loadUrl("http://www..com")

如果只是這樣調用mWebView.loadUrl()載入的話,那麼當你點擊頁面中的鏈接時,頁面將會在你手機默認的瀏覽器上打開。那如果想要頁面在App內中打開的話,那麼就得設置setWebViewClient:
mWebView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
mWebView.loadUrl(url);
return true;
}
}
});

2、Android本地通過Java調用HTML頁面中的JavaScript方法
想要調用js方法那麼就必須讓webView支持
WebSettings webSettings = mWebView.getSettings();
//設置為可調用js方法
webSettings.setJavaScriptEnabled(true);

若調用的js方法沒有返回值,則直接可以調用mWebView.loadUrl("JavaScript:do()");其中do是js中的方法;若有返回值時我們可以調用mWebView.evaluateJavascript()方法:
mWebView.evaluateJavascript("sum(1,2)", new ValueCallback<String>() {
@Override
public void onReceiveValue(String value) {
Log.e(TAG, "onReceiveValue value=" + value);
}
});

js代碼如下:
<script type="text/javascript">
function sum(a,b){
return a+b;
}
function do(){
document.getElementById("p").innerHTML="hello world";
}
</script>

2、js調用Android本地Java方法
在Android4.2以上可以直接使用@JavascriptInterface註解來聲明,下面是在一個本地Java方法
public class JsInteration {
@JavascriptInterface
public String back() {
return "hello world";
}
}

定義完這個方法後再調用mWebView.addJavascriptInterface()方法:
mWebView.addJavascriptInterface(new JsInteration(), "android");

那麼在js中怎麼來調用呢?
<script type="text/javascript">
function s(){
//調用Java的back()方法
var result =window.android.back();
document.getElementById("p").innerHTML=result;
}

</script>

4、攔截HTML頁面中的點擊事件
mWebView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
//判斷url攔截事件
if (url.equals("file:///android_asset/test2.html")) {
Log.e(TAG, "shouldOverrideUrlLoading: " + url);
startActivity(new Intent(MainActivity.this,Main2Activity.class));
return true;
} else {
mWebView.loadUrl(url);
return false;
}
}
});

以上就是Java調用js方法以及js調用Java方法的實現交互方式中的一種。下面給出完整代碼:
mainActivity
public class MainActivity extends AppCompatActivity {
public static final String TAG = "MainActivity";
private WebView mWebView;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mWebView = (WebView) findViewById(R.id.webView);
mWebView.loadUrl("file:///android_asset/test.html");
WebSettings webSettings = mWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
mWebView.addJavascriptInterface(new JsInteration(), "android");
mWebView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url.equals("file:///android_asset/test2.html")) {
Log.e(TAG, "shouldOverrideUrlLoading: " + url);
startActivity(new Intent(MainActivity.this,Main2Activity.class));
return true;
} else {
mWebView.loadUrl(url);
return false;
}
}
});
}
//Android調用有返回值js方法
@TargetApi(Build.VERSION_CODES.KITKAT)
public void onClick(View v) {

mWebView.evaluateJavascript("sum(1,2)", new ValueCallback<String>() {
@Override
public void onReceiveValue(String value) {
Log.e(TAG, "onReceiveValue value=" + value);
}
});
}
public class JsInteration {

@JavascriptInterface
public String back() {
return "hello world";
}
}
}

test.html
<!DOCTYPE html>
<html>
<head>
<title></title>
<script type="text/javascript">
function sum(a,b){
return a+b;
}
function s(){
var result =window.android.back();
document.getElementById("p").innerHTML=result;
}

</script>
</head>
<body>
<button onclick="s()">調用本地方法</button>
<a href="file:///android_asset/test2.html">點擊</a>
<p id="p"></p>
</body>
</html>

閱讀全文

與androidh5相關的資料

熱點內容
程序員招聘自薦信 瀏覽:693
魔獸鍵位設置命令宏 瀏覽:645
程序員沒有目標了 瀏覽:828
搶答器c程序編程 瀏覽:703
什麼app可以自己玩 瀏覽:76
刨客app是什麼 瀏覽:963
cad輸入命令欄不見了 瀏覽:834
做故事集可以用什麼app 瀏覽:692
qq郵箱發送壓縮包 瀏覽:672
程序員桌面機器人 瀏覽:589
xjr快速開發平台源碼 瀏覽:159
java介面runnable 瀏覽:31
python怎麼運行web伺服器 瀏覽:349
notepad編程代碼 瀏覽:740
什麼安卓的毛病最少 瀏覽:611
hp的pjl設備訪問命令 瀏覽:635
googlewebp圖片壓縮技術 瀏覽:215
tbc薩滿加血宏命令 瀏覽:757
pdf閃 瀏覽:289
手機伺服器地址填什麼 瀏覽:258