Tracking & logging errors is crucial for a stable application. There are several tools we offer in Codename One both in the seamless level (crash protection) and in the lower level inner workings of Codename One. I'll try to explain both and how they interact.Read More
Layouts are one of the hardest subjects to grasp in Codename One, there is a lot of nuance in getting layouts "right". Since the subject is so vast and complex this video only scratches the surface and is still relatively long for an introductory video. It's crucial to go thru this material though if you are not familiar with layouts or find them confusing.Read More
Recently I sent a build and had an issue installing it. It was late at night and I just forgot to add the build hint
ios.debug.archs=armv7 for installation on the 3rd gen iPad I was testing with. So we can all trip over basic mistakes when it comes to iOS installs. So for your convenience I made a list of common pitfalls you might run into if your iOS build won't install on your device.
This feature is still undergoing development but I wanted to share the progress here so we can start getting bug reports and suggestions. One of the frequent requests for the side menu UI is to provide a way for it to render on top of the UI instead of shift the UI. The old side menu was written when the facebook app was the chief application that used that UI paradigm so it was built to match that approach.Read More
I'm a bit conflicted about this tip. The
AutoCompleteTextField is a problematic class that is in dire need of a rewrite. When we created it we still didn't accept that lists "need to go". It also predated features like the
InteractionDialog which would have made this component much easier to use.
One of the biggest challenges facing new Codename One developers is the challenge of creating an elegant looking UI. This isn't trivial in any tool but we don't make it easy enough in some cases. In the tutorial below I'm focusing on one of the most important UI elements: the side menu.Read More
One of the main reasons for the thread API I discussed yesterday is a new threadsafe
Database API. This new API allows you to wrap your `Database` instance with a thread that will hide all access to the database and implicitly make it threadsafe by serializing all requests to a single database thread.
Working with threads is usually ranked as one of the least intuitive and painful tasks in programming. This is such an error prone task that some platforms/languages took the route of avoiding threads entirely. I needed to convert some code to work on a separate thread but I still wanted the ability to communicate and transfer data from that thread.Read More
Using toggle buttons in touch interfaces is very intuitive for many use cases. We implement them via
CheckBox to indicate inclusive or exclusive selection. As a result I find myself using
RadioButton quite a lot and ran into an ommission that frankly should have been there from day 1.
I've been back from the bootcamp this past week and while I have committed many new changes I'm still taking things relatively easy after the hard work of the bootcamp. This will be the last Q&A Friday segment in the blog. Starting next week I'll replace this segment with "tutorial of the week" which will focus on publishing/updating a "How do I?" video tutorial on a weekly basis.Read More