天天看點

【完全開源】知乎日報UWP版(上篇):界面設計、官方API分析

目錄

  • 說明
  • 使用Fiddler分析android版API
  • 部分效果圖
  • 關于源碼

在做部落格園UWP版的時候其實就有做知乎日報的打算了,前段時間一直出差,在酒店裡用Fiddler簡單的分析了一下Android官方版本使用到的API,剛開始以為很複雜,後來發現其實很簡單。windows商店裡知乎日報的應用有好幾個,但是網上基本沒有什麼開源的,這篇文章将介紹一下知乎日報用到的API(Android版)以及目前已經完成的部分界面(為了測試效果,我還特意買了一部lumia 535,399元還送一部移動電源,當天就更新到了Windows 10 Mobile)。等所有的功能都做完了之後我再将源碼傳上來。

注:後來上網查了一下,發現其實早有人分析了知乎日報的API。

使用Fiddler分析Android版API

首先要準備的工具:

  • android手機+知乎日報APP;
  • Fiddler(大名鼎鼎Telerik出的,Telerik);
  • 區域網路。

原理很簡單,打開Fiddler,将它設定成為一個代理,然後将同一區域網路中的Android手機代理設定為Fiddler所在的電腦。

【完全開源】知乎日報UWP版(上篇):界面設計、官方API分析

之後Android手機所有的HTTP請求都會先經過代理(Fiddler所在的電腦),Fiddler當然也能捕獲到請求的各種資料。(注意如果捕獲的回話過多,請通過Fiddler右側的Filter進行過濾)。

如果對Fiddler不熟悉的童鞋可以看這裡:http://kb.cnblogs.com/page/130367/

之後,打開Android手機中的知乎日報APP,你就會看到所有的HTTP請求:

【完全開源】知乎日報UWP版(上篇):界面設計、官方API分析

如上圖,注意一定要使用filter進行過濾(圖中右側)。可以看到,知乎日報APP中各種操作都能看到對應的API,大概有以下:

  • Android APP版本更新檢查;
  • APP啟動圖檔
  • 日報主題清單抓取
  • 首頁最近文章
  • 首頁分頁文章(按天)
  • 主題頁面文章
  • 主題頁面分頁文章
  • 文章正文
  • 文章額外資訊(評論數、點贊數等等)
  • 擷取短評論
  • 分頁擷取短評論
  • 擷取長評論
  • 分頁擷取長評論

(有關登入的API本人沒有分析)

每個API都是通過Get方式請求的,傳回的大部分都是Json格式的資料(有一部分是HTML)。下圖是我整理出來的一些API:

【完全開源】知乎日報UWP版(上篇):界面設計、官方API分析

等源碼傳上來之後,大家可以下下去看看。每個API傳回的格式如下(以抓取主題日報清單為例):

【完全開源】知乎日報UWP版(上篇):界面設計、官方API分析

傳回的JSON資料很好處理,使用Windows.Data.Json命名空間的類型就可以全部解決。這是擷取API部分的準備。

以上。

功能還沒有做完,先看幾張圖:

【完全開源】知乎日報UWP版(上篇):界面設計、官方API分析
【完全開源】知乎日報UWP版(上篇):界面設計、官方API分析
【完全開源】知乎日報UWP版(上篇):界面設計、官方API分析
【完全開源】知乎日報UWP版(上篇):界面設計、官方API分析

等做完之後上傳全部源碼(這次項目結構稍微設計了一下:))。

12年的時候我買了一部Lumia 800(WP7的系統),發現系統很差勁,後來沒怎麼用了,花了我3000塊。之後Wp8/8.1一直沒怎麼關注,現在用了一段時間的Win 10 Mobile,發現進步相當大,應用商店裡的一些大廠開發的APP體驗也很好吧,要是開發者給點力,還是可以做出好的APP的。就我目前個人認為,認真做出來的APP還是可以讓一些本已适應了Android、IOS的人接受的,昨晚把我做的半成品給我媳婦用,她也沒感覺出來跟IOS哪裡差了。

開源有益,多謝點贊。

作者:周見智

出處:http://www.cnblogs.com/xiaozhi_5638/

首發公衆号,掃描二維碼關注公衆号,分享原創計算機視覺/深度學習/算法落地相關文章

【完全開源】知乎日報UWP版(上篇):界面設計、官方API分析