我是sqlalchemy的新手,可以使用一些帮助.我正在尝试编写一个小应用程序,我必须动态更改select语句.所以我这样做s = select([files])
,然后我添加过滤器s = s.where(files.c.createtime.between(val1, val2))
.这很好用,但只能使用AND-conjunction.因此,当我想要所有条目时createtime (between 1.1.2009 and 1.2.2009) OR createtime == 5.2.2009
,我遇到的问题是我不知道如何使用不同的过滤器调用来实现这一点.由于程序逻辑,它不可能使用s= s.where(_or(files.c.createtime.between(val1, val2), files.c.createtime == DateTime('2009-02-01')))
谢谢你,Christof
我想将从NFC读卡器获得的APDU路由到SIM卡.根据HCE文档,我认为只需通过创建一个具有相应路由条目的OffHostApduService(我做过)就可以实现.
可悲的是,SIM似乎没有得到任何APDU.SELECT-SIM由SIM-Reader直接连接到我的工作站时使用的命令返回6a82(找不到文件).
在LogCat中,我发现了两个有趣的信息:
每当我拍摄一个应该被路由到SIM的选择命令时,我会得到以下条目:
01-14 10:44:18.501: D/BrcmNfcJni(1009): RoutingManager::stackCallback: event=0x17
01-14 10:44:18.501: D/BrcmNfcJni(1009): RoutingManager::stackCallback: NFA_CE_DATA_EVT; h=0x302; data len=12
01-14 10:44:18.501: D/HostEmulationManager(1009): notifyHostEmulationData
Run Code Online (Sandbox Code Playgroud)
我认为这是路由设置不正确的线索,因为我认为当到SIM的路由处于活动状态时,Android操作系统不应该知道,并且向SIM发送选择或其他命令.
每次我从阅读器的NFC字段中删除手机时,都会收到以下错误:
01-14 10:46:48.791: E/BrcmNfcNfa(1009): UICC[0x0] is not activated
Run Code Online (Sandbox Code Playgroud)
我试图跟踪此错误的原因,并找到了external/libnfc-nci/src/nfa/ce/nfa_ce_act.chere
似乎属于Broadcom NFC驱动程序的文件.
我认为错误是应用程序无法为APDU设置正确的路由,因为驱动程序认为SIM未被激活.在我发送命令的那一刻,SIM卡被解锁(PIN输入),但我怀疑这与它有什么关系,因为我不需要在读卡器中使用它之前解锁SIM卡.
我使用Nexus 5进行测试.是否有人有经验和/或工作示例,其中APDU可以路由到SIM而不是CPU?