CodenameOne | platform framework for building truly native mobile apps | Mobile library

 by   codenameone Java Version: 7.0.148 License: Non-SPDX

kandi X-RAY | CodenameOne Summary

kandi X-RAY | CodenameOne Summary

CodenameOne is a Java library typically used in Mobile, React Native, Framework applications. CodenameOne has medium support. However CodenameOne has 1105 bugs, it has 46 vulnerabilities, it build file is not available and it has a Non-SPDX License. You can download it from GitHub, Maven.

Cross-platform framework for building truly native mobile apps with Java or Kotlin. Write Once Run Anywhere support for iOS, Android, Desktop & Web.

            kandi-support Support

              CodenameOne has a medium active ecosystem.
              It has 1498 star(s) with 372 fork(s). There are 108 watchers for this library.
              There were 10 major release(s) in the last 6 months.
              There are 564 open issues and 2836 have been closed. On average issues are closed in 311 days. There are 21 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of CodenameOne is 7.0.148

            kandi-Quality Quality

              CodenameOne has 1105 bugs (102 blocker, 38 critical, 683 major, 282 minor) and 26039 code smells.

            kandi-Security Security

              CodenameOne has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              CodenameOne code analysis shows 46 unresolved vulnerabilities (46 blocker, 0 critical, 0 major, 0 minor).
              There are 475 security hotspots that need review.

            kandi-License License

              CodenameOne has a Non-SPDX License.
              Non-SPDX licenses can be open source with a non SPDX compliant license, or non open source licenses, and you need to review them closely before use.

            kandi-Reuse Reuse

              CodenameOne releases are available to install and integrate.
              Deployable package is available in Maven.
              CodenameOne has no build file. You will be need to create the build yourself to build the component from source.
              Installation instructions, examples and code snippets are available.
              CodenameOne saves you 796019 person hours of effort in developing the same functionality from scratch.
              It has 382464 lines of code, 33118 functions and 1873 files.
              It has high code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi has reviewed CodenameOne and discovered the below as its top functions. This is intended to give you an instant insight into CodenameOne implemented functionality, and help decide if they suit your requirements.
            • Inits the components .
            • Create the menu for the given frame .
            • Reset theme properties
            • Tries to optimize the method
            • persist component to xml
            • Process HTML tag .
            • Apply CSS styles to a CSS element .
            • Generate code for a class .
            • Creates a new component .
            • Save an XML file to a file
            Get all kandi verified functions for this library.

            CodenameOne Key Features

            No Key Features are available at this moment for CodenameOne.

            CodenameOne Examples and Code Snippets

            Java 11 with JavaFX building JAR with gradle
            Javadot img1Lines of Code : 6dot img1License : Strong Copyleft (CC BY-SA 4.0)
            copy iconCopy
            $JAVA_HOME/bin/jlink --no-header-files --no-man-pages --compress=2 --strip-debug \
            --add-modules  \
            --output java-runtime
            How do you run jlink to create a runtime for your JavaFX application?
            Lines of Code : 3dot img2License : Strong Copyleft (CC BY-SA 4.0)
            copy iconCopy
            jlink --no-header-files --no-man-pages --compress=2 --strip-debug -p  --add-modules javafx.controls,javafx.fxml,javafx.base,  --output java-runtime

            Community Discussions


            How to delete all components in a form on Codenameone?
            Asked 2021-Jun-11 at 10:32

            I am writing a program in Codenameone that will pull an array of products from a url and display them in a list. I want to reload the page every time I press a button, so I code in a method called reload that should delete everything in the form and then replace it all with the newly pulled list.



            Answered 2021-Jun-10 at 01:13

            removeAll() doesn't recurse. That would be expensive and often redundant since the GC usually removes the entire tree.

            Typically these problems are pretty simple to workaround though. There are two approaches:

            • Stop caching the component and re-create it every time you reload. This will mean it's never "already in" something

            • Before adding the problematic component just do: problematicComponent.remove(). This will remove it from its parent (or do nothing if it has no parent)

            In your case it seems like you're doing this:



            CodenameOne - Getting the text size inside TextViews or TextAreas
            Asked 2021-May-29 at 09:39

            My CodenameOne app has a BrowserComponent in the layout (it's a WebView).

            It has also other components like TextFields.

            I need that the text in the BrowserComponent has the same size as the text in the TextFields (default value).

            I set the text size inside the BrowserComponent in HTML, using the CSS font-size property.

            I tried with this instruction:



            Answered 2021-May-29 at 09:39

            First: You should use getUnselectedStyle() and not getStyle() before getFont().

            The getSize() method is for system fonts as explained in the docs. You got the response of SIZE_MEDIUM which isn't what you want.

            Try getHeight() or getPixelSize() after getFont().



            CodenameOne - Sharing/importing files through the 'Documents' app folder
            Asked 2021-May-26 at 03:01

            My Android app is also being developed for iOS. For iOS versions <14 I am using a cross-platform tool, called CodenameOne. For cross-platform's sake it has limitations, of course.

            I am trying to accomplish a simple import/export feature. My app can share simple json files.

            Sharing is possible only with images in CN1 at present time. It is not useful to me, however I did not test it, usually they put files in the inbox of apps, it has to be checked according to use cases.

            Sending an email with the sendMessage method does not work (it blocks the app, with or without attachments/recipients)

            and moreover I would like that the user can do it in a pleasant way.

            So I am using the app Documents directory as a folder for importing/exporting.

            Also the custom extension is registered (it is not ".json").

            Here are some ios build hints injected in the CN1 build system.



            Answered 2021-May-26 at 03:01

            UIFileSharingEnabled seems to be supported:

            But the casing is wrong and should be ios.fileSharingEnabled=true.

            As far as I can tell there's not support for ios.UISupportsDocumentBrowser. Where did you get that build hint from?

            You should use ios.plistInject for unsupported hints. I suggest reviewing the resulting xcode project to see that things made it into the plist.



            Problems in Netbeans when switching from Ant to Maven
            Asked 2021-May-20 at 15:34

            After passing a complex Codename One project from Ant to Maven with the appropriate tool (, in Netbeans 12.3 I have two problems:

            1. when in the log there is the stack trace of a crash, clicking on the line of code (reported in the log) does not open the related Java file and automatically scroll to the line in question (with Ant it worked).

            2. Netbeans reports me non-existent errors, even if it compiles correctly: these errors are all related to code that refers to libraries (before, with Ant, these errors were not reported).

            Thanks for the suggestions



            Answered 2021-May-20 at 15:34

            I have good news, I solved both issues.

            About the fake errors like in the screenshot, right-clicking on the "common" module of the Codename One project, there was an item "Resolve Project Problems" that I hadn't noticed before. The error was:

            Your project has dependencies that are not resolved locally. Code completion in the IDE will not include classes from these dependencies or their transitive dependencies (unless they are among the open projects). Please download the dependencies, or install them manually, if not available remotely.

            The artifacts are:



            CodenameOne - Importing set of images in the theme
            Asked 2021-May-18 at 02:10

            My CodenameOne app is mainly intended to be the iOS counterpart of an existing Android app. It is for older devices, in fact, as soon as possible, or in the future, a Swift app is going to replace it for OS 14>.

            I need some customised icons and I have the svg code for it.

            Initially I had to use the Flamingo tool, that converts svg files in Java classes. I used it like



            Answered 2021-May-18 at 02:10

            This specific UI is a bit out of date by now and wasn't used much even when it was added. Most users opted to do desktop scaling for multi images.

            The scale option is designed to scale down from a high resolution image on the desktop. You don't want/need that.

            You don't need to edit the file. Just make sure to turn on the XML team mode and make sure your images use the right file names. Then once you save the images will appear in the resource file.

            I suggest adding a multi-image using the standard method of add in the menu. Then replacing all the generated images with your copies and reopening the file, then saving again (the last save is important as it will override the res file).



            CodenameOne - routine to read text file does work on CN1 simulator, does not work on iOS
            Asked 2021-May-17 at 07:57

            I am testing my CodenameOne app on iOS and I have troubles with this method:



            Answered 2021-May-17 at 07:57

            You don't need all this code. You can just use Util.readToString() to read the InputStream directly into a String.



            CodenameOne - Using 1x 2x 3x images of XCode Assets.Casset catalog in CN1 project
            Asked 2021-May-14 at 03:26

            My CodenameOne app needs customized icons for some buttons. Images have to be used.

            The iOS version of my app was duly provided of those images in 1x 2x 3x formats.

            It seems that the multi-image system of CN1 would beneficiate of the image resources of the Android version of my app.

            Indeed XCode 1x, 2x, 3x images could lead to strange assignments of "the closest alternative" as it reads in the CN1 dev guide, I think.



            Answered 2021-May-14 at 03:26

            We have multi-image that works in a way similar to androids DPI level. They don't use the iOS convention since we support more device resolutions than iOS. This works both in the CSS and designer. See the developer guide on multi-image for more details.



            CodenameOne - accessing images from nested folder hierarchy in app bundled resources
            Asked 2021-May-13 at 02:50

            My CodenameOne app needs that some buttons have special icons. ScaleImageButton is the component that is suitable. The icons to be used are from the material icons repository, but some are modified, so the CN font is not suitable.

            I created the icon images with the Flamingo tool that converts svg to java classes. It is cumbersome but it can be useful and practical, but at present time the resulting Java classes are not working on iOS.

            It works on the CN simulator and Android although the button size is not exact: if state-changes reflect on some icon-changes, the layout would be rearranging and uneven.

            On iOS, in addition to that, the drawing is huge or tiny in its viewport, depending of the button size that is assigned to the Flamingo image.



            Answered 2021-May-13 at 02:50

            The "right way" to do this is to add the images to the res file as that's the most portable way. You can do that via the theme or by including the images in your CSS, both options are discussed in the developer guide.

            You can also create a separate resource file for each icon set and you can give any name you want to the icons within.

            We don't support hierarchy for assets in Codename One. There's a special case for HTML which uses TAR to workaround platform differences but overall we don't allow that to avoid different behaviors between platforms.



            How to get CodenameOne Maven Project Running in Netbeans
            Asked 2021-Apr-27 at 19:55

            Thx to Steve for the CN1 ant to maven migration tool and video here. - Has anyone been able to run the Kitchen Sink project in Netbeans after migration? I follow the video instructions with the migration tool and migrate successfully and it runs from command line with ./ but when I go to run it in NetBeans, I had a lot of 501 (https needed) errors. Added umer's code from here and that solved the 501 errors but now get:

            1. Invalid POM for com.codenameone:codenameone-javase:jar:7.0.23, and
            2. No implementation for was bound. while locating org.apache.maven.plugin.surefire.SurefirePlugin.

            Note invalid POM warning...



            Answered 2021-Apr-17 at 02:01

            I think perhaps the method I'm using to detect the latest version of cn1 has issues. It picked 7.0.23 which was released this morning. But then it was unable to find some of the jars.

            Probably it will work if you just try running the project again as it should be fully propagated to maven central now.



            Active developer path (\"/Applications/\") does not exist
            Asked 2021-Apr-27 at 01:40

            I have an issue when I try to build the application IOS to CodenameOne Server, I get this error :

            Failed to extract git version from git --version ("xcrun: error: active developer path ("/Applications/") does not exist\nUse sudo xcode-select --switch path/to/ to specify the Xcode that you wish to use for command line developer tools, or use xcode-select --install to install the standalone command line developer tools.\nSee man xcode-select for more details.\n")

            Anyone can help me with this issue? Thanks in advance.



            Answered 2021-Apr-27 at 01:40

            We pushed a fix for this. This broke with our update to xcode on the servers as required by Apple. It should work now.


            Community Discussions, Code Snippets contain sources that include Stack Exchange Network


            No vulnerabilities reported

            Install CodenameOne

            TIP: We are currently transitioning to Maven, and have created a new, simpler method for creating projects. Check out to get started now.
            NOTE: We are in the process of migrating from Ant to Maven, which simplifies the process for building from source. See Ant Quick Start for the legacy Ant build instructions. The setup is covered in depth in this article and video. IMPORTANT: Building Codename One requires JDK 8, currently. You cannot use JDK 11 as some sub-modules must use -source 1.5 and -target 1.5 to maintain backward compatibility with parts of the toolchain.
            This will build and install Codename One in your local Maven repository. This process can take a while since it automatically downloads dependencies with a size of ~1GB.
            The Samples directory contains a growing set of sample applications. These samples aren't meant to be demos, but rather samples of how to use APIs.


            You can get started with the binary and the birds eye view in the download section. Additional important links are:.
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
          • HTTPS


          • CLI

            gh repo clone codenameone/CodenameOne

          • sshUrl


          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Explore Related Topics

            Consider Popular Mobile Libraries


            by NativeScript


            by twbs


            by amazeui


            by GeekyAnts

            Try Top Libraries by codenameone


            by codenameoneJava


            by codenameoneShell


            by codenameoneJava


            by codenameoneJava


            by codenameoneJava