小编Sha*_*mog的帖子

调试gradle的目标,相当于run {}块,用于传递参数

我正在尝试移植Codename One客户端构建,这是非常自定义的ant脚本,可以使用gradle.当您在模拟器上运行Codename One应用程序时,您没有运行应用程序主类,而是类似于:

java -classpath CodenameOneJarList com.codename1.impl.javase.Simulator nameOfTheMainClassForTheApp
Run Code Online (Sandbox Code Playgroud)

为了在gradle中执行此操作,我编辑了基本构建脚本,如下所示:

apply plugin: 'java'
apply plugin: 'application'
mainClassName = "com.codename1.impl.javase.Simulator"

// for netbeans
ext.mainClass = 'com.codename1.impl.javase.Simulator'
Run Code Online (Sandbox Code Playgroud)

然后在底部我做了这个:

run {
    args 'com.mycompany.myapp.Main'
}
Run Code Online (Sandbox Code Playgroud)

这按预期工作,并在IDE(NetBeans)中按下运行时启动了模拟器.我不确定这是否是"正确的事",如果它可以在其他IDE中使用.

然后,当我尝试在调试器中启动时,由于我猜测run目标未被调用,因此没有传递参数?

我试过这样做:

debug {
    args 'com.mycompany.myapp.Main'
}
Run Code Online (Sandbox Code Playgroud)

哪个明显失败了.我不确定将参数传递给调试器的位置?

这是通过gradle标准化的吗?

关于争论的传递,我是否正确的方向?

"运行"声明性语法映射到什么?如何找到其他潜在的声明性块类型?

不幸的是谷歌搜索运行/调试等基础知识不会产生有用的东西.

java gradle codenameone build.gradle

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

IntelliJ 插件中具有标准 PsiElement 自动完成功能的文本字段

我正在尝试为我的 IntelliJ 插件创建一个带有自动完成功能的简单文本字段。我认为这应该很简单,但到目前为止我已经陷入了死胡同......

例如,据我所知,这应该有效:

EditorTextField format = new TextFieldWithCompletion(currentEditor.getProject(),
                provider,
                "",
                true,
                true,
                true);
Run Code Online (Sandbox Code Playgroud)

问题是提供者。我希望看到一个不是列表提供者的提供者。我只想显示与编辑器光标中当前行匹配的完成,所以我想要完整的完成对话框,而不仅仅是一个简短的选项列表。

我也看过,TextFieldWithAutoCompletion但它似乎是为硬编码字符串值而不是自由格式完成而设计的。

我只想要标准的 Java/Kotlin 完成。不是自定义列表或类似的东西。我看到了一些关于替换文本字段文档的讨论,但我也无法让它工作。我有一个PsiExpressionCodeFragment并且希望有一个完成提供程序接受它,但我找不到它。

作为参考,我想做的是与断点对话框中的条件语句非常相似的事情。

此处说明的另一种方法是:

JavaCodeFragmentFactory jcff = JavaCodeFragmentFactory.getInstance(currentEditor.getProject());
PsiFile pf = PsiDocumentManager.getInstance(currentEditor.getProject()).getPsiFile(currentEditor.getDocument());
PsiElement psiElement = pf.findElementAt(currentEditor.getCaretModel().getOffset());
PsiExpressionCodeFragment fragment = jcff.createExpressionCodeFragment("", psiElement,null, false);
EditorTextField f = new EditorTextField(PsiDocumentManager.getInstance(currentEditor.getProject()).getDocument(fragment),
        currentEditor.getProject(),
        FileTypes.PLAIN_TEXT, false, true);
Run Code Online (Sandbox Code Playgroud)

这会加载 UI,但无论我输入什么都不会弹出代码完成。

intellij-plugin

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

Sencha,Touc4J,Codenameone和Phonegap?

我来自大量的Java编程和JavaScript的弱点.我总是使用基于组件的Web框架进行Web应用程序开发(ZK,GWT,Wicket.etc)现在我们正在计划一个Web +移动应用程序.我发现它更好使用Spring MVC/REST/Jason组合将bushiness-logic与UI分开.

下一个问题是移动框架.我看了下面的框架

1. Sencha - 必须在JS中编程,它将生成基于HTML5的应用程序.

2. Touch4J - Sencha周围的Java Wrapper?但是与GWT的连接是什么?

3. Phonegap - 必须用JS编写,它会生成在Web视图中运行的"混合"应用程序吗?我可以在Web服务器中托管这些应用程序吗?

4. codenameone - 用Java编写,它将生成本机应用程序.(这些不是PhoneGap中的混合应用程序吗?)

有关于此的任何建议,还是有针对浏览器和移动应用程序开发的任何其他框架?

java mobile sencha-touch codenameone cordova

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

使用Eclipse的代号

我有一个当前的java应用程序,我想在iPhone上运行.这只是为了感兴趣,因此我不介意GUI是否稍微偏离,所以我希望尽可能少地执行此操作.

我已经在eclipse中安装了一个插件代号,但我不确定从哪里开始.

我做了什么:

我创建了一个类型为codename的新项目,打开了源文件夹(在Eclipse中)并用我已编写的java文件替换了创建的文件.但是我现在在文件中每次使用swing组件时都会出错.我能做什么?

我想我不应该删除我删除的文件 - 它们只是生成的类,但后来我不知道如何将它与我当前的java程序合并(它是国际象棋应用程序btw).

此外,我所有的java文件都在一个名为chess的包中 - 这是一个问题吗?

对不起,我只是不确定从哪里开始 - 在互联网上找不到任何有用的东西.我需要的只是获取我的java代码并转换为c(Obs)的最简单方法,以及将其传输到我的iPhone上运行的方法.

提前感谢任何建议.PS我刚注意到我认为文件中缺少某些属于代号的导入.有没有办法可以自动插入所有必需的导入?PPS OK一对夫妻进口eclipse已经决定插入已删除的错误.这些是诸如此类的

import com.codename1.ui.events.ActionEvent;

JFrame,JChechkBox,JButton,JLabel等需要哪些导入?有没有 ...*; 我可以导入以获取必要包的目录?

再次感谢你!

java iphone objective-c ios codenameone

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

无法使用iOS 9.x设备在Codename One下连接到HTTP URL

我有一个Java的Web服务运行到Glassfish.当我尝试在iOS中使用此WS时,它不起作用,并且方法ConnectionRequest.readResponse(InputStream input)接收没有信息的输入.如果我尝试将其转换为byte [],则返回NULL.

实际上该服务没有到达WS.但它传递给ConnectionRequest.readResponse方法.

当使用带有@GET注释的WS并使用GET时它也可以工作.

java codenameone ios9

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