[UWP]涨姿势UWP源码——极简的RSS阅读器
涨姿势UWP,一个开源的RSS阅读器,一个纯粹的项目,一个有道德的APP,一个脱离了低级趣味的作者,一些有益于人民的代码。骚年,还等什么,来涨点姿势吧!
该项目代码可能会引起部分人群的不适,敏感人群请在父母陪同下阅读。
看到第三段的骚年们,我想你们是对这个RSS的阅读器感兴趣了,该项目是一个极为简单的UWP的工程,代码托管在GitHub上,供有兴趣学习UWP APP开发的童鞋们参考。工程主要包括以下几个文件:
工程 |
文件 |
备注 |
ZhangZiShiRssRead |
RssReader.cs |
负责RSS内容的读取和解析 |
FileStoreHelper.cs |
将RSS内容存储成本地XML文件,以及读取本地储存的XML文件 |
|
Item.cs |
对应每一篇文章的Model |
|
MainViewModel.cs |
ViewModel,该APP是一个单页面程序,仅有一个ViewModel |
|
MainPage.xaml |
UI对应的XAML文件 |
|
ViewModelLocator.cs |
提供MainViewModel的Singleton对象 |
|
WebViewEx.cs |
通过附加属性让WebView可以绑定HTML字符串 |
|
ZhangZiShiRssRead.UTTest |
一些简单的UT |
项目总体来看非常容易理解,首先通过RssReader类从涨姿势网站获取RSS内容,然后进行解析,成功后通过FileStoreHelper类将内容储存为本地文件,同时将RSS文件的内容映射到类Item这个Model对象中。MainViewModel中会组织Item的集合,提供一个界面的抽象供View使用。
MainPage就是真正的UI界面,通过控件绘制UI,引用其他一些资源文件等等,再将DataContext设置为MainView的实例,通过Binding来进行关联。
唯一使用的第三方框架只有MvvmLight,用到了Binding,Command和Messenger等一些内容,也比较简单,可以参考之前写的MvvmLight框架使用入门(一)。
后续会就这个APP的代码,写几篇博客讲讲开发中的心得体会,简单分析一下代码,请各位轻拍。
第一版比较粗糙,无论是功能还是UI样式都没有复杂的内容,目的就是希望能够创建一个容易上手的Hello World APP,同时又有一定的实用性。欢迎各位对发现的bug提交pull request。开源的代码可以拿去随意使用,只是不要原样Copy整个项目然后连名字都不改就提交到商店……
晒几张APP的截图,首先是desktop:
如果是手机的话,会将左右内容分开显示,以适应手机屏幕:
Git的使用方法可以参考这篇:
UWP开发入门(十九)——10分钟学会在VS2015中使用Git
接下来还会做进一步的维护,修修bug,增加些功能。毕竟我自己也要用这个来涨姿势……
最后把项目在GitHub上的地址贴一下:
https://github.com/manupstairs/ZhangZiShiRSSRead
[UWP]涨姿势UWP源码——极简的RSS阅读器的更多相关文章
- UWP 推荐 - 限时免费的RSS阅读器《RSS 追踪》登录 Windows 10
文/云之幻 前不久,博客作者 Bravo Yeung 写了一篇还算略受欢迎的关于 RSS 的文章 .Net开发者必知的技术类RSS订阅指南. RSS 现在用的人很少了,而且就算是我,也不过是在一周前才 ...
- Spring源码情操陶冶#task:scheduled-tasks解析器
承接前文Spring源码情操陶冶#task:executor解析器,在前文基础上解析我们常用的spring中的定时任务的节点配置.备注:此文建立在spring的4.2.3.RELEASE版本 附例 S ...
- springMVC源码分析--HandlerMethodReturnValueHandlerComposite返回值解析器集合(二)
在上一篇博客springMVC源码分析--HandlerMethodReturnValueHandler返回值解析器(一)我们介绍了返回值解析器HandlerMethodReturnValueHand ...
- Spring AOP 源码分析 - 筛选合适的通知器
1.简介 从本篇文章开始,我将会对 Spring AOP 部分的源码进行分析.本文是 Spring AOP 源码分析系列文章的第二篇,本文主要分析 Spring AOP 是如何为目标 bean 筛选出 ...
- Tomcat源码分析(类加载与类加载器)
Tomcat的挑战 Tomcat上可以部署多个项目 Tomcat的一般部署,可以通过多种方式启动一个Tomcat部署多个项目,那么Tomcat在设计时会遇到什么挑战呢? Tomcat运行时需要加载哪些 ...
- [UWP]涨姿势UWP源码——IsolatedStorage
前一篇涨姿势UWP源码分析从数据源着手,解释了RSS feed的获取和解析,本篇则会就数据源的保存和读取进行举例. 和之前的Windows Runtime一样,UWP采用IsolatedStorage ...
- [UWP]涨姿势UWP源码——Unit Test
之前我们讨论了涨姿势UWP的RSS数据源获取,以及作为文件存储到本地,再将数据转化成Model对象.这部分非UI的内容非常适合添加Unit Test.不涉及UI的话,UT写起来简单高效,很是值得投入一 ...
- [UWP]涨姿势UWP源码——RSS feed的获取和解析
本篇开始具体分析涨姿势UWP这个APP的代码,首先从数据的源头着手,即RSS feed的获取和解析,相关的类为RssReader,所有和数据相关的操作均放在里面. 涨姿势网站提供的RSS feed地址 ...
- [UWP]涨姿势UWP源码——UI布局
懒癌晚期兼正月里都是过年,一直拖到今天才继续更新.之前的几篇介绍了数据的来源,属于准备工作.本篇我们正式开始构建涨姿势UWP程序的UI界面. 我们这个Hello World程序比较简单,总共只有一个页 ...
随机推荐
- 【源码分享】WPF漂亮界面框架实现原理分析及源码分享
1 源码下载 2 OSGi.NET插件应用架构概述 3 漂亮界面框架原理概述 4 漂亮界面框架实现 4.1 主程序 4.2 主程序与插件的通讯 4.2.1 主程序获取插件注册的服务 4.2 ...
- [.net 面向对象编程基础] (14) 重构
[.net 面向对象编程基础] (14) 重构 通过面向对象三大特性:封装.继承.多态的学习,可以说我们已经掌握了面向对象的核心.接下来的学习就是如何让我们的代码更优雅.更高效.更易读.更易维护.当然 ...
- 页面动态加入<script>标签并执行代码
在页面中动态追加html片段的时候,有时候动态添加的代码会含有<script>标签,比如用了一些模板引擎,或者你的代码有些复杂的时候.然而我们用DOM提供的innerHTML方式来添加代码 ...
- 《OOC》笔记(0)——为何要看这本书
<OOC>笔记(0)——为何要看这本书 <OOC>全名是<Object-oriented Programming with ANSI-C>,作者Axel-Tobia ...
- Qt类继承图
对于学习Qt的,有一个Qt所有类的继承图表,是很有需要的.以下提供了Qt5.1的所有类的继承关系图.看的时候,可以放大和缩小.如需文档下载,可以加入最后的QQ学习群.
- xamarin UWP图片读取
xamarin使用listview时经常会使用图片,而图片的图片源设置在uwp平台中是有平台特性的,这点请注意区分处理.也就是说在android和IOS上正常的处理在uwp下却是错误的方式. 如同一张 ...
- Atitit oodbms的查询,面向对象的sql查询jpa jpql hql
Atitit oodbms的查询,面向对象的sql查询jpa jpql hql 1.1. 标准API历史1 1.2. JPA定义了独特的JPQL(Java Persistence Query Lang ...
- fir.im Weekly - Swift 3.0 的迁移适配指南
无论你是移动开发者,还是桌面端开发者,或者正在IoT领域探索的技术人员,那么应该更加关注 iDev 全平台开发者大会,也许是后半年 iOS 开发者最盛大的技术盛宴.既有知名公司带来专业视野,又有从 S ...
- JavaScript开发的技巧
1. 使用===取代== ==和!=操作符会在需要的情况下自动转换数据类型.但===和!==不会,它们会同时比较值和数据类型,这也使得它们要比==和!=快. "){ //速度慢 } & ...
- app的同源和域的问题
app的同源和域的问题