Post Image

TIP: Table to Box

One of the most painful aspects in any mobile app is input, besides the difficulty of viewing the details on a tiny cramped screen the input via the virtual keyboard is nowhere near the input comfort of a full fledged computer or even a tablet.

Read More
Post Image

Questions of the Week 36

We had to push out an update to the IntelliJ/IDEA plugin to workaround an issue that started happening with their latest IDE update. The 3.5.11 version didn't change much just fixed those specific issues. Other than that this weeks release includes some new In-App-Purchase features (that we will discuss next week) and the new seamless caching API discussed yesterday.

Read More
Post Image

Automatic Caching

Caching server data locally is a huge part of the advantage a native app has over a web app. Normally this is non-trivial as it requires a delicate balance especially if you want to test the server resource for changes.

Read More
Post Image

Introduction to In-App Purchase

In-app purchase is ahelpful tool for making app development profitable. Codename One has supported in-app purchases of consumable and non-consumable products on Android and iOS for some time now, and with the next update we are adding support for subscriptions. For such a seemingly simple task, in-app purchase involves a lot of moving parts - especially when it comes to subscriptions.

Read More
Post Image

Cache, Sorted Properties and Preference Listener

We've had quite a few interesting features land last week and didn't get a chance to cover them. First we have access to the OS's caches directory where you can store files that you don't really need as cache. Both iOS & Android have such a directory and files stored there might be purged without notice if the OS runs out of space.

Read More
Post Image

TIP: Search the Website

A frequent complaint we get is the lack of a search feature on the site and we get that. It's frustrating to us too. We'd like to add it but are still looking at the "right way" to do it which I'll discuss at more length below but for now I'd like to discuss a couple of relatively simple workarounds.

Read More
Post Image

Questions of the Week 35

This week has been a bit slow with features and external progress as we've started to focus on the issues for the January release of 3.6. During December we'll probably pause blogging between December 22nd and January 2nd as it would probably get lost to the ether for most of our audience.

Read More
Post Image

Seamless Storage Encryption

We had support for bouncy castle encryption for quite a while but it is not as intuitive as we'd like it to be. This makes securing/encrypting your app painful and so we procrastinate and eventually skip that "feature" altogether. Frankly, I hate working on encryption it's painful... That's why we procrastinated on this feature until today!

Read More
Post Image

Default Validation Emblem

The validation framework makes it easy to verify input quickly and effectively. Up until now you had to define an emblem in order to create an error icon and if you didn't you had to define an "Invalid" UIID for every entry.
This exists by default for text fields and other types but is still a big hassle just to check that we have a valid email...

Read More
Post Image

TIP: Avoid 2D Arrays

In the first betas of Codename One we had a lot of bugs related to 2D arrays due to XMLVM. We no longer use XMLVM but the recommendation to avoid 2D arrays remains. We still use them in some occasions e.g. in the creation of a DefaultTableModel but the implementation discards them in favor of an ArrayList internally.

Read More