Android開發手記(開發自習助手)

來源:互聯網
上載者:User

apk

vczK0qGiyKvPws7ntrzDu7/OtcS9zMrSo6y4w7bgusOho9PaysejrNOm08O1rsn6wcuho2ZlYXR1cmVz09CjujwvcD4KPHA+ICAgICAxo6m4+b7dvczO8bSm0MXPoqOszOG5qbGxvqnB1tK1tPPRp9fu0MK1xL/Vv87K0tDFz6KhozwvcD4KPHA+ICAgICAyo6nM4bmpv9W/zsrSwdCx7aOst9bIq8nPzufDu7/Oo6zIq8/CzufDu7/Oo6zN7cnPw7u/zr/OytLB0LHtoaM8L3A+CjxwPiAgICAgM6OpuPm+3bWxx7DKsbzko6zWx8Tczca89r/OytKjrLHIyOfPws7nMbXjo6zP1Mq+tcTIq8/CzufDu7/OtcS/zsrSoaM8L3A+CjxwPiAgICAgNKOpwqWy47XNtcS/zsrSxcXU2sHQse3HsMPmoaM8L3A+CjxwPjxicj4KPC9wPgo8cD688sLU19y94dK7z8K/qrei1eK49tOm08PRp7W9tcTSu9Cp1qrKtqGj19y94bbU19S8utfu09C6w7Smo6zI57n7xNyw79b6sfDIy8THuPy6w6GjPC9wPgo8cD7K18/Io6y9zM7xtKbN+NW+zOG5qcHLv9W/zsrS0MXPoqOsyOfNvKGjPC9wPgo8cD48aW1nIHNyYz0="http://www.bkjia.com/uploadfile/Collfiles/20140104/2014010408592831.jpg" alt="\">

折騰了兩天后,就是上面那幅圖的樣子。

一開始抓取用的是字串的基本處理方法,先把所有數字得到,然後因為課室號都是三位元字的,然後捨去前面一些,就搞到了。

怎樣得到從字串得到所有的數字呢?

像這樣。

輸入:782sjfk2382kjfsdlkfj382
輸出:[782,2382,382]

"[^0-9]+"是Regex,[^0-9],表示匹配一個除了0到9的字元,+表示匹配前面的運算式一次或多次。看圖就一下子明白了。

所以之後的split,分隔字串,就得到數位字串數組。尤其值得一提的是這個“+”,因為網頁裡,非數字字元特別多。
若用[^0-9],

所以,上面的判斷的語句沒什麼必要,即if判斷可省略:

這裡的print也有一點神奇:

...表示不定長參數。作為從Lisp剛轉過來學Android的人,對這個就感覺特別親切。java語言的一大制訂者Guy Steele精通很多門語言,也是Common Lisp的語言制訂者。Lisp中:

只要用一個&rest就行了。還有&optional參數,讓某個參數是可選的。&key讓某個參數成為關鍵字。&rest經常和Macro結合來用。

後來學聰明了,用起了jsoup,加入Android的時候,要這樣:

放到libs檔案夾下,再重新整理一下。下面方式很出錯,

說是什麼api更新後這樣做不會自動把jsoup包囊括進來。

看這個html:

想獲得所有的文本,可以用:

一些程式碼片段:

其中,src.attr("abs:src"),表明獲得src的絕對位址。而上面src="y18.gif",是相對位址。

上面片段改編自這裡。

自訂標題及標題列視圖:

判斷是否連網:

日期加法函數:


計算相隔的天數:

得到網頁內容:

使用bundle在Activity中傳遞資料:

使用spinner:

SharedPreferences:

在另外一個Activiy中:


更新ListView:


總的來說,判斷內容更新+jsoup網頁抓取+Spinner+ListView。

Github地址

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.