android讀取html
① 安卓調用html的頁面怎麼獲取html頁面的數據
首先你需要導入:HttpClient、HttpGet
然後通過HttpGet通過url發送request
通過HttpClient的execute獲取response
解析返回的內容
java">HttpClientclient=newDefaultHttpClient();
HttpGetrequest=newHttpGet(url);
HttpResponseresponse=client.execute(request);
Stringhtml="";
InputStreamin=鬧塌response.getEntity().getContent();
BufferedReaderreader=newBufferedReader(newInputStreamReader(in));
StringBuilderstr笑絕=newStringBuilder();
Stringline=null;
while((line=reader.readLine())!=null)
{
液升圓str.append(line);
}
in.close();
html=str.toString();
② 怎麼在android手機上打開html文件
1. 在Android手機上打開HTML文件的方法是:
2. 使用瀏覽器:打開瀏覽器,然後點擊瀏覽器的「文件」按鈕,選擇要打開的HTML文件。
3. 使用文本編輯器:打開文本編輯器,然後點擊「文件」按鈕,選擇要打開的HTML文件。
4. 使用HTML閱讀器:下載一個HTML閱讀器,然後點擊「文件」按鈕,選擇要打開的HTML文件。
③ Android開發中對顯示HTML內容的幾種方式
首先,Android中顯示Html內容,有3中方式:(目前我用到的有這3種)
1、可以利用Android原生的Html.fromHtml(str, imageGetter, tagHandler)來進行顯示。(不過,我這邊用了,即使加了頁面載入動畫,還是覺得非常慢,有大量圖片,會導致OOM;如果圖片不多的話,可以考慮)
2、利用第三方插件HtmlTextView。
GitHub地址:https://github.com/PrivacyApps/html-textview
圖片載入很順暢,使用方法也非常簡單,不過,有兩個注意事項:
(1)其中,HtmlHttpImageGetter有3個構造函數,可以根據自己的情況選擇。
(2)載入大量圖片的時候,會導致OOM內存溢出。針對於這個情況,HtmlHttpImageGetter有一個壓縮圖片的方法可以調用,可以進去查看它的公共方法。(不過,我這邊顯示的圖片過大,每張1M左右,並且一下子有幾十張,即使設置了壓縮圖片,還是會導致OOM問題,目前還沒解決,有大神知道咋弄的,拜託指點一下,非常感謝!)
對了,這個第三方插件的基本用法,點擊上面的連接,進去一看就知道了,很簡單。
3、第三種,是我沒辦法的情況下想的:把html標簽里的內容利用正則表達式拿出來,其中,文本內容用一個TextView代替,<img>標簽圖片用一個ImageView代替,其他相關的標簽自行選擇替換。說白了,就是創建一個個的TextView以及ImageView填充到布局裡(LinearLayout之類的)。要說明的是:其中圖片顯示用Glide來實現。目前我這邊測試的情況還是可以的,載入的速度非常快,也沒因內存問題導致APP崩潰。
④ 安卓開發怎麼在APP內部調用手機系統瀏覽器打開指定html並獲取HTML的數據
Android開發_如何調用 瀏覽器訪問網頁和Html文件
一、啟動android默認瀏覽器
Intent intent= new Intent();
intent.setAction('android.intent.action.VIEW');
Uri content_url = Uri.parse('http://www.cnblogs.com');
intent.setData(content_url);
startActivity(intent);
這樣子,android就可以調用起手機默認的瀏覽器訪問。
二、指定相應的瀏覽器訪問
1、指定android自帶的瀏覽器訪問
( 「com.android.browser」:packagename ;「com.android.browser.BrowserActivity」:啟動主activity)
Intent intent= new Intent();
intent.setAction('android.intent.action.VIEW');
Uri content_url = Uri.parse('http://www.cnblogs.com');
intent.setData(content_url);
intent.setClassName('com.android.browser','com.android.browser.BrowserActivity');
startActivity(intent);
2、啟動其他瀏覽器(當然該瀏覽器必須安裝在機器上)
只要修改以下相應的packagename 和 主啟動activity即可調用其他瀏覽器
intent.setClassName('com.android.browser','com.android.browser.BrowserActivity');
uc瀏覽器':'com.uc.browser', 'com.uc.browser.ActivityUpdate「
opera :'com.opera.mini.android', 'com.opera.mini.android.Browser'
qq瀏覽器:'com.tencent.mtt', 'com.tencent.mtt.MainActivity'
三、打開本地html文件
打開本地的html文件的時候,一定要指定某個瀏覽器,而不能採用方式一來瀏覽,具體示例代碼如下
Intent intent= new Intent();
intent.setAction('android.intent.action.VIEW');
Uri content_url = Uri.parse('content://com.android.htmlfileprovider/sdcard/help.html');
intent.setData(content_url);
intent.setClassName('com.android.browser','com.android.browser.BrowserActivity');
startActivity(intent);
關鍵點是調用了」content「這個filter。
以前有在win32編程的朋友,可能會覺得用這種形式」file://sccard/help.html「是否可以,可以很肯定的跟你說,默認的瀏覽器設置是沒有對」file「這個進行解析的,如果要讓你的默認android瀏覽器有這個功能需要自己到android源碼修改manifest.xml文件,然後自己編譯瀏覽器代碼生成相應的apk包來重新在機器上安裝。
大體的步驟如下:
1、打開 packages/apps/Browser/AndroidManifest.xml文件把加到相應的後面就可以了
2、重新編譯打包,安裝,這樣子,新的瀏覽器就支持」file「這個形式了
有興趣的可以去試試。
⑤ android怎麼載入html
android載入html
主要有2種方案:
方案一:
啟動第三方瀏覽器或者安卓內置的瀏覽器進行載入先生html文件。
方案二:
使用android 自帶的webview控制項進行載入html文件或者網頁。
不常用方案有1種:
使用android控制項TextView進行載入html文件。
主要原理:
通過讀取html文件裡面的標簽進行解析相關的元素從而通過瀏覽器,或者android自帶的控制項進行顯示,其中webview控制項本質上就是一個瀏覽器,TextView顯示html內容就是通過解析標簽,元素通過內置方法轉化成相應帶有屬性的文本信息然後顯示到界面上。
詳細解決步奏:
方案一:
Uriuri=Uri.parse("http://www.XXXX.com");//要鏈接的地址或者html
Intentintent=newIntent(Intent.ACTION_VIEW,uri);
startActivity(intent);
缺點如果android中沒有瀏覽器,則無法啟動顯示相關內容。
方案二:
webview=(WebView)findViewById(R.id.WebView01);
webview.getSettings().setJavaScriptEnabled(true);
webview.loadUrl("http://www.xxxx.com");//要鏈接的地址或者html
缺點:目前沒有什麼缺點,比其他2種好,天生為載入html文件而出生的
方案三:
不常用的方法,藉助函數Html.fromHtml()來解析html內容,並且進行顯示。
TextViewtext1=(TextView)findViewById(R.id.TextView02);
text1.setText(Html.fromHtml(「<fontsize='20'>網頁內容html</font>」));
缺點:載入速度慢於webview載入速度。
最後
推薦使用webview進行載入html內容,其特性優於其他2種載入方式