涨姿势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阅读器的更多相关文章

  1. UWP 推荐 - 限时免费的RSS阅读器《RSS 追踪》登录 Windows 10

    文/云之幻 前不久,博客作者 Bravo Yeung 写了一篇还算略受欢迎的关于 RSS 的文章 .Net开发者必知的技术类RSS订阅指南. RSS 现在用的人很少了,而且就算是我,也不过是在一周前才 ...

  2. Spring源码情操陶冶#task:scheduled-tasks解析器

    承接前文Spring源码情操陶冶#task:executor解析器,在前文基础上解析我们常用的spring中的定时任务的节点配置.备注:此文建立在spring的4.2.3.RELEASE版本 附例 S ...

  3. springMVC源码分析--HandlerMethodReturnValueHandlerComposite返回值解析器集合(二)

    在上一篇博客springMVC源码分析--HandlerMethodReturnValueHandler返回值解析器(一)我们介绍了返回值解析器HandlerMethodReturnValueHand ...

  4. Spring AOP 源码分析 - 筛选合适的通知器

    1.简介 从本篇文章开始,我将会对 Spring AOP 部分的源码进行分析.本文是 Spring AOP 源码分析系列文章的第二篇,本文主要分析 Spring AOP 是如何为目标 bean 筛选出 ...

  5. Tomcat源码分析(类加载与类加载器)

    Tomcat的挑战 Tomcat上可以部署多个项目 Tomcat的一般部署,可以通过多种方式启动一个Tomcat部署多个项目,那么Tomcat在设计时会遇到什么挑战呢? Tomcat运行时需要加载哪些 ...

  6. [UWP]涨姿势UWP源码——IsolatedStorage

    前一篇涨姿势UWP源码分析从数据源着手,解释了RSS feed的获取和解析,本篇则会就数据源的保存和读取进行举例. 和之前的Windows Runtime一样,UWP采用IsolatedStorage ...

  7. [UWP]涨姿势UWP源码——Unit Test

    之前我们讨论了涨姿势UWP的RSS数据源获取,以及作为文件存储到本地,再将数据转化成Model对象.这部分非UI的内容非常适合添加Unit Test.不涉及UI的话,UT写起来简单高效,很是值得投入一 ...

  8. [UWP]涨姿势UWP源码——RSS feed的获取和解析

    本篇开始具体分析涨姿势UWP这个APP的代码,首先从数据的源头着手,即RSS feed的获取和解析,相关的类为RssReader,所有和数据相关的操作均放在里面. 涨姿势网站提供的RSS feed地址 ...

  9. [UWP]涨姿势UWP源码——UI布局

    懒癌晚期兼正月里都是过年,一直拖到今天才继续更新.之前的几篇介绍了数据的来源,属于准备工作.本篇我们正式开始构建涨姿势UWP程序的UI界面. 我们这个Hello World程序比较简单,总共只有一个页 ...

随机推荐

  1. PDF

    源代码请从这里下载: http://download.csdn.net/source/2984395 使用的是JSP编程 ‍ 这是导出后的效果 ‍ 这是数据库中的内容 ‍ 部分代码: <%@ p ...

  2. 在Linux上以服务的方式运行ASP.NET Core站点

    更新:用supervisor是更好的解决方法,详见 Linux下为 dotnet 创建守护进程 要在生成环境下在Linux服务器上跑ASP.NET Core站点,首先要解决的问题是以服务的方式运行AS ...

  3. (转)对SQLSERVER数据库事务日志的疑问

    本文转载自桦仔的博客http://www.cnblogs.com/lyhabc/archive/2013/06/10/3130856.html 对SQLSERVER数据库事务日志的疑问 摸不透SQLS ...

  4. 示例篇-购物车的简单示例和自定义JS

    简介: 支持平台: Android4.0,iOS7.0,Windows 10, Windows 10 mobile 说明:主要是演示listview所在的ui和模板cell所在的ui之间数据的交互,点 ...

  5. [异常解决] 安卓6.0权限问题导致老蓝牙程序出现异常解决办法:Need ACCESS_COARSE_LOCATION or ACCESS_FINE_LOCATION permission...

    一.问题: 之前写的一款安卓4.4的应用程序,用来连接蓝牙BLE,而现在拿出来用新的AS编译(此时SDK为6.0,手机也是6.0)应用程序并不能搜索到蓝牙,查看log总是报权限错误: Need ACC ...

  6. [nRF51822] 3、 新年也来个总结——图解nRF51 SDK中的Button handling library和FIFO library

    :本篇是我翻译并加入自己理解的nRF51 SDK中按钮相关操作的库和先进先出队列库.虽然是nRF51的SDK,但是通过此文你将更多地了解到在BSP(板级支持)上层嵌入式程序或OS的构建方法. 1.按钮 ...

  7. [源码]RandomId 生成随机字符串

    /* * 名称:RandomId * 功能:生成随机ID * 作者:冰麟轻武 * 日期:2012年1月31日 03:36:28 * 版本:1.0 * 最后更新:2012年1月31日 03:36:28 ...

  8. navigationController pop的几种方法

    一,popViewControllerAnimated [self.navigationController popViewControllerAnimated:YES]; 二,popToRootVi ...

  9. Java-继承 共3题

    一.实现一个名为Person的类和它的子类Employee,Employee有两个子类Faculty和Staff.具体要求如下: (1)Person类中的属性有:姓名name(String类型),地址 ...

  10. EF架构~Cannot attach the file as database

    回到目录 Cannot attach the file as database这个异常是在EF的code frist里经常出现的,解决方法很简单,只要重新启动一下V11实例即可. CMD> sq ...