小编Car*_*ght的帖子

在 AWS CDK 中使用 AWS SDK 的正确方法

我正在尝试在我的 CDK 应用程序中使用 SDK。我的堆栈正在创建一个目录、一些网络内容,然后是一些使用需要 AD DNS IP 的 PowerShell 脚本加入域的实例,我目前使用它的方式如下:

const ds = new DirectoryService();

const result = new Promise(function (resolve: (value: string) => any, reject) {
        ds.describeDirectories({}, function (err, data) {
            if (err){
            reject(data)
        }else{
            try{
                if (data.DirectoryDescriptions){
                    if (data.DirectoryDescriptions[0].DnsIpAddrs){
                        resolve(data.DirectoryDescriptions[0].DnsIpAddrs.toString())
                    }
                }
            }catch (e) {
                reject("Directory doesn't exist yet.")
            }
        }
    })
});
result.then(value => {
    const subs = {
        "#{DNS_ADDRESSES}": value,
        "#{SECRET_ID}": directory.directorySecret.secretArn
    };

    Object.entries(subs).forEach(
        ([key, value]) => {
            domainJoinScript = domainJoinScript.replace(key, String(value));
        }
    );

    new  Stack(app, …
Run Code Online (Sandbox Code Playgroud)

javascript amazon-web-services typescript aws-sdk-js aws-cdk

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

Realm,初始化一个空字符串数组在构建时返回"Unsupported type java.lang.String []"

我正在尝试在Kotlin类中初始化一个空字符串数组,但是这个语法似乎在逃避我,我检查了Kotlin文档,我认为我正在以正确的方式进行,但我总是最终在构建时显示以下消息:

Error:Execution failed for task ':core:compileDebugJavaWithJavac'.
> java.lang.IllegalStateException: Unsupported type java.lang.String[]
Run Code Online (Sandbox Code Playgroud)

我已经尝试了以下初始化方法,Android Studio没有红线任何这些.

var categories = emptyArray<String>()
var categories = arrayOf<String>()
var categories: Array<String> = emptyArray()
var categories: Array<String> = arrayOf()
Run Code Online (Sandbox Code Playgroud)

它似乎确实是一个错误,有趣的是它影响了我之前在AS 2.3.2上稳定的Kotlin设置,而且奇怪的是,我在尝试创建字符串列表时遇到了相同的构建错误.

所以它似乎是我的笔记本电脑上的一个特殊错误,我在我的桌面上使用相同版本的AS运行完全相同的代码,在同一个项目上,所有内容完全相同,然后编译.

好吧,这个bug正在影响我的桌面,我正在使用常规Java,甚至Kotlin,这里是gradle stacktrace:

Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':core:compileDebugJavaWithJavac'.
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:84)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:55)
    at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:62)
    at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
    at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:88)
    at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:46)
    at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:51)
    at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)
    at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
    at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.execute(DefaultTaskGraphExecuter.java:236)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.execute(DefaultTaskGraphExecuter.java:228)
    at org.gradle.internal.Transformers$4.transform(Transformers.java:169)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:106)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:61)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:228)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:215)
    at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:77) …
Run Code Online (Sandbox Code Playgroud)

android kotlin android-studio

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

Android Realm ChangeListener未被触发

我有一个未被触发的Realm结果更改侦听器,这里是代码:

final RealmResults<LogEntry> entries = realm.where(LogEntry.class).findAll();

entries.addChangeListener(new RealmChangeListener<RealmResults<LogEntry>>() {
            @Override
            public void onChange(RealmResults<LogEntry> results) {
                Log.v("Testing", "The size is: " + results.size());
            }
        });
Run Code Online (Sandbox Code Playgroud)

肯定有新的东西被添加,我有一个登录领域插入打印出表的新大小,但由于某种原因,更改监听器什么都不做?我在这里遗漏了什么,它似乎与文档相同.

android realm

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

调用Write()时蓝牙套接字OutputStream NullPointerException

我有一个奇怪的问题,显然我的输出流是null,即使我有多个检查并使用调试器确认它不为空.所以有问题的代码:

 @Override
protected void onHandleIntent(Intent intent) {
    device = (BluetoothDevice) intent.getExtras().get("device");

    if (device != null) {
        Log.v("DeviceManager", "Beginning attempts to communicate to: " + device.getName());
        try {
            BluetoothSocket socket = device.createRfcommSocketToServiceRecord(device.getUuids()[0].getUuid());
            outputStream = socket.getOutputStream();
            inputStream = socket.getInputStream();

            while (Utils.appIsInForeground && device != null) {
                if (outputStream == null){
                    Log.e("DeviceManager", "Looks like the outputStream is null...");
                    if (inputStream == null){
                        Log.e("DeviceManager", "And input stream is null, are you even connected to the device?");
                    }else{
                        Log.e("DeviceManager", "Although strangely, input stream has been …
Run Code Online (Sandbox Code Playgroud)

java android bluetooth

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