小编Joe*_*e M的帖子

在开发中使用自定义电子协议

我正在开发一个需要自定义协议的 Electron 应用程序。我希望能够使用 Electron cli 在开发环境中对此进行测试。我目前正在通过以下方式注册协议:

const protocolRegisterSuccess = app.setAsDefaultProtocolClient('my-protocol');
Run Code Online (Sandbox Code Playgroud)

然后我启动我的开发电子应用程序并在 Chrome 中electron main.bundle.js打开。my-protocol://test我希望它打开我当前正在运行的开发应用程序,或者至少启动另一个应用程序,但是它会启动一个新的电子应用程序,显示默认的电子屏幕(“要运行本地应用程序,请执行此命令...”)。

我正在 Mac 上进行开发,当我查看时,~/Library/Preferences/com.apple.LaunchServices/com.apple.launchservices.secure.plist我可以看到协议已注册并且应用程序 ID 设置为com.github.electron. 看起来这是由电子 CLI 启动的电子可执行文件的应用程序 ID,用于在本地运行我的应用程序(存在于./node_modules/electron/dist/Electron.app/Contents/MacOS/Electron),我相信这就是协议不起作用的原因。

有什么办法可以让协议在本地运行吗?我可以更新应用程序标识符(通过某些配置参数或重建可执行文件)吗?是否可以指定传递给在 Mac 上启动的可执行文件的参数?我不需要行为与完全打包的应用程序完全相同,但我希望能够在开发中测试基本的自定义协议。

谢谢你!

node.js electron

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

Android/ORMLite插入带ID的行

我目前正在使用ORMLite在Android上使用SQLite数据库.作为其中的一部分,我从后端服务器下载了一堆数据,我想将这些数据以与后端服务器上完全相同的格式添加到SQLite数据库中(即ID相同,等等) .

所以,我的问题是,如果我填充我的数据库条目对象(我们将其称为设备),包括通过setId()的设备的generatedId /主键字段,然后我运行DAO.create()与该设备条目将该ID是否正确保存?我试过这种方式,在我看来情况并非如此.如果是这种情况,我会再次尝试并寻找其他问题,但是通过代码的前几次传递我无法找到.基本上,如果我在具有ID设置的数据库对象上调用DAO.create(),那么该ID将被发送到数据库,如果不是,那么如何插入已填写主键值的行?

谢谢!

java database sqlite android ormlite

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

Android蓝牙COM端口

我花了一些时间研究Android与蓝牙设备通信的能力,蓝牙设备旨在通过PC上的蓝牙COM端口进行通信.我一直无法找到明确的答案,所以我想我会在这里问.我想确保Android可以实现这一点.

我是蓝牙通信的新手,但到目前为止我所做的研究让我看到了RFCOMM,这听起来有点像我想要的.不幸的是,我仍然无法确认这实际上是可行的.

任何帮助/资源将非常感谢.

android bluetooth

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

BigQueryIO.Write 序列化 withJsonSchema

我的梁管道中有一个 BigQueryIO.Write 阶段,它是通过调用构建的.withJsonSchema(String)

inputStream.apply(
    "save-to-bigquery",
    BigQueryIO.<Event>write()
        .withJsonSchema(jsonSchema)
        .to((ValueInSingleWindow<Event> input) ->
                new TableDestination(
                        "table_name$" + PARTITION_SELECTOR.print(input.getValue().getMetadata().getTimestamp()),
                        null)
        )
        .withFormatFunction((ConsumerApiRequest event) ->
                new TableRow()
                        .set("id", event.getMetadata().getUuid())
                        .set("insertId", event.getMetadata().getUuid())
                        .set("account_id", event.getAccountId())
                        ...
                        .set("timestamp", ISODateTimeFormat.dateHourMinuteSecondMillis()
                                .print(event.getMetadata().getTimestamp())))
        .withFailedInsertRetryPolicy(InsertRetryPolicy.retryTransientErrors())
        .withWriteDisposition(BigQueryIO.Write.WriteDisposition.WRITE_APPEND)
        .withCreateDisposition(BigQueryIO.Write.CreateDisposition.CREATE_NEVER)
    );
Run Code Online (Sandbox Code Playgroud)

我正在通过DataflowRunner这个阶段运行它,并且在执行这个阶段时我收到以下错误:

java.lang.IllegalArgumentException: 
        com.google.api.client.json.JsonParser.parseValue(JsonParser.java:889)
        com.google.api.client.json.JsonParser.parse(JsonParser.java:382)
        com.google.api.client.json.JsonParser.parse(JsonParser.java:336)
        com.google.api.client.json.JsonParser.parse(JsonParser.java:312)
        com.google.api.client.json.JsonFactory.fromString(JsonFactory.java:187)
        org.apache.beam.sdk.io.gcp.bigquery.BigQueryHelpers.fromJsonString(BigQueryHelpers.java:156)
        org.apache.beam.sdk.io.gcp.bigquery.DynamicDestinationsHelpers$ConstantSchemaDestinations.getSchema(DynamicDestinationsHelpers.java:163)
        org.apache.beam.sdk.io.gcp.bigquery.DynamicDestinationsHelpers$ConstantSchemaDestinations.getSchema(DynamicDestinationsHelpers.java:150)
        org.apache.beam.sdk.io.gcp.bigquery.CreateTables$1.processElement(CreateTables.java:103)
Caused by: java.lang.IllegalArgumentException: expected collection or array type but got class com.google.api.services.bigquery.model.TableSchema
        com.google.api.client.repackaged.com.google.common.base.Preconditions.checkArgument(Preconditions.java:148)
        com.google.api.client.util.Preconditions.checkArgument(Preconditions.java:69)
        com.google.api.client.json.JsonParser.parseValue(JsonParser.java:723)
        com.google.api.client.json.JsonParser.parse(JsonParser.java:382)
        com.google.api.client.json.JsonParser.parse(JsonParser.java:336)
        com.google.api.client.json.JsonParser.parse(JsonParser.java:312)
        com.google.api.client.json.JsonFactory.fromString(JsonFactory.java:187)
        org.apache.beam.sdk.io.gcp.bigquery.BigQueryHelpers.fromJsonString(BigQueryHelpers.java:156)
        org.apache.beam.sdk.io.gcp.bigquery.DynamicDestinationsHelpers$ConstantSchemaDestinations.getSchema(DynamicDestinationsHelpers.java:163)
        org.apache.beam.sdk.io.gcp.bigquery.DynamicDestinationsHelpers$ConstantSchemaDestinations.getSchema(DynamicDestinationsHelpers.java:150)
        org.apache.beam.sdk.io.gcp.bigquery.CreateTables$1.processElement(CreateTables.java:103)
        org.apache.beam.sdk.io.gcp.bigquery.CreateTables$1$DoFnInvoker.invokeProcessElement(Unknown Source)
        org.apache.beam.runners.core.SimpleDoFnRunner.invokeProcessElement(SimpleDoFnRunner.java:177)
        org.apache.beam.runners.core.SimpleDoFnRunner.processElement(SimpleDoFnRunner.java:141)
        com.google.cloud.dataflow.worker.SimpleParDoFn.processElement(SimpleParDoFn.java:233)
        com.google.cloud.dataflow.worker.util.common.worker.ParDoOperation.process(ParDoOperation.java:48) …
Run Code Online (Sandbox Code Playgroud)

java google-cloud-dataflow apache-beam

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

QMainWindow不再是活动窗口

我正在用Qt制作一个简单的游戏,我想在用户切换到另一个窗口时暂停游戏(这可能是通过最小化它或不小心点击它旁边的窗口等).我的游戏包含在QMainWindow中,因此我希望能够检测到失去焦点的时间.

我为此尝试了几种不同的方法,但我没有成功.我首先尝试重载QMainWindow的focusOutEvent,但是这个方法只在我第一次用setFocus给窗口焦点时调用.我还尝试重载窗口的事件(QEvent*)方法来检查QEvent :: ApplicationActive和QEvent :: ApplicationDeactivate.

我会发布我的QMainWindow的代码,但没有太多要显示,我实际上只是试图实现这两个方法,但都没有被调用.我没有做任何其他设置这些方法(也许我错过了一步?).

有谁知道确定你的QMainWindow是否"失去焦点"的好方法?

c++ qt qt4

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

Django settings.py错误:不支持按文件名导入

我在虚拟环境中运行Django(使用virtualenv),我正在尝试添加自定义开发环境设置文件,以便在我开发时简化应用程序配置.我的计划是用两行代码完成

if os.environ.get('DEVELOPMENT', None):
    from login import settings_dev
Run Code Online (Sandbox Code Playgroud)

我也试着import settings_deffrom login.settings_dev import *.我的settings_dev.py文件与settings.py文件位于同一目录中,我的应用程序位于名为login的文件夹中.当我运行时,python login/manage.py syncdb我收到此错误:

Error: Import by filename is not supported.
Run Code Online (Sandbox Code Playgroud)

我的搜索不断提出DJANGO_SETTINGS_MODULE(虽然我不确定它是如何发挥所有这一点 - 第一个Django app:]),所以只是一个FYI它在我的settings.py文件中设置如下:

os.environ['DJANGO_SETTINGS_MODULE'] = 'login.settings'
Run Code Online (Sandbox Code Playgroud)

我也尝试在我的终端中导出它,但我得到了同样的错误.

有谁知道我怎么能解决这个/我在这里做错了什么?

python django

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