編輯:關於Android編程
原文地址:http://android.xsoftlab.net/training/basics/network-ops/xml.html
擴展標記語言(XML)是一系列有序編碼的文檔。它是一種很受歡迎的互聯網數據傳輸格式。像需要頻繁更新內容的網站來說,比如新聞站點或者博客,需要經常更新它們的XML源,以使外部程序可以保持內容的同步變化。對於含有網絡連接態的APP應用來說,上傳及解析XML數據是一個通用的任務。這節課將會學習如何解析XML文檔及如何使用XML中的數據。
我們推薦使用XmlPullParser解析器,在Android上它是一種高效的可維護的解析器。Android中含有該接口的兩個實現:
KXmlParser由XmlPullParserFactory.newPullParser()獲得。 ExpatPullParser由Xml.newPullParser()獲得。兩個選擇都可以。這裡使用的是ExpatPullParser。
解析源的第一步就是判斷哪種屬性是你所關注的。解析器會將這些屬性所對應的數據提取出,將剩余的部分忽略。
下面是示例APP中的部分摘錄。每個實例都是以entry的形式出現在源裡,並且entry會包含若干個嵌套標簽。
" + getResources().getString(R.string.page_title) + "");
htmlString.append("" + getResources().getString(R.string.updated) + " " +
formatter.format(rightNow.getTime()) + "");
try {
stream = downloadUrl(urlString);
entries = stackOverflowXmlParser.parse(stream);
// Makes sure that the InputStream is closed after the app is
// finished using it.
} finally {
if (stream != null) {
stream.close();
}
}
// StackOverflowXmlParser returns a List (called "entries") of Entry objects.
// Each Entry object represents a single post in the XML feed.
// This section processes the entries list to combine each entry with HTML markup.
// Each entry is displayed in the UI as a link that optionally includes
// a text summary.
for (Entry entry : entries) {
htmlString.append("" + entry.title + "
");
// If the user set the preference to include summary text,
// adds it to the display.
if (pref) {
htmlString.append(entry.summary);
}
}
return htmlString.toString();
}
// Given a string representation of a URL, sets up a connection and gets
// an input stream.
private InputStream downloadUrl(String urlString) throws IOException {
URL url = new URL(urlString);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setReadTimeout(10000 /* milliseconds */);
conn.setConnectTimeout(15000 /* milliseconds */);
conn.setRequestMethod("GET");
conn.setDoInput(true);
// Starts the query
conn.connect();
return conn.getInputStream();
}
《Android圓形頭像圖Circle ImageView》需要處理的原始圖(pic): 使用CircleImageView處理後的圖(作為頭像):
小米是目前國內用的較多的手機,米粉們用手機用多了發現小米手機變慢了,怎麼提高小米手機的速度呢!要注意以下幾點。 1:開機時間 需要打開權
acitivyt 是什麼 引用官方的說法: 是一個應用組件,用戶可與其提供的屏幕進行交互,以執行撥打電話、拍攝照片、發送電子郵件或查看地圖等操作。 每個 Activity
之前跟大家介紹一個Alibaba的框架dexposed框架,此框架能夠動態的從線上完成一些補丁的工作。但是,由於它的性能和兼容性(不支持ART)所以,很多朋