我在LWUIT中使用资源编辑器开发了3个应用程序,并在Netbeans中添加了更多功能.我想将它们移植到codenameone.最好的方法是什么?
我看到Components来自LWUIT 的navite Component在codenameone中有一个等价物,但J2ME方法和类,现在必须移植到J2SE,是吗?
这方面的方法StateMachineBase也发生了变化.showForm()例如,现在不存在.StateMachineBase中有哪些进一步的变化?
谢谢
我有四个字符串数组,我想创建一个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)
请帮忙!!!
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 请帮助!谢谢!
我成功地能够从CN1服务器为Windows 8创建和下载构建.
我还可以使用"Windows Phone Developer Registration"实用程序解锁我的Windows手机(Microsoft Lumia 640 Windows OS 8.1).
但是我仍然得到这个错误,有什么建议吗?
为了测试,我创建了一个只有文本字段的虚拟应用程序,即使是那个简单的应用程序也无效.
谢谢.
我在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侥幸等等).
我有一个相当大的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次.
我可以删除一些链接,但我不愿意,因为它们在网络版本上有很多意义.因为我也不知道分页会落在哪里,所以我宁愿不自己做.
这看起来像某个地方的错误,如果链接相同,链接的脚注应该只生成一次.
我可以删除文档中的所有链接脚注,如果这是要支付的价格,虽然我宁愿能够根据具体情况这样做,所以一些链接仍然可以打印
我正在尝试移植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标准化的吗?
关于争论的传递,我是否正确的方向?
"运行"声明性语法映射到什么?如何找到其他潜在的声明性块类型?
不幸的是谷歌搜索运行/调试等基础知识不会产生有用的东西.
我在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) 请你帮忙。我有一个 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) 我是使用代号一的新手。我正在做一个应用程序,它有一个表单,它有一个 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 ×10
java ×3
android ×1
apache-fop ×1
arrays ×1
asciidoc ×1
build.gradle ×1
gradle ×1
https ×1
lwuit ×1
performance ×1
php ×1
porting ×1
rest ×1
ssl ×1
tomcat ×1