涨姿势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程序比较简单,总共只有一个页 ...
随机推荐
-
lucene+IKAnalyzer实现中文纯文本检索系统
首先IntelliJ IDEA中搭建Maven项目(web):spring+SpringMVC+Lucene+IKAnalyzer spring+SpringMVC搭建项目可以参考我的博客 整合Luc ...
-
ember - 观察者模式
Ember可以察觉所有属性的变化,包括计算属性.观察者是非常有用的,特别是计算属性绑定之后需要同步的时候. 观察者经常被Ember开发过度使用.Ember框架本身已经大量使用观察者,但是对于大多数的开 ...
-
linux硬链接和软链接的区别
1.原理上: 硬链接(hard link):A是B的硬链接(A和B都是文件名),则A的目录项中的inode节点号与B的目录项中的inode节点号相同,即一个inode节点对应两个不同的文件名,两个文件 ...
-
E-R图向关系模式的转换
转自: http://hi.baidu.com/qicaiqinxian/blog/item/a8bb0bdf31ae081b63279887.html E-R图向关系模型转换时犯糊涂了,找到下面这篇 ...
-
js 默认的参数、可变的参数、变量作用域
可以通过arguments对象来实现可变的参数 在函数代码中,使用特殊对象 arguments,开发者无需明确指出参数名,就能访问它们. arguments是一个数组对象,可以通过下标来实别参数的位置 ...
-
junit的安装和使用
一.junit的安装: junit-4.11.jar: http://www.java2s.com/Code/Jar/j/Downloadjunit411jar.htm hamcrest-core.j ...
-
简单的 jQuery 浮动层随窗口滚动滑动插件实例
写了一个非常简单的 jQuery 插件实例 浮动层随窗口滚动滑动 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional/ ...
-
CSAPP-链接
主要任务: 1.符号解析 在声明变量和函数之后,所有的符号声明都被保存到符号表. 而符号解析阶段会给每个符号一个定义. 2.重定位: 把每个符号的定义与一个内存位置关联起来,然后修改所有对这些符号的引 ...
- Hbase表结构模型
-
day12 函数的嵌套调用 闭包函数,函数对象
函数嵌套: 函数嵌套: 嵌套指的是,一个物体包含另一个物体,函数嵌套就是一个函数包含另一个函数 按照函数的两个阶段 嵌套调用 指的是在函数的执行过程中调用了另一个函数,其好处可以简化外层大函数的代码, ...