We’ve discussed codapps.io before, it’s a MOOC (online course) that allows you to learn Java programming and uses mobile/Codename One as its vehicle. Our current documentation and tutorials can be quite intimidating to a person who is a complete Java newbie so this course is quite helpful in bridging that gap.
I think learning GUI programming is probably the best way to learn programming as it lets you "see" the results instantly and experiment.
The codapps.io MOOC focuses on typical apps created with the GUI builder and tries to smooth the entry into the lower level Java coding.
Another interesting tutorial for complete beginners is from Loke Hansen and we discussed it here. Hansen created a series of tutorials covering the process of building a game from scratch without any experience in Java. He explains a lot of complex details very clearly and because this is a game the course is both entertaining and goal oriented!
We have a lot of documentation, but picking up a 900 page developer guide might be intimidating when you are completely new to Java.
Here are some helpful resources to get you started:
Component Gallery - shows the common components that are a part of Codename One in a visual index
Layout gallery - layouts are one of the hardest concepts to grasp in Codename One, this visual gallery covers the basic Codename One layout managers
JavaDoc - the JavaDoc is a standard "reference guide" to the Codename One API and what’s available in it you can search any method/class by clicking one of the index files Developer guide
Demos - the Codename One demos e.g. the Kitchen Sink are a great place to start. You can create most demos by just going thru the wizard process by selecting New Project → Codename One → Demos →#Name of demo#
Stack overflow is the best place to ask for help but it can sometimes be intimidating as you need to ask in the "right way" & that can be difficult when you don’t know anything. Try asking on the discussion forum notice that sometimes things get flagged as SPAM by the automatic Google filters. To avoid that you should probably join the group before posting and use a verified gmail account.
I learned Java by reverse engineering the first public beta and a lot of experimentation 20 years ago. Things that are obvious to me might be baffling to people making their first steps into programming…
When you ask a question keep in mind that sometimes we might be detached from your current experience level and guide us toward the type of answer you need.
Keep in mind that engineering, math and all such disciplines eventually boil down to patience. Putting in the hours, effort and asking for help when necessary will eventually pay off.