編輯:Android開發教程
這些天業余時間比較多,閒來無事,想起了以前看過開發任意網站客戶端的一 篇文章,就是利用jsoup解析網站網頁,通過標簽獲取想要的內容。好了廢話不多 說,用到的工具為 jsoup-1.7.2.jar包,具體jsoup的相關文檔,請去這邊看 http://jsoup.org/,這裡有全部Api可以查詢。
這裡解析的網站是一個食譜網站,首先解析的是大類欄目標簽。

如果你使用過jquery那麼 ,接下來的事情就小菜一碟了,我們按F12進入浏覽 器的開發者模式,去分析當前html頁面的結構,如下圖:

每個<li></li>標簽裡面的值就是我們需要的,接下來我們需要 異步去獲取網頁信息,首先創建一個連接,生成一個Document對象,取得標題所 在<ul>的id值,通過select過濾。
Elements divs = content.select("#siteNav");
然後通過Jsoup去解析上圖的標簽,通過循環取出標題欄還有子目錄的超鏈接 ,插入數據庫,超鏈接用作展開子目錄的網頁地址,像這種網站大的標題結構一 般是不會改變的,可以留作緩存,而不用每次進入總要加載解析。
//異步獲取信息
class Loadhtml extends AsyncTask<String, String, String>
{
ProgressDialog bar;
Document doc;
@Override
protected String doInBackground(String... params) {
// TODO Auto-generated method stub
try {
doc = Jsoup.connect(Constans.NetAddress).timeout(5000).post();
Document content = Jsoup.parse(doc.toString());
Elements divs = content.select("#siteNav");
Document divcontions = Jsoup.parse(divs.toString());
Elements element = divcontions.getElementsByTag("li");
Log.d("element", element.toString());
for(Element links : element)
{
String title = links.getElementsByTag("a").text();
String link = links.select("a").attr("href").replace("/", "").trim();
String url = Constans.NetAddress+link;
ContentValues values = new ContentValues();
values.put("Title", title);
values.put("Url", url);
usedatabase.insert("Cach", values);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(String result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
// Log.d("doc", doc.toString().trim());
bar.dismiss();
ListItemAdapter adapter = new ListItemAdapter(context, usedatabase.getlist());
listmenu.setAdapter(adapter);
}
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
super.onPreExecute();
bar = new ProgressDialog(context);
bar.setMessage("正在加載數據····");
bar.setIndeterminate(false);
bar.setCancelable(false);
bar.show();
}
}
Android開發入門(一)詳解活動 1.6 顯示復雜對話框
除了“對話框”進度條,也可以創建一個顯示“操作進度”的對話框,例如顯示正在下載的狀態。1. 創建一個工程:Dialog。2
Android中的android:clipChildren屬性
前言前幾天有在微博上推薦過一個博客,看他文章時發現了這個屬性。有些屬性不常用,但需要的時候非常有用,於是做了個例子,正好項目用到,與大家分享一下。正文一、效果圖看到這個圖
Android項目快速開發框架探索(Mysql+ OrmLite + Hessian + Sqlite)
結合之前所用的ormlite和hessian,再加上SAE已經支持JAVA,把服務端切換到JAVA,也就有了本文。使用hessian來做數據傳輸,ormlite來實現客戶
Android ApiDemos示例解析(28):App->Notification->NotifyWithText
除了使用Notification之外,Toast也可以用來通知用戶某件事發生了,Toast為一個透明的對話框,可以在屏幕上顯示幾秒 鐘後自動消失。功能上有點類似Tool