1 布局
在ScrollView控件裡嵌入一個TextView即可,其帶有一個滾動條.
2利用網頁的路徑和編碼方式,得到網頁的位元組數組
分析:
(1)關于網頁的編碼方式,可以利用HttpWatch工具來擷取
(2)利用URL得到HttpURLConnection connection這樣便于資源建立起了聯系,且設定connection的屬性值
(3)利用HttpURLConnection connection得到輸入流.即可以這麼想:此時的網頁已經儲存到了此輸入流inputStream裡
(4)将在輸入流裡的網頁資料輸出到位元組數組裡面.即byte [] imageData=GetResource.readResource(inputStream).如下
readResource(inputStream)方法如下:
(1)沒有方法可以把輸入流裡的資料直接放到位元組數組裡(查閱API即知),而是要利用ByteArrayOutputStream outputStream
把在輸入流自己把自己的資料讀(read())到一個位元組數組裡面,即inputStream.read(buffer),然後數組裡面的資料放入
輸出流ByteArrayOutputStream outputStream裡面,即outputStream.write(buffer,0,len);
(2)待資料全部轉移到輸入流outputStream裡面,此時就可以把輸出流的資料全部轉換為位元組數組,即outputStream.toByteArray();
(3)在此例子就很好展現了輸入流和輸出流的使用.
在輸入流相應的API中都是把輸入流讀取到一個數組中,或者隻讀取一個位元組,或者讀取一行
如FileInputStream類中的方法:
public int read(byte[] b,int off,int len)從此輸入流中将最多 len 個位元組的資料讀入一個位元組數組中
public int read()從此輸入流中讀取一個資料位元組
如在BufferedReader類中的方法:
public String readLine() 讀取一個文本行.傳回值:包含該行内容的字元串
在輸出流相應的API中都把是位元組數組寫入此輸出流,或者隻把數組中的某個位置的資料寫入輸出流
如ByteArrayOutputStream類的方法中:
public void write(byte[] b,int off,int len)将指定位元組數組中從偏移量off開始的len個位元組寫入此位元組數組輸出流
public void write(int b)将指定的位元組寫入此位元組數組輸出流
然後我們可以發現:
(1)可以把輸出流裡的資料轉換為位元組數組
public byte[] toByteArray():建立一個新配置設定的位元組數組。其大小是此輸出流的目前大小,并且緩沖區的有效内容已複制到該數組中。
(2)可以把輸出流裡的資料轉換為字元串
public String toString():将緩沖區的内容轉換為字元串,根據平台的預設字元編碼将位元組轉換成字元。