【完全开源】知乎日报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哪里差了。
开源有益,多谢点赞。
【完全开源】知乎日报UWP版(上篇):界面设计、官方API分析的更多相关文章
- 【完全开源】知乎日报UWP版(下篇):商店APP、github源码、功能说明。Windows APP 良心出品。
目录 说明 功能 截图+视频 关于源码和声明 说明 陆陆续续大概花了一个月的时间,APP算是基本完成了.12月份一直在外出差,在出差期间进行了两次功能完善,然后断断续续修补了一些bug,到目前为止,我 ...
- 【完全开源】知乎日报UWP版:增加Live磁贴、Badge、以及Toast通知
目录 说明 实现方法 APP生命期 后台任务 说明 之前网上有人建议增加磁贴(tile).徽章(badge)功能.利用周末的时间,将这两个功能添加上去了.如果将磁贴固定到开始屏幕,磁贴就会循环播放首页 ...
- 【完全开源】知乎日报UWP版:项目结构说明、关键源代码解释
目录 说明 项目结构 关键代码 演示视频 说明 上一篇博客将源码放出来了,但是并没有做过多的介绍,所以如果自己硬看可能需要花费很长的时间,尤其这些代码并不是自己写的.项目不算复杂但是也不算简单,这篇文 ...
- 【开源】知乎日报UWP 更新
说明 大概十天之前我更新了一次APP,后来又仔细看了一下Store里的评论,发现还有几个地方没有改过来.于是前天晚上抽时间改了一下,顺便完善了一下UI体验. 没有看前面文章的童鞋可以看一下下面的链接: ...
- 知乎日报win10版 - 天天读报【开源】
业余时间写的一个知乎日报win10版客户端,支持收藏,评论,点赞等. 商店地址:https://www.microsoft.com/zh-cn/store/apps/%E5%A4%A9%E5%A4%A ...
- 开源 SHOPNC B2B2C结算营运版 wap IM客服 API 手机app 短信通知
源码我们这里简单的测试了下,具体的请自行下载测试.这套源码官方售价很高,在这里完全免费分享,无任何限制,安装也简单. 源码下载后请自行检测安全,在使用过程中发生的任何问题请自行处理,本站不承担任何责任 ...
- 知乎日报 API 分析
声明 下面全部 API 均由 知乎(Zhihu.Inc) 提供,本人採取非正常手段获取. 获取与共享之行为或有侵犯知乎权益的嫌疑.若被告知需停止共享与使用.本人会及时删除此页面与整个项目. 请您暸解相 ...
- APP设计尺寸规范大全,APP界面设计新手教程【官方版】(转)
正值25学堂一周年之际,同时站长和APP设计同仁们在群里(APP界面设计 UI设计交流群,APP界面设计⑥群 APPUI设计③群58946771 APP设计资源⑤群 386032923欢迎大家加入交流 ...
- Win10通用程序 UWP版HtmlAgilityPack UWP应用使用示例
Win10 UWP版HtmlAgilityPack,UWP应用使用示例下载. Win10 发布了一个多星期,sdk是随着一起发布的,我安装好vs2015和sdk 开发UWP 通用程序. 在做网络解析的 ...
随机推荐
- java基础集合经典训练题
第一题:要求产生10个随机的字符串,每一个字符串互相不重复,每一个字符串中组成的字符(a-zA-Z0-9)也不相同,每个字符串长度为10; 分析:*1.看到这个题目,或许你脑海中会想到很多方法,比如判 ...
- 动画requestAnimationFrame
前言 在研究canvas的2D pixi.js库的时候,其动画的刷新都用requestAnimationFrame替代了setTimeout 或 setInterval 但是jQuery中还是采用了s ...
- Python 爬虫模拟登陆知乎
在之前写过一篇使用python爬虫爬取电影天堂资源的博客,重点是如何解析页面和提高爬虫的效率.由于电影天堂上的资源获取权限是所有人都一样的,所以不需要进行登录验证操作,写完那篇文章后又花了些时间研究了 ...
- mybatis_基础篇
一.认识mybatis: MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改 ...
- 用C语言封装OC对象(耐心阅读,非常重要)
用C语言封装OC对象(耐心阅读,非常重要) 本文的主要内容来自这里 前言 做iOS开发的朋友,对OC肯定非常了解,那么大家有没有想过OC中NSInteger,NSObject,NSString这些对象 ...
- 【算法】C语言实现数组的动态分配
C语言实现数组的动态分配 作者:白宁超 2016年10月27日20:13:13 摘要:数据结构和算法对于编程的意义不言而喻,具有指导意义的.无论从事算法优化方向研究,还是大数据处理,亦或者网站开发AP ...
- 【夯实Mysql基础】MySQL性能优化的21个最佳实践 和 mysql使用索引
本文地址 分享提纲: 1.为查询缓存优化你的查询 2. EXPLAIN 你的 SELECT 查询 3. 当只要一行数据时使用 LIMIT 1 4. 为搜索字段建索引 5. 在Join表的时候使用相当类 ...
- 【干货分享】流程DEMO-事务呈批表
流程名: 事务呈批表 业务描述: 办公采购.会议费用等事务的申请.流程发起时,会检查预算,如果预算不够,将不允许发起费用申请,如果预算够用,将发起流程,同时占用相应金额的预算,但撤销流程会释放相应金 ...
- Kotlin类:功能更强、而更简洁(KAD 03)
作者:Antonio Leiva 时间:Dec 7, 2016 原文链接:http://antonioleiva.com/classes-kotlin/ Kotlin类尽可能简单,这样用较少的代码完成 ...
- HotApp小程序服务范围资质查询器
微信小程序提交审核需要选择资质服务范围,如果服务范围不对,审核会不通过, 开发小程序之前,最好先查询所开发小程序的资质范围,否则无法通过微信审核. 小程序的资质范围查询地址,数据同步微信官方 ht ...