【完全開源】知乎日報UWP版(上篇):界面設計、官方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所在的電腦。

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

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

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

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

  • Android APP版本更新檢查;
  • APP啟動圖片
  • 日報主題列表抓取
  • 首頁最近文章
  • 首頁分頁文章(按天)
  • 主題頁面文章
  • 主題頁面分頁文章
  • 文章正文
  • 文章額外信息(評論數、點贊數等等)
  • 獲取短評論
  • 分頁獲取短評論
  • 獲取長評論
  • 分頁獲取長評論

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

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

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

返回的JSON數據很好處理,使用Windows.Data.Json命名空間的類型就可以全部解決。這是獲取API部分的准備。

以上。

 

部分效果圖

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

 

關於源碼

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

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

開源有益,多謝點贊。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM