标签: codenameone

将应用程序从LWUIT移植到CodenameOne

我在LWUIT中使用资源编辑器开发了3个应用程序,并在Netbeans中添加了更多功能.我想将它们移植到codenameone.最好的方法是什么?
我看到Components来自LWUIT 的navite Component在codenameone中有一个等价物,但J2ME方法和类,现在必须移植到J2SE,是吗?
这方面的方法StateMachineBase也发生了变化.showForm()例如,现在不存在.StateMachineBase中有哪些进一步的变化?

谢谢

porting lwuit codenameone

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

使用java中的现有数组创建两个维度数组

我有四个字符串数组,我想创建一个3列和动态行的二维数组.

数组如下:

String[] first_name;
String[] last_name;
String[] unit;
String[] phone_number;


Object[][] obj = new Object[first_name.length()][3]
Run Code Online (Sandbox Code Playgroud)

我的问题是如何实现这样的目标:

obj = {first_name[index] + " " + last_name[index], unit[index], phone_number[index]}
Run Code Online (Sandbox Code Playgroud)

请帮忙!!!

java arrays codenameone

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

如何在Codenameone中实现浮动操作按钮?

android中的浮动操作按钮是不错的选择.我想在我的codenameone应用程序中使用它.我通过使用LayeredLayout尝试了它,有两个布局.我无法完美地实现它.按钮随着滚动一起移动.如何将按钮固定到屏幕的右下角,而不会影响背景图层滚动的时间.

这是我试过的方式.

Form myForm = new Form();
myForm.setLayout(new LayeredLayout());
myForm.setTitle("Floating Action Button");

SpanLabel lbl = new SpanLabel("some long text");

Container conBottom = new Container();
conBottom.setLayout(new BoxLayout(BoxLayout.Y_AXIS));
conBottom.addComponent(lbl);

FlowLayout flow = new FlowLayout(Component.RIGHT);
flow.setValign(Component.BOTTOM);
Container conUpper = new Container(flow);
conUpper.addComponent(new Button("+"));
conUpper.setScrollable(false);

myForm.addComponent(conBottom);
myForm.addComponent(conUpper);

myForm.show();
Run Code Online (Sandbox Code Playgroud)

这是类似于我想要实现的链接. https://github.com/Clans/FloatingActionButton 请帮助!谢谢!

codenameone floating-action-button

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

无法安装公司应用程序Codename One Windows手机

我成功地能够从CN1服务器为Windows 8创建和下载构建.

我还可以使用"Windows Phone Developer Registration"实用程序解锁我的Windows手机(Microsoft Lumia 640 Windows OS 8.1).

见下图. 在此输入图像描述

但是我仍然得到这个错误,有什么建议吗?

为了测试,我创建了一个只有文本字段的虚拟应用程序,即使是那个简单的应用程序也无效.

谢谢.

codenameone windows-phone-8.1

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

为什么在Android上setColor这么慢

我在OPO设备上对我们的一些代码进行基准测试,这通常非常快,而且我看到很多"怪异"的性能怪异.在深入研究Android本机代码之前,我想我会问这里.

我所看到的是,执行调用的paint.setColor(argbInt)时间比以下调用大约长5倍:

paint.setStyle(Paint.Style.FILL);
paint.setAntiAlias(false);
canvas.drawRect(x, y, x + w, y + h, paint);
paint.setAntiAlias(antialias);
Run Code Online (Sandbox Code Playgroud)

现在绘制矩形发生在GPU上,所以我猜我没有看到任何开销.但为什么我要涂上油漆颜色?

作为一个自然的后续,我如何减少所述开销?

我也看到相当多的开销canvas.restore()(比上面的代码慢大约4倍),但我想这会有意义,因为它可能是一个复杂的操作.我只是不明白为什么setColor会慢?

为了记录,我使用System.nanoTime()在OPO上测试了性能,并且在性能方面非常一致(不是突然的GC侥幸等等).

java performance android codenameone

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

如何在asciidoc fop中合并甚至禁用脚注链接

我有一个相当大的asciidoc文档,我为我们的开发人员指南动态翻译为PDF.由于doc通常引用我们的开发人员指南中记录的Java类,因此我们将它们直接转换为文档中的链接,例如:

In this block we create a new 
https://www.codenameone.com/javadoc/com/codename1/ui/Form.html[Form] 
named `hi`. 
Run Code Online (Sandbox Code Playgroud)

这在大多数情况下工作得相当好,并且在HTML中看起来很棒,因为对类的每个引用都直接导致其JavaDoc使得引用/引导过程更加简单.

但是,当我们生成PDF时,我们最终会在某些页面上显示这样的内容:

脚注地狱

通常情况下,我不会介意前一页中的大量脚注甚至重复.但是,在这种情况下,Container的链接出现3次.

我可以删除一些链接,但我不愿意,因为它们在网络版本上有很多意义.因为我也不知道分页会落在哪里,所以我宁愿不自己做.

这看起来像某个地方的错误,如果链接相同,链接的脚注应该只生成一次.

我可以删除文档中的所有链接脚注,如果这是要支付的价格,虽然我宁愿能够根据具体情况这样做,所以一些链接仍然可以打印

pdf-generation asciidoc apache-fop codenameone

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

调试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
查看次数

在代号为1时使用webservices时如何解析null

我在php中调用数据库中的数据,并使用Webservices将数据传递给代号.如果我将我的URL指向JSON文件,我能够获取我的记录,但当我将其更改为php并使用JSON对页面进行编码时,我将变为null.

在Codename中使用Webservices时如何解决null结果?

这是我用代码名称调用的PHP代码

<?php 
/* require the user as the parameter */
//http://localhost:8080/sample1/webservice1.php?user=1
if(isset($_GET['user']) && intval($_GET['user'])) {
    /*soak in the passed variable or set our own*/
    //$number_of_posts = isset($_GET['num']) ? intval($_GET['num']) : 10; //10 is the default
    $format = strtolower($_GET['format']) == 'json' ? 'json' : 'xml'; //xml is  the default
    //$user_id = intval($_GET['user']); //no default

    /* connect to the db */
    $link = mysql_connect('localhost','root','') or die('Cannot connect to the DB');
    mysql_select_db('test',$link) or die('Cannot select the DB');

    /* grab the posts …
Run Code Online (Sandbox Code Playgroud)

php codenameone

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

SunCertPathBuilderException:无法在 CN1 应用程序中找到请求目标的有效证书路径

请你帮忙。我有一个 Codenameone 应用程序,它向云 Tomcat 8 服务器发出 GET 请求,并期望返回一些响应 JSON。重要的是,这是一个 HTTPS 调用。

当我在 Postman 中运行请求时,它工作正常:

https://www.mydomain.co.uk:8443/MyProject/v1/generate_token

通过我的浏览器可以使用相同的 URL,并显示为“安全”,并且我可以看到我的证书详细信息。我已经为我的 SSL/TLS 配置购买了证书,并且在启动时的日志中似乎运行良好。

在模拟器中,我在从 URL 调用读取响应时收到以下错误 - 我猜这必须是加密的:

Exception: javax.net.ssl.SSLHandshakeException - sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
    at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
    at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1959)
    at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:302)
    at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:296)
    at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1514)
    at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:216)
    at sun.security.ssl.Handshaker.processLoop(Handshaker.java:1026)
    at sun.security.ssl.Handshaker.process_record(Handshaker.java:961)
    at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1072)
    at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1385)
    at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1413) …
Run Code Online (Sandbox Code Playgroud)

rest ssl https tomcat codenameone

5
推荐指数
2
解决办法
6万
查看次数

访问 Tab 组件内的组件

我是使用代号一的新手。我正在做一个应用程序,它有一个表单,它有一个 Tab 组件,里面有 14 个选项卡,每个选项卡都有一个带有 42 个按钮的网格布局,我想在一个按钮中更改一个属性。问题是我不知道如何到达那个按钮。

tabG.getContentPane().components.get(index)
Run Code Online (Sandbox Code Playgroud)

tabG 是选项卡组件,我可以到达我需要的选项卡,但之后我不知道如何到达我想要更改的按钮索引。

我试过

tabG.getContentPane().components.get(index).components.get(indexbutton)
Run Code Online (Sandbox Code Playgroud)

但甚至无法编译这段代码。

在此处输入图片说明

我会感谢任何帮助。

codenameone

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