Open Source & Free  

Test Recorder and Toolbar

One of the key takeaways I have from the bootcamp is the need to work on TDD in Codename One. We had a test framework and test recording framework for years, but it wasn’t picked up by many developers and as such it stagnated. As we launched the Toolbar API we didn’t even check that Test Recorder and Toolbar

TIP: Handle EDT Errors

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. When you create a new Codename One application you might TIP: Handle EDT Errors

Tutorial – Layout Basics

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 Tutorial – Layout Basics

My iOS Build Won't Install

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 My iOS Build Won't Install

Sidemenu On Top

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 Sidemenu On Top

TIP: Auto Complete Renderer

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. Check out a live TIP: Auto Complete Renderer

Tutorial – Create a Gorgeous Sidemenu

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. I chose to Tutorial – Create a Gorgeous Sidemenu

Threadsafe SQLite

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. This also Threadsafe SQLite

Easy 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 Easy Thread

TIP: Listen on All Radios

Using toggle buttons in touch interfaces is very intuitive for many use cases. We implement them via RadioButton or 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. Up until now you TIP: Listen on All Radios

Questions of the Week 50

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 Questions of the Week 50

Fingerprint/TouchID Support

Fingerprint scanners are pretty common in modern hardware both from Apple and some Android vendors. The problem is that the iOS and Android API’s for accessing them are a world apart. However, it’s possible to find some low level common ground which is exactly what our cn1lib for fingerprint scanning accomplished. This is a very Fingerprint/TouchID Support