我们正在为现有的Android/iOS版应用添加Android Auto和iOS CarPlay支持.我们能够按照Android开发人员文档的指示,使用Android Media Browser模拟器成功测试Auto应用程序.
我们还有一个支持Auto和CarPlay的立体声头单元.我们能够在头部装置上成功使用CarPlay应用程序,并且我们可以在头部装置上使用已发布的自动应用程序.但是,我们无法在实际设备上看到我们的开发应用程序.
Auto文档仍然有点薄,但我收集的是基于我看到的一些措辞,当他们通过审核时,自动应用程序会获得Google Play添加的一些特殊标记(或类似):
在向Android Auto用户提供该应用之前,Google Play会根据自动应用质量标准提交您的应用以进行审核,并通知您结果.如果您的应用获得批准,Google Play会将该应用提供给Android Auto用户.
基于此,在通过Google Play发布和批准之前,是否可以在硬件上运行Auto应用程序?
这似乎是一个令人沮丧的鸡蛋问题.我们希望在发布之前确信实际硬件和目标设备上的内容都很好.
我创建了一个带有生成一些java代码的任务的插件,然后在稍后的任务中编译该java代码.一切正常.
但我看到,当我更改插件中的任务时,Gradle正在重建该插件,但是当它检查是否应该运行任务时,它只是说"UP-TO-DATE".当一个插件改变它永远不会是最新的时候是否更有意义?
当我使用从Maven Central下载的新版本插件时,我会看到相同的行为.我总是需要手动清洁,以确保一切都在建设中.
这是它的意图吗?有没有办法改变这种行为?
通常,Rails会以UTC时间在数据库中存储所有时间.如果将时区设置为其他区域,则在保存到数据库或从中检索时,它会在该区域和UTC之间自动转换.
这种方法有哪些优点?有什么缺点吗?有没有办法让Rails使用不同的时区?
我认为一些优点可能是:
我能想到的唯一缺点是,对于所有用户实际位于同一时区的内部应用程序,这种差异使得根据本地时间运行原始SQL查询变得更加困难.
我试图使ManyToMany关联对所有CRUD操作都起作用。我有两个实体:Places和Events。
场所可以容纳多个事件,并且一个事件可以在多个地方发生。
在第一种情况下,我有
在PlaceDto类别中
@ManyToOne(
targetEntity=EventDto.class,
cascade = { CascadeType.PERSIST, CascadeType.MERGE })
@JoinTable(
name = "EVENTS_PLACES",
joinColumns = { @JoinColumn(name = "PLACE_ID") },
inverseJoinColumns = { @JoinColumn(name = "EVENT_ID") })
private List<EventDto> events;
Run Code Online (Sandbox Code Playgroud)
在PlaceDto类中:
@JoinTable(name = "EVENTS_PLACES", joinColumns = @JoinColumn(name = "EVENT_ID"), inverseJoinColumns = @JoinColumn(name = "PLACE_ID"))
private List<PlaceDto> places;
Run Code Online (Sandbox Code Playgroud)
在这种情况下,在更新地点时,
使用以下DELETE FROM EVENTS_PLACES where ...语句删除了地点及其事件之间的链接
第二种情况
因此,在阅读了一些文档之后,我将PlaceDto更改为
@ManyToMany (
mappedBy = "events",
cascade = { CascadeType.PERSIST, CascadeType.MERGE },
fetch = FetchType.LAZY,
targetEntity = …Run Code Online (Sandbox Code Playgroud) 所以我在我的用户模型上有一个性别列,它当前是一个字符串,我想把它改成一个整数并使其成为男'1',女'0'因为它现在是男性"M"女性"F".运行此迁移时:
class ChangeGenderToIntegerOnUser < ActiveRecord::Migration
def change
change_column :users, :gender, 'integer USING CAST(gender AS integer)'
end
end
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
错误信息:
PG::InvalidTextRepresentation: ERROR: invalid input syntax for integer: "M"
: ALTER TABLE "users" ALTER COLUMN "gender" TYPE integer USING CAST(gender AS integer)/usr/local/rvm/gems/ruby-2.0.0-p247/gems/activerecord-4.0.0.rc1/lib/active_record/connection_adapters/postgresql/database_statements.rb:128:in `exec'
Run Code Online (Sandbox Code Playgroud)
我该怎么做才能将性别正确地改为整数?
提前致谢!
我创建了一个类例如
class Result
@@min = 0
@@max = 0
def initialize(min, max)
@@max.min = min
@@max.max = max
end
end
result = Result.new(1, 10)
result.max
Run Code Online (Sandbox Code Playgroud)
和其他郎一样.像php,C#等我已经创建了一个类并传递了一个值,因为它有初始化方法,它现在应该包含对象值,但是当我尝试打印出来时
puts result.min
puts result.max
Run Code Online (Sandbox Code Playgroud)
它说未定义的方法 min
我想将一个复杂的json字符串(从GET请求中获得)转换为我们的数据库。我需要遍历所有对象并找到一些特定的对象。问题在于所有对象在某种程度上都不同。它们可能看起来像这三个示例,但还有更多示例:
{
"created": 1493209170473990,
"id": "fu:9843464EDF4D053072ACEAC2362EE0D8",
"type": "user-created"
},
{
"created": 1493209170883075,
"data": {
"process_type": "wallet-tx"
},
"id": "fu:6BE085BF29D7C8AF4C238615CA85F31A",
"process": "0CEB2F401E0FB9D9A44A124D0710B521",
"type": "process-created"
},
{
"created": 1495535185484487,
"data": {
"message": "electronic delivery"
},
"document": "25FBED0A80FEEBD6FF154D21D8E35D7E",
"id": "fu:3C17584381C0AFB4836F73057DB7DEAB",
"type": "info"
}
Run Code Online (Sandbox Code Playgroud)
我需要找到一些具有特定类型的对象,但无法从字符串中获取它们。我通过此调用获取请求数据:
@RequestMapping(value="/events", method=RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
@CrossOrigin(origins = "http://localhost:4200", maxAge = 3600)
public String getEvents() {
int created_after = 0;
final String url = server + "/rest/client/events/" + created_after;
RestTemplate restTemplate = new RestTemplate();
restTemplate.getMessageConverters().add(0, new StringHttpMessageConverter(Charset.forName("UTF-8")));
HttpHeaders headers = …Run Code Online (Sandbox Code Playgroud) 在android中,对于finally块下的代码:
1548 finally {
1549 /*
1550 * clean-up everything...
1551 */
1552 synchronized (sGLThreadManager) {
1553 stopEglSurfaceLocked();
1554 stopEglContextLocked();
1555 }
1556 }
Run Code Online (Sandbox Code Playgroud)
这是否意味着它将由'FinalizerDaemon'运行?
当trace.txt显示FinalizerDaemon正在等待ReferenceQueue时,它意味着什么?
"FinalizerDaemon" daemon prio=5 tid=7 WAIT
| group="system" sCount=1 dsCount=0 obj=0x419d0c60 self=0x50cf3650
| sysTid=3933 nice=0 sched=0/0 cgrp=apps handle=1086157112
| schedstat=( 0 0 0 ) utm=32 stm=9 core=1
at java.lang.Object.wait(Native Method)
- waiting on <0x416da5d0> (a java.lang.ref.ReferenceQueue)
at java.lang.Object.wait(Object.java:401)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:102)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:73)
at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:169)
at java.lang.Thread.run(Thread.java:856)
Run Code Online (Sandbox Code Playgroud) 我正在运行Rails 5.1.4服务器(Puma v.3.1.0.0在单模式下),但是遇到了一个特定的ActionJob问题,这个问题得到了正确排队但往往从未执行过.
我有一些工作.除了1个特定作业之外的所有作业总是在排队后不久就像预期的那样异步执行.
服务器重新启动后第一次在新排队后正确执行特定作业.但是在第一次成功运行之后,它将无法在以下排队时执行.
我一直在排队所有的工作perform_later.
我也测试了使用特定工作排队rails console.每当我在控制台中排队时,它立即执行.即使在同一个会话中.当它在队列中排队时,也尝试使用与应用程序中使用的相同的参数rails server,但在服务器中它只排队.从未表演过.
我检查了日志文件 - 什么都没有,没有错误,没有死亡,没有警告.它只是陈述[ActiveJob] Enqueued FooBaaJob,但从未执行过这项工作.
如果作业实际上失败了,它至少应该在[ActiveJob] [FooBaaJob] [id] Performing FooBaaJob日志中写出来,但事实并非如此.根据https://github.com/rails/rails/blob/master/activejob/lib/active_job/logging.rb#L78,如果异常失败,它应该实际捕获并记录异常.其次它永远不会在控制台中运行,所以不应该这样.
关于在哪里看的任何想法?
ruby-on-rails puma rails-activejob ruby-on-rails-5 ruby-on-rails-5.1
android ×2
java ×2
android-auto ×1
build ×1
google-play ×1
gradle ×1
hibernate ×1
json ×1
orm ×1
plugins ×1
psql ×1
puma ×1
ruby ×1
spring-boot ×1
task ×1