前几天晚上,百度移动端搜索发生故障,搜索请求无法显示结果,经历了42分钟后故障解决。据估计,故障期间有上亿次的手机搜索受到影响。就在近日,工信部紧急约谈了百度公司,并责令立即针对此次事故深入调查,3日内向工信部提交书面报告。有趣的是,阿里和腾讯也因为躺枪,工信部下发了紧急通知,要求阿里和腾讯吸取百度的教训,并且要会举一反三。
漫长的一周终于结束了,先提前祝大家周末愉快!
本周的最后一篇文章来自
黎赵太郎
的投稿,分享了个人开发一款APP并上架的经验。由于篇幅限制,我这里只挑出了文章的主要部分,感兴趣的朋友可以访问下面的博客地址查看全部内容。
黎赵太郎
的博客地址:
http://www.jianshu.com/u/49606f4d970f
目标:实现纸飞机App - 采用MVP架构,集合了知乎日报、果壳精选和豆瓣一刻的综合性阅读客户端。项目地址:
https://github.com/marktony/PaperPlane
效果图如下所示:
本次教程分为7天,内容分别为:
第一天,准备
第二天,UI
第三天,整体架构
第四天,首页列表
第五天,详情页与其他
第六天,高级功能
第七天,发布与开源
-
在Google Play上线
-
在GitHub开源
-
思考
好了,废话不多说了。现在就开始吧。
俗话说,万事开头难,准备工作做好了,可以起到事半功倍的作用。磨刀不误砍柴工嘛。
功能需求
在开始正式编码之前,咱们还是得先把要实现的功能一一列出来,后面实现起来才有方向嘛。我认为咱们需要实现的功能有:
-
正确获取消息列表并展示
-
能够获取历史消息
-
展示内容详情
-
后台自动缓存内容详情,方便用户在无网络连接时查看
-
收藏特定消息
-
夜间模式
一共6个大的需求,不多,但是我们仔细的研究一下,实际上这6个需求涉及到了网络,UI,数据存储,后台服务等内容。相信对于聪明的你不算困难,现在我们来研究一下可行性。
可行性分析
我们首先需要考虑的问题就是:数据从哪里来?感谢开源,GitHub上 izzyleung 大神分析了知乎日报的API并开源了,项目地址请戳这里:
知乎日报 API 分析
https://github.com/izzyleung/ZhihuDailyPurify/wiki/%E7%9F%A5%E4%B9%8E%E6%97%A5%E6%8A%A5-API-%E5%88%86%E6%9E%90
分析的非常详细,纸飞机项目在初期,也就是版本3.0之前也只使用了这一个API,在3.0之后还使用果壳精选和豆瓣一刻的API。如果你还想要展示更多的内容,可以戳这里(
收集了一些国内外常用的API
):
Awsome_API
https://github.com/marktony/Awesome_API
我们来粗略的看一下数据的内容。获取知乎日报2017年1月22日的消息列表:
http://news-at.zhihu.com/api/4/news/before/20170122
服务器向我们返回JSON格式的内容:
OK,获取到了列表之后,我们就可以获取详细的内容了,例如,我们
获取id为
9165434
的内容,只需要将id拼接到
http://news-at.zhihu.com/api/4/news/
之后:
http://news-at.zhihu.com/api/4/news/9165434
获取到的内容为:
body
字段中就是html格式的内容详情,我们就可以使用 WebView 来展示了。当然,知乎日报的API接口不止上面的两个,你可以点击上面的链接查看。获取果壳精选和豆瓣一刻的内容,你可以在我的项目中直接查看文件Api。
其他准备
工欲善其事,必先利其器。工具准备好总是没错的。其他不多说,推荐一款功能强大的网页调试与发送网页 HTTP请求 的Chrome插件,我们做网络请求分析时需要用到:
Postman
https://www.getpostman.com/docs/introduction
好了,第一天的工作差不多就是这么多,熟悉一下API,把工具备好,收拾一下心情,准备明天的工作。