① android中怎麼使用html5離線功能
HTML5的離線應用功能可以使得WebApp即使在網路斷開的情況下仍能正常使用這是個非常有用的功能,但如何使Webivew支持HTML5離線應用功能呢,需要的朋友可以參考下
HTML5的離線應用功能可以使得WebApp即使在網路斷開的情況下仍能正常使用,這是個非常有用的功能。近來工作中也要用到HTML5離線應用功能,由於是在Android平台上做,所以自然而然的選擇Webview來解析網頁。但如何使Webivew支持HTML5離線應用功能呢,經過反復摸索和上網查找資料,反復做試驗終於成功了。
首先需配置webview的的一些屬性,假設activity中已經有了一個Webview的實例對象,名為m_webview,然後增加以下代碼:
復制代碼 代碼如下:
WebSettings webseting = m_webview.getSettings();
webseting.setDomStorageEnabled(true);
webseting.setAppCacheMaxSize(1024*1024*8);//設置緩沖大小,我設的是8M
String appCacheDir = this.getApplicationContext().getDir("cache", Context.MODE_PRIVATE).getPath();
webseting.setAppCachePath(appCacheDir);
webseting.setAllowFileAccess(true);
webseting.setAppCacheEnabled(true);
webseting.setCacheMode(WebSettings.LOAD_DEFAULT);
webview可以設置一個WebChromeClient對象,在其onReachedMaxAppCacheSize函數對擴充緩沖做出響應。代碼如下
復制代碼 代碼如下:
m_webview.setWebChromeClient(m_chromeClient);
private WebChromeClient m_chromeClient = new WebChromeClient(){
//擴充緩存的容量
@Override
public void onReachedMaxAppCacheSize(long spaceNeeded,
long totalUsedQuota, WebStorage.QuotaUpdater quotaUpdater) {
quotaUpdater.updateQuota(spaceNeeded * 2);
}
};
其次要修改http伺服器中的配置,使其支持text/cache-manifest,我使用的是apache伺服器,是windows版本的,在apache的conf文件夾中找到mime.types文件,打開後在文件的最後加上
「text/cache-manifest mf manifest」,重啟伺服器即可。這一步很重要,我就是因為伺服器端沒有配置這個,所以失敗了好多次,最後是在附錄鏈接1的回復中找到的線索。
經過以上設置Webview就可以支持HTML5的離線應用了。
附錄鏈接1中說緩沖目錄應該是getApplicationContext().getCacheDir().getAbsolutePath();但我經過試驗後發現設置那個目錄不起作用,可能是Android版本不同吧,我的是Android4.0.3,而他的可能是以前的Android版本吧。
緩沖目錄使用getApplicationContext().getDir("cache", Context.MODE_PRIVATE).getPath()是從附錄鏈接2中找到的線索。
② 安卓怎麼載入html5開發的文件
下載安裝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開發手冊
③ 如何用Android webview播放HTML5 video標簽
1.如何播放:
近來工作要用Android的webview播放HTML5 video標簽。做了下試驗,用Android自帶的Browser可以裝載含有video標簽的HTML5頁面,而且能正常播放,但同樣的網頁用webview來載入就沒法播放HTML5中的video。
在網上查了許多資料,所查的資料可以參考我轉載那些文章,經過無數次測試,終於成功了,做法如下:
第一步當然是要先有個Webivew對象,是寫在main.xml也好,或者動態創建也罷,總之有了一個Webview對象即可,假設其名為m_webview,然後設置一些屬性:
m_webview.getSettings().setJavaScriptEnabled(true);
m_webview.setWebChromeClient(m_chromeClient);
本來以為要設置m_webview.getSettings().setPluginsEnabled(true);但後來發現去掉後也不影響效果。上面主要的是setWebChromeClient這個,要設置一個WebChromeClient對象給webview,WebChromeClient對象這樣創建:
private WebChromeClient m_chromeClient = new WebChromeClient(){
@Override
public void onShowCustomView(View view, CustomViewCallback callback) {
// TODO Auto-generated method stub
}
};
④ 如何用Android webview播放HTML5 video標簽
用Android webview播放HTML5 video標簽: 1、在webView的Activity配置裡面加上: android:hardwareAccelerated="true" 2.必須添加這句代碼 webView.setWebChromeClient(new WebChromeClient()); 這兩步就可以播放了,在application的配置裡面也要加上:android:hardwareAccelerated="true",開始的時候我也加了,但是後來發現去掉這個也一樣可以播放flash
⑤ 如何在android中使用html5的本地資料庫
解決方案1:
通過將Apache Cordova或嵌入的WebView指向一個託管於互聯網的網頁來構建的app只能提供可憐的用戶體驗、解析度。
HTML5支持跨平台,諸如 Intel XDK new IDE,HTML5使得處理這龐大而多樣的Android設備隊伍變得快速而簡單。更添其復雜性的是解析度范圍從240×320跨到2560×1600。這類布局能良好運行, run any where(只寫一次。這無疑讓開發人員置身於一個尷尬境地,現在在平板電腦領域享有多數市場份額(53%),諸如攝像機和加速計,你要用最新最好的SDK,就放棄它開始關注新硬體了。這將允許你的app在非同步更新時。
有了HTML5。
龐大的Android設備隊伍
在Android設備運行的不同不僅僅是表面上的。它即時響應的能力很適合現在數不勝數的安卓設備屏幕尺寸,你的app將不能在2、Intel等製造。
好在HTML5提供一個更好的途徑來處理尺寸大小的問題——用響應設計。讓Android有如此熱度的一部分因素是其多樣性。你可以用強大的它來構建你的app。為了保持你的app以最快的速度響應,無視Android操作系統版本,原生Android SDK可能不會兼容什麼特別設備。
大多數移動app從互聯網伺服器上載入和保存數據。你第一次用HTML5取代、CPU架構和操作系統版本等。
「服務員,根據OpenSignal對超過五十萬台Android設備中,當然,小至三星的新齒輪智能手錶,名為Gingerbread(姜餅2,從而使它能夠在用戶點擊後就運行、Windows Phone等移動操作系統上,是它支持著大多數智能手機,沒有標準的HTL5界面,這包括定義你的app圖標,立即渲染其UI.1%).3 x)的版本依然占據著最大市場份額(34。一些交互編譯器可以允許創建針對Android和iOS的app、iOS,HTML5應用通常託管於Apache Cordova (aka PhoneGap)內;值存儲,是出了名地衰,還要你的app在沒有伺服器端生成HTML的情況下工作、載入屏幕和提供JavaScript來訪問原生操作系統硬體。製造商發布設備。為獲得接近於原生的速度、CSS和JavaScript上提供一種美妙的體驗。
要訪問原生操作系統功能,在更小的屏幕上縮小或消除那些並不重要的元素。一方面.0 SDK(冰淇淋三明治)開發app。如果你的app每次都需要用戶通過點擊一些東西來下載用戶界面;而依據Canalys的調研。
HTML5應用絕對需要被安裝到設備上,深度嵌套的HTML表格。因此,你不用再糾結於選擇。
Android SDK是操作系統特定的!
結論
HTML5允許你寫一次應用程序並快速部署它到幾乎現有的每個操作系統。幾乎每個用戶都有一個的Android設備的尺寸和形狀,另一方面。
當如此多樣的設備讓用戶歡喜時,即便是重新調整屏幕.ASPX或PHP來開啟一個新項目將需要十足的信仰之外。不幸,如果你想要依據用戶需求滾動到視圖中查看app?Android同樣滿足你。
移植到其它平台
Java的願景是「write once,哪兒都能跑)」,還支持網頁。也就是說、MediaTek,帶有盡可能少的嵌套級別標簽。
在諸如Android,想要一個13英寸帶可拆卸鍵盤的平板電腦、文件系統IO甚至通過地理定位訪問GPS的強大APIs。
HTML5提供APIs來做很多通常被認為是原生操作系統功能的事情,任何Android設備的心臟部分都是CPU由Qualcomm。HTML5包含對於鍵/。
HTML的復雜性使得關於渲染你的用戶界面需要多少CPU cycles有了很大不同,大至13英寸或更大的平板電腦,出於種種原因,最好是保持你的HTML盡可能地結構簡單化。
當響應設計正確完成時,這是在任何操作系統上解決屏幕尺寸/,用戶就對跨平台的app有了流暢的體驗、PowerVR、NVidia,它也為開發人員帶來了不少頭疼的麻煩。幸運的是。響應設計是由CSS Media Queries所增強的簡單結構的HTML在更大的屏幕利用更多的空間。屏幕尺寸.3(姜餅)上運行,你可能得用線形布局或網格視圖,如果它們是被精心無誤地製作處理的。
各種形狀和大小
Android設備有著各種尺寸,你將要在本地存儲一個緩存數據並非同步刷新你的數據,但只有HTML5能在移動操作系統和互聯網瀏覽器上運行,你所有的HTML5,如果你用4,我的凍酸奶裡面有果凍豆」
Android初次廣泛登台是在2009年,這為Android開發人員營造了挑戰、JavaScript和CSS都必須安裝在本地設備上,你要app得到盡可能多的下載,都會為開發人員創建原生Android app帶來挑戰,你可以在Android使用HTML開放式架構。舉個例子說,一般只對操作系統更新一兩次,Apache Cordova充當將你的HTML5聯繫到原生操作系統的角色。
要解決這個問題;解析度問題的最好辦法。憑借大量可用的工具。取決於你的app需要用到哪個操作系統的特性,這是不可能滿足他們「即時響應」的期望的。
開啟你的瀏覽器
HTML5應用的性能可以無限接近於原生性能。 Apache Cordova framework提供一個界面讓你的app在任何設備上訪問原生操作系統資源,Android是全球最受歡迎的移動操作系統
⑥ android 點擊通知欄消息進入html5界面怎麼實現
1、製作html5引導頁面。
2、把做好的頁面放入Android工程中assets文件夾下。
3、利用WebView載入asset文件夾下的html文件。
4、在引導頁最後一頁的按鈕上捕捉點擊事件,結束引導頁,進入程序。
⑦ 安卓系統有什麼支持HTML5 的瀏覽器嗎
安卓5以上的系統自帶瀏覽器。
⑧ 如何讓android 手機支持 html5 video 標簽 播放
Android 是可以通過html5的video來播放視頻的。
一、需要在AndroidManifest.xml文件中聲明需要使用HardwareAccelerate, 可以細化到Activity級別,如果不需要的View可以聲明不要用加速,但是需要在代碼中做
具體如下:
1如果要聲明整個應用都要加速:< application ... android:hardwareAccelerated ="true">
2.如果要在Activity中聲明,則:
<activity ... android:hardwareAccelerated="true" >
Window, getWindow.setFlags( WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED,WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);