小编Cel*_*Cel的帖子

在冷IObservable上暂停和恢复订阅

使用Rx,我希望在以下代码中暂停和恢复功能:

如何实现Pause()和Resume()?

    static IDisposable _subscription;

    static void Main(string[] args)
    {
        Subscribe();
        Thread.Sleep(500);
        // Second value should not be shown after two seconds:
        Pause();
        Thread.Sleep(5000);
        // Continue and show second value and beyond now:
        Resume();
    }

    static void Subscribe()
    {
        var list = new List<int> { 1, 2, 3, 4, 5 };
        var obs = list.ToObservable();
        _subscription = obs.SubscribeOn(Scheduler.NewThread).Subscribe(p =>
        {
            Console.WriteLine(p.ToString());
            Thread.Sleep(2000);
        },
        err => Console.WriteLine("Error"),
        () => Console.WriteLine("Sequence Completed")
        );
    }

    static void Pause()
    {
        // Pseudocode: …
Run Code Online (Sandbox Code Playgroud)

c# multithreading asynchronous system.reactive

10
推荐指数
2
解决办法
3229
查看次数

在基于Rx计数的聚合中,重置计数高于最大时间间隔

基于计数的过滤没有时间限制

IObservable filteredStream = changes.Buffer(3);
Run Code Online (Sandbox Code Playgroud)

如何引入不活动重置?

在此输入图像描述

但是如何引入超时,TimeSpan tooLong以便只要两个值之间的间隔超过此最大值,计数就会从零重新开始?

.net c# linq system.reactive

10
推荐指数
1
解决办法
436
查看次数

使用Rx将多个事件源合并到一个IObservable中

这是关于如何在特定事件相关方案中使用Reactive Extensions(Rx)的问题.

  • 目的是采取一些触发某些事件的课程
  • 并将它们聚集成一个IObservable可以被任何客户订阅的(不知道事件类).
  • 注意感兴趣的事件使用子类 EventArgs

一些自定义EventArgs

public class HappenedEventArgs : EventArgs
{
    internal bool IsBadNotGood;
}
Run Code Online (Sandbox Code Playgroud)

发生事件的许多单独类别

public class EventSourceA : IEventSource {

    public event HappenedEventHandler Happened;
    private void OnHappened(HappenedEventArgs e)
    {
        if (Happened != null)
            Happened(this, e);
    }
    // And then this class calls OnHappened(e) whenever it decides to ...
}

public class EventSourceB : IEventSource {

    public event HappenedEventHandler Happened;
    private void OnHappened(HappenedEventArgs e)
    {
        if (Happened != null)
            Happened(this, e);
    }
    // And then …
Run Code Online (Sandbox Code Playgroud)

.net c# event-handling system.reactive

9
推荐指数
1
解决办法
4421
查看次数

在Visual Studio或Resharper中快速删除周围的语句

我经常发现我需要删除嵌套语句,比如if条件变得无关紧要:

if (processFile != null && processFile.Exists)
{
    Process[] processesByName = GetProcesses(processFile.NameWithoutExt);
    if (processesByName.Length > 0)
    {
        return processesByName.ToList();
    }
}

return null;
Run Code Online (Sandbox Code Playgroud)

Process[] processesByName = GetProcesses(processFile.NameWithoutExt);
if (processesByName.Length > 0)
{
    return processesByName.ToList();
}

return null;
Run Code Online (Sandbox Code Playgroud)

麻烦的是必须手动找到两侧的花括号并删除它们,同时保留嵌套代码

  • 特别是对于较大的身体,不像这里的例子
  • 有什么办法快速擦除Resharper?
  • 或者在Visual Studio本机?

.net c# resharper visual-studio visual-studio-2013

9
推荐指数
1
解决办法
2337
查看次数

查看或片段库以组成常见数据类型的UI

问题

我需要让用户输入电子邮件,选择日期,编辑网页,选择图像等 - 有许多常见的演示任务不是由Android SDK小部件库直接提交的,所以我想可能有一个专门用于此类UI问题的专用存储库或框架.

[ 虽然Android提供了可以转换为电子邮件的特定编辑器的小部件,但是这里的问题是查找专门针对这些常见数据类型的现成组件库,即专门用于呈现此类数据的UI元素,开箱即用,以及提供验证.]

现有来源?

所以我搜索与同类项的组合网络Android,widget,library,view,toolkit,fragment,repository,而是想出了只误报.

您是否可以向我推荐任何提供实现常见数据特定输入/编辑/配置元素的类/ XML布局列表的集体努力?

所以我可以在ActivityA1,ActivityA3,ActivityB1,ActivityN9中做类似的事情:

  • 新EmailEditText()
  • 新的UrlTextView()
  • 新的IPView()......

将数据与视图匹配?

我真正想要的是一组小部件,这些小部件可以根据需要呈现的数据来解决,也许类似于隐式的意图解析

因此,从我的域模型中,我将提供一些具有特定数据类型的数据,应以适当的方式显示.但是我没有明确设置View将显示这些数据,而是在中间有一个匹配器,用于过滤可用的特定用途视图列表,并为给定的数据类型选择最合适的视图.

那样的东西已经存在吗?

java user-interface android android-widget android-intent

8
推荐指数
1
解决办法
317
查看次数

秘密Android构建过程

Android(开源项目)本机启动程序源代码似乎在其某些已发布的资源文件中缺少以下必需的XML布局参数:layout_heightlayout_width

缺少属性

编译时异常

这打破了启动程序编译,至少是独立编译,抛出错误,例如:

  • 应该定义'layout-width'属性
  • 应该定义'layout-height'属性

注意:在编译Android launcher2时还有许多其他问题需要解决,这个问题是关于这些特定的缺失属性以及它们是如何丢失的?

Google如何编译其启动器以及LayoutParams值是什么?

那么,当缺少这些必需的属性时,Google如何编译代码?

此外,应该使用的值是什么,如果它们是:

android:layout_width="fill_parent"
android:layout_height="fill_parent"
Run Code Online (Sandbox Code Playgroud)

或者wrap_content,或者特定的像素值 - 换句话说,我在哪里可以得到这种信息/什么是秘密构建过程?

java android launcher android-source viewgroup

8
推荐指数
1
解决办法
638
查看次数

Debug.WriteLine输出不正确("将文本放在此处:{0}",myString)

如果变量不是字符串类型,String.Format适用于Debug.WriteLine:

int myNumber = 1;
Debug.WriteLine("Put number here: {0}", myNumber);
Run Code Online (Sandbox Code Playgroud)

使用非字符串更正输出

  • 把号码放在这里:1

但如果变量是字符串:

string myString = "ShouldWork";
Debug.WriteLine("Put text here: {0}", myString);
Run Code Online (Sandbox Code Playgroud)

字符串输出不正确

  • 应该工作:把文字放在这里:{0}

为什么?

.net c# string format logging

7
推荐指数
1
解决办法
7123
查看次数

将测验嵌入到html5视频中 - 在富有可自定义的播放器中提示点

Coursera在他们的视频讲座中有这些互动问题

  • 我怎么能自己实现这个,
  • 或者更好的是,这个功能是否存在供公众使用?

定制轨道混合

此外,我正在尝试决定投资哪个HTML5视频播放器/平台,关键标准是功能丰富(以便不重新发明轮子/花费大量时间实现视频播放器功能)以及高度可定制(为那些定制需求).

  • 即我应该使用哪个玩家来进行测验,
  • 但在不久的将来,我还需要添加Coursera所具有的速度功能
  • 我需要隐藏式字幕支持
  • 并希望不时叠加幻灯片
  • 加上在不同源分辨率(360p,720p等)之间切换的所有预期功能,它应该适用于IE,Firefox,Chrome,Safari,Android和iOS本机浏览器等

候选人

  • 在可自定义性和功能集方面,SublimeVideo似乎名列前茅,但我不知道他们什么时候会支持字幕.

  • 还没有研究过Flowplayer,那对我的目的会更好吗?

  • Jwplayer适用于所有标准功能,并且包括字幕支持,但我还没有看到任何插件,除了美观外观,深度定制似乎并不是他们的焦点/力量?

  • 或者videojs

  • 或其他什么呢?

video html5 jwplayer media-player flowplayer

7
推荐指数
1
解决办法
4763
查看次数

store在Rx中检索IObservable订阅状态

[ 这个问题属于Reactive Extensions(Rx)领域 ]

需要在应用程序重新启动时继续的订阅

int nValuesBeforeOutput = 123;

myStream.Buffer(nValuesBeforeOutput).Subscribe(
    i => Debug.WriteLine("Something Critical on Every 123rd Value"));
Run Code Online (Sandbox Code Playgroud)

现在我需要序列化和反序列化此订阅的状态,以便下次启动应用程序时,缓冲区计数不会从零开始,而是从应用程序退出之前的缓冲区计数开始.

  • 在这种情况下你怎么能坚持IObservable.Subscribe()的状态然后加载呢?
  • 是否有一个通用的解决方案来保存Rx中的观察者状态?



从答案到解决方案

基于Paul Betts方法,这是一个半概括的实现,在我的初始测试中起作用

使用

int nValuesBeforeOutput = 123;

var myRecordableStream = myStream.Record(serializer);
myRecordableStream.Buffer(nValuesBeforeOutput).ClearRecords(serializer).Subscribe(
    i => Debug.WriteLine("Something Critical on Every 123rd Value"));
Run Code Online (Sandbox Code Playgroud)

扩展方法

    private static bool _alreadyRecording;

    public static IObservable<T> Record<T>(this IObservable<T> input,
                                           IRepositor repositor) 
    {
        IObservable<T> output = input;
        List<T> records = null;
        if (repositor.Deserialize(ref records))
        {
            ISubject<T> history = new ReplaySubject<T>();
            records.ForEach(history.OnNext);
            output = input.Merge(history); …
Run Code Online (Sandbox Code Playgroud)

.net c# serialization persistence system.reactive

6
推荐指数
1
解决办法
458
查看次数

使用 rxjs 进行条件发射延迟

千字

从图片到代码?

如何从Data和Gate中获取Out observable?

  • 数据是任何类型的可观察对象,例如要发送到远程后端的 JSON 对象
  • Gates 是一个布尔可观察量,其中刻度线对应 true,叉号对应 false。例如,在互联网连接中,true 表示网络可访问,false 表示网络断开。
  • Out 是结果可观察值,它发出与 Data 相同的信号,有时立即,有时延迟,具体取决于前面的门。例如,我可以订阅 Out,以便在连接到 Internet 时将发出的 JSON 对象发布到远程 API。

reactive-programming observable rxjs rxjs5 angular

6
推荐指数
1
解决办法
2197
查看次数