小编rog*_*rkk的帖子

MIME类型中"vnd"的含义是什么?

阅读内容提供商,我一直在想为什么Android MIME类型的类别和类型都以vnd为前缀.例如:

vnd.android.cursor.dir/vnd.<something>
vnd.android.cursor.item/vnd.<something>
Run Code Online (Sandbox Code Playgroud)

任何人都知道这代表什么,重点是什么?

mime-types

155
推荐指数
2
解决办法
4万
查看次数

处理程序,MessageQueue,Looper,它们都在UI线程上运行吗?

我试图绕过线程,我知道我可以使用a Handler来发送消息/ runnables MessageQueue,然后由它接收Looper并发送回处理程序进行处理.

如果我发布到一个处理器在我的活动,是Activity,Handler,MessageQueue并且Looper在UI线程上所有正在运行的?如果没有,有人可以解释这一切是如何结合在一起的吗?:)

multithreading android android-handler android-looper

39
推荐指数
2
解决办法
2万
查看次数

为什么使用ContentProvider.getType()来获取MIME类型?

看一下内容提供者,我对getType()方法的典型用法并不十分清楚.API文档说明了实现这种方法

这允许[applications]在调度意图时检索URI的MIME类型.

任何人都可以描述一个典型的情况,使用它会特别有用吗?

android mime-types

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

更改ActiveAdmin范围中的默认排序顺序

对于大多数模型,默认排序顺序(id desc)很好.但是对于我的一个模型上的几个范围,反转顺序或者更新updated_at字段会更有意义.

我似乎无法在不破坏其他功能的情况下实现这一点,所以我希望别人可以教我如何做到这一点!

我试过在我正在返回的对象上添加.order():

scope :example do |models|
  models.order('id asc')
end
Run Code Online (Sandbox Code Playgroud)

这似乎没有任何影响.

我也尝试过unscoping,哪种作品.它按照我想要的方式对对象进行排序,但它完全打破了所有过滤/搜索功能.

scope :example do |models|
  models.unscoped.order('id asc')
end
Run Code Online (Sandbox Code Playgroud)

该怎么办?

ruby-on-rails activeadmin

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

Edge 15中的"Intl not available"

Intl not available当我的脚本在Edge 15中运行以下代码时,我在JS控制台中看到错误:

new Date().toLocaleDateString()

我有点难过这个.它在Edge 14中工作得很好,我找不到任何对国际化API的引用突然从Edge 15中消失.

我不确定这是否是测试它的正确方法,但window.hasOwnProperty("Intl")在控制台中运行实际上会返回true.对我而言,这似乎表明Intl实际上就在那里.

拥有更多JS技能的人能够分辨出这里真正发生的事情吗?

javascript internationalization ecmascript-intl microsoft-edge

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

除HTTP之外的其他REST实现?

在REST上写一个小的内部演示文稿,我有点好奇..

我知道WWW是REST的最大实现,并且REST是与HTTP 1.1一起定义的,但是除了HTTP之外还有架构风格的其他任何实现吗?

rest

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

可以"永远"开始和绑定服务吗?

我知道服务可以以两种模式运行,即启动和绑定.

从开发人员文档或本网站上的其他问题我不太了解的是,当最后一个组件从中取消绑定时,作为启动和绑定运行的服务是否会退出?

android android-service

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

setUp(),tearDown()中的浏览器会话,每个测试用例设置没有?

我以前用ruby/rspec编写了一些硒测试,发现它非常强大.现在,我正在使用Selenium和PHPUnit,并且有一些我缺少的东西,可能只是因为缺乏经验.在Ruby/RSpec中,我习惯于为每个测试用例定义一个"全局"设置,除此之外,我打开浏览器窗口并登录我的站点.

我认为PHPUnit在这里有点缺乏,1)你只有setUp()和tearDown(),每个单独的测试之前和之后运行,2)似乎实际的浏览器会话设置setUp()在测试和关闭之间之前tearDown().

这使得测试本身更加混乱,因为您明确必须在开始时打开页面,并在最后执行清理.在每一次测试中.对于每次测试关闭并重新打开浏览器似乎也是不必要的开销,而不是仅仅返回到登录页面.

有没有其他方法可以实现我正在寻找的东西?

selenium phpunit

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

Rails缓存:为一个操作过期多个页面

我已经在我的应用程序中设置了动作缓存(有扫地机,但我想这里无关紧要),到目前为止它除了一件事之外还很有用:

我使用Kaminari进行分页,因此当我执行expire_action我的动作时它只会到达第一页.我知道使用查询字符串指定页面时缓存不起作用,我设置了一个路由,以便将页面附加到URL的末尾(例如/ people/123/page/2).

如果有必要,我会在这篇文章中添加更多信息,但我猜这里有一些显而易见的东西,所以:任何人都知道如何使我的其余页面过期?

pagination caching ruby-on-rails ruby-on-rails-3 kaminari

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

ActiveAdmin:如何处理大型关联

我正在构建一个界面来管理可以连接很多人的组织.总人数由几千人组成.

据我所知,AA对于这种情况并没有真正的好系统.

到目前为止,我在表单块中使用了类似的东西来添加/删除组织中的人员:

f.has_many :person_organizations, for: [:person_organizations, f.object.person_organizations.active] do |connection_f|

  all_people = Person.select([:id, :firstname, :lastname]).order(:firstname, :lastname)

  connection_f.input :person, as: :select,
                              collection: all_people,
                              member_label: proc { |d| "#{d.firstname} #{d.lastname}"
  unless connection_f.object.nil?
    # Show the destroy checkbox only if it is an existing person
    # else, there's already dynamic JS to add / remove new dentists
    connection_f.input :_destroy, as: :boolean, label: 'Delete this connection'
  end
end
Run Code Online (Sandbox Code Playgroud)

这样做的问题是,在向组织添加一些人之后,生成所有选择框所花费的时间开始变得很大,因为它必须为每个元素执行几乎相同的工作.见下方("slett denne koblingen"的意思是"删除此连接")

添加了一些人的组织

有谁知道减轻这种疼痛的方法?

我有几个想法,但我不太明白我将如何实现它们:

  • 设置关联后,仅显示带有人名的文本字符串,而不是选择框.但仍需要能够删除关联,并创建新的关联.
  • 以某种方式缓存生成的选择框.选择正确的值可能会给AA带来一些问题吗?

此外,我知道有一个github问题讨论了这种挑战的解决方案,但它似乎还有一段距离,如果它将被实现:https://github.com/activeadmin/activeadmin/issues/ 2692#issuecomment-71500513

ruby-on-rails activeadmin

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