java制作安卓客户端_制作网页的Android客户端(一)
當發現一個有趣的新聞網站(AnimeNews)沒有android客戶端時,打算做一個學習和自用。
0.簡單的需求分析
1.能看新聞
2.能查單詞
3.單詞表
1.建立新聞的抽象類
需要的屬性有:
新聞標題
新聞內容鏈接
新聞描述
新聞發布時間
新聞分類
新聞編輯
新聞封面
新聞正文
packagecom.saltwater.animenews;/**新聞元素類
* Created by xin on 2016/10/22.
*@version1.1*/
public classNewsItem {private String mTitle=null;private String mLink=null;private String mDescription=null;private String mPubData=null;private String mCategory=null;private String mEditor=null;private String mCover=null;private String mContent=null;publicString getTitle() {returnmTitle;
}publicString getEditor() {returnmEditor;
}publicString getDescription() {returnmDescription;
}publicString getCover() {returnmCover;
}publicString getContent() {returnmContent;
}publicString getPubData() {returnmPubData;
}publicString getLink() {returnmLink;
}publicString getCategory() {returnmCategory;
}public voidsetTitle(String title) {
mTitle=title;
}public voidsetEditor(String author) {
mEditor=author;
}public voidsetDescription(String description) {
mDescription=description;
}public voidsetCover(String picture) {
mCover=picture;
}public voidsetContent(String content) {
mContent=content;
}public voidsetPubData(String pubData) {
mPubData=pubData;
}public voidsetLink(String link) {
mLink=link;
}public voidsetCategory(String Category) {this.mCategory =Category;
}
}
2.獲取新聞內容
一開始的選擇是爬蟲獲取所有的內容,然后建立自己的服務器。學習Python2天后,失敗于爬蟲,放棄。
第二選擇使用RSS(AnimeNewsRSS)。其他屬性都有了,就缺少一個封面圖的鏈接。為了美觀還是選擇放棄。如果打算使用RSS的話有個Rome的開源包很好用。
最后選擇jsoup解析HTML。優點是網頁上展示的所有想要的東西都可以抓下來,還可以自動更新內容。缺點是新聞條目少,只有200多條,但是自用還是夠了。然后如果網站的Html格式換了要重新去解析,RSS基本很少會變格式。
Jsoup的使用
首先添加jsoup的jar包(如果使用Android Studio直接在Library Dependency搜jsoup添加就好了)
然后添加一個工具類使用jsoup解析Html,參考http://www.open-open.com/jsoup/學習jsoup解析。
1.與目標URL建立鏈接,獲取到Html文檔
Document doc = Jsoup.connect(mURL).get();
2.從Html文檔提取需要的屬性
這里需要的屬性需要從Html中去找,如果使用Chrome瀏覽器,可以很方便的用右鍵的檢查功能來定位想要的屬性在Html文檔中的位置。
/*這是一個完整的新聞div*/
總結
以上是生活随笔為你收集整理的java制作安卓客户端_制作网页的Android客户端(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java环境变量修改不了_win10系统
- 下一篇: java启动100线程_Java启动新线