小编Seb*_*oth的帖子

如何使用媒体键读取USB键盘的键代码

是否可以使用特殊的iOS API或通用TextInput字段读取非标准键的键代码?我有一个带有特殊按钮的多媒体键盘,可让我的iPad应用程序了解这些密钥代码.

我知道iOS已经可以使用其中一些(即音量增大/减小,下一首/上一首曲目).

iphone ipad ios

5
推荐指数
1
解决办法
681
查看次数

通过ADB检查设备是否为横向

是否可以通过ADB检查设备方向?

不是通过ADB安装任何软件,调用任何现有软件.会猜到某处有一个状态文件/proc,但还是找不到它.

android

5
推荐指数
1
解决办法
5459
查看次数

普通项目上的RSpec MustBeConfiguredBeforeExampleGroupsError

我正在设置一个Rails 3.1项目,并希望使用RSpec正确测试它.

运行rails g rspec:install并进一步运行后rspec,控制台消息如下所示:

% rspec
/Library/Ruby/Gems/1.8/gems/rspec-core-2.7.0/lib/rspec/core/configuration.rb:470:in `assert_no_example_groups_defined': RSpec's mock_framework configuration option must be configured before any example groups are defined, but you have already defined a group. (RSpec::Core::Configuration::MustBeConfiguredBeforeExampleGroupsError)
    from /Library/Ruby/Gems/1.8/gems/rspec-core-2.7.0/lib/rspec/core/configuration.rb:168:in `mock_framework='
    from /Library/Ruby/Gems/1.8/gems/rspec-core-2.7.0/lib/rspec/core/configuration.rb:142:in `mock_with'
    from /Users/ened/project/spec/controllers/../spec_helper.rb:19
    from /Library/Ruby/Gems/1.8/gems/rspec-core-2.7.0/lib/rspec/core.rb:71:in `configure'
    from /Users/ened/project/spec/controllers/../spec_helper.rb:11
    from /Library/Ruby/Gems/1.8/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:240:in `require'
    from /Library/Ruby/Gems/1.8/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:240:in `require'
    from /Library/Ruby/Gems/1.8/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:225:in `load_dependency'
    from /Library/Ruby/Gems/1.8/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:240:in `require'
    from /Users/ened/project/spec/controllers/submissions_controller_spec.rb:1
    from /Library/Ruby/Gems/1.8/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:234:in `load'
    from /Library/Ruby/Gems/1.8/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:234:in `load'
    from /Library/Ruby/Gems/1.8/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:225:in `load_dependency'
    from /Library/Ruby/Gems/1.8/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:234:in `load'
    from /Library/Ruby/Gems/1.8/gems/rspec-core-2.7.0/lib/rspec/core/configuration.rb:459:in `load_spec_files'
    from /Library/Ruby/Gems/1.8/gems/rspec-core-2.7.0/lib/rspec/core/configuration.rb:459:in `map'
    from …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails rspec2 rspec-rails ruby-on-rails-3

4
推荐指数
1
解决办法
1345
查看次数

使用 RxSwift 限制对服务类的并发访问

给定一个这样的服务类:

class Service {
    let networkService = NetworkService()

    func handleJobA(input: String) -> Observable<ResultA> {
        return networkService
            .computeA(input)
            .map { $0.a }
    }
}
Run Code Online (Sandbox Code Playgroud)

当我像这样从调用方使用它时:

let service = Service()

Observable
    .from(["Hello", "World"])
    .flatMap {
        service.handleJobA($0)
    }
    .subscribe()
Run Code Online (Sandbox Code Playgroud)

然后这将同时发送多个请求service。我希望流等待每个请求完成。使用merge操作符可以实现这一点。

Observable
    .from(["Hello", "World"])
    .flatMap {
        Observable.just(
            service.handleJobA($0)
        )
    }
    .merge(maxConcurrent: 1)
    .subscribe()
Run Code Online (Sandbox Code Playgroud)

到目前为止,一切都很好 - 该服务不会同时执行多项handleJobA任务。

然而,并发是一个服务细节,调用者不应该关心它。事实上,服务在稍后阶段可能会决定允许不同的并发值。

其次,当我添加一个新方法时handleJobB,它不能与作业 A 同时处于活动状态,反之亦然。

所以我的问题是:

  1. 如何将 maxConcurrency 限制为 handleJobA observable 作为实现细节?
  2. 哪种 RxSwift 模式允许对任何服务方法进行限制?

reactive-programming swift rx-swift

4
推荐指数
1
解决办法
1443
查看次数

过滤域对象只能按属性获取一个(不同的)对象

让我解释一下原因标题可能有点令人困惑.

假设我有类型电影的领域对象:

Movie1(id: 0, genre: "horror")

Movie2(id: 1, genre: "horror")

Movie3(id: 3, genre: "sci-fi")
Run Code Online (Sandbox Code Playgroud)

我需要做的是获得每个类型的第一个(在这种情况下Movie1Movie3)

我只想使用realm+ 来做w/o循环NSPredicate,所以性能更好,但我有点卡在那里......

到目前为止,我得到的是:

Realm().objects(Movie.self).sorted(byKeyPath: id, ascending: true)
.value(forKeyPath: "@distinctUnionOfObjects.genre") 
Run Code Online (Sandbox Code Playgroud)

这将返回一个数组,("horror", "sci-fi")我无法确定下一步应该是什么.如果我尝试做一个:

 .filter("genre IN %@", arrayWithDistinctGenres) 
Run Code Online (Sandbox Code Playgroud)

它会把我所有的物品归还给我.

可能它很简单,但我无法想象如何做到这一点.

任何帮助表示赞赏.

distinct realm nspredicate swift

3
推荐指数
1
解决办法
4080
查看次数

如何通过数组验证提供多个选项?

鉴于我有这样的代码:

columns = ['col1', 'col2', 'col3', 'col4']

@click.option('--columns', is_flag=False, 
  default=columns, show_default=True, metavar='<columns>', type=click.Choice(columns), 
  help='Sets target columns', multiple=True)
Run Code Online (Sandbox Code Playgroud)

然后,我可以这样调用我的应用程序:

./myapp --columns=col1
Run Code Online (Sandbox Code Playgroud)

但是,如何使多个项目之间用逗号分隔,如下所示:

./myapp --columns=col1,col3
Run Code Online (Sandbox Code Playgroud)

我的目标是从结果columns数组中检索传递的值['col1', 'col3']

我不想多次通过该选项。

python python-click

2
推荐指数
1
解决办法
3178
查看次数

使用PackageManager.getApplicationIcon检索高分辨率图标

对于类似主屏幕的应用程序,我正在尝试收集最高分辨率的应用程序图标.主屏幕会显示更大的图标,因此我需要一个高分辨率图标.

这是我的代码:

final PackageManager pk = getPackageManager();
final String size;
try {
    Drawable d = pk.getApplicationIcon("com.mycompany.android.icontest");
    size = String.format("Width: %d, height: %d", d.getMinimumWidth(), d.getMinimumHeight());
} catch (PackageManager.NameNotFoundException e) {
    return;
}
Run Code Online (Sandbox Code Playgroud)

此代码将图标读入drawable.在该特定包中将存在2个图标,res-hdpi图标和res-xhdpi图标.使用上述方法,只会HDPI读取版本.

如何XHDPI默认阅读该版本?

android

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