Android Tutorial [B4X] Documentation Booklets

The B4X documentation booklets are available in PDF format, Download Link.
All files are included in the zip file in the link above, pdf booklets and all the source code.

You can also download all the source code for al booklets, SourceCode.

These booklets cover the four B4X platforms.
Some don't cover B4R because the subject is not relevant for B4R like Visual Designer.

Example projects with source code are included.

All booklets can be accessed online with the links below.
The generic link is: https://www.b4x.com/guides/BookletName/?page=xx
In this example we reach the B4xCustomViews booklet page 59: https://www.b4x.com/guides/B4xCustomViews/?page=59
The booklet names must begin with B4x (the x is in lower case) and without blank characters.
The summary of the list can be found here: Documentation
To get the source code of the example projects you can either download the entire zip file with the pdf booklets or only the source codes with the SourceCode link on top or at the end in the list below.

General booklets:
B4X Getting started
This booklet explains how to start with each B4x product (B4A, B4i, B4J and B4R).
B4X Language
This booklet explains the language for B4A, B4i, B4J and B4R.
B4X IDE
This booklet explains the Integrated Developpment Environment for B4A, B4i, B4J and B4R.
B4X Visual Designer
This booklet explains the Visual Designer for B4a, B4i and B4J.
B4X Help tools
This booklet explains some help tools for B4X. In the previous editions, its content was a chapter in the four booklets above.

Specific booklets:
B4XPages Cross-platform projects
This booklet explains how to make cross-platform projects.
B4X Custom Views + CustomViews_SourceCode, specific code for this booklet.
This booklet explains the CustomView subject for B4A, B4i and B4J.
B4X Graphics
This booklet explains Graphics for B4A, B4i, B4J, XUI And BitmapCreator.
B4X XUI
This booklet explains the XUI library which makes it easier to share code between B4A, B4J and B4i projects.
B4X SQLiteDatabase
This booklet explains the use of the SQLite library
B4X JavaObject-NativeObject
This booklet explains the use of JavaObjects (B4A and B4J) and NativeObjects (B4i)

B4R ExampleProjects
This booklet explains some B4R example projects.

SourceCode
Zip file containing all the source codes.

The current editions are 2.5
All booklets have the same edition number, to avoid confusion.
They cover:
B4A version 12.80
B4i version 8.50
B4J version 10.00
B4R version 4.00

Future booklets:
None in the to do list.

Some of these booklets exist in Spanish:

Español, Spanish.
Translated by Manuel Martinez.
 
Last edited:

klaus

Expert
Licensed User
Longtime User
The first post has been updated!
Erel has converted the B4X Booklets into html format to be shown in a web page.
The different links allow you to display the booklets directly in your browser.
For the example project codes, you still need to download the booklets zip file.
 

mjcoon

Well-Known Member
Licensed User
Can I make plea for the booklets to have informative titles? These show in the tabs in Acrobat Reader (and maybe other readers). At the moment many just show as "Beginners Guide" which does not help with switching between them. The SQL booklet has no title at all.

I have tried to edit titles myself but failed...
 

klaus

Expert
Licensed User
Longtime User
I had seen this too, but haven't yet found the solution to change these.
The original files are Word files and I export them as pdf files.
For these booklets, I used the Beginner's Guide Word file and adapted it.
But I don't know why this name is still in there.
Will look deeper into it.

EDIT:
Found it.
In Word files there exist a Title field, this was set to Beginner's Guide.
The booklets will be updated quite soon!
 
Last edited:

mjcoon

Well-Known Member
Licensed User
...
In Word files there exist a Title field, this was set to Beginner's Guide.
The booklets will be updated quite soon!

Thanks Klaus, I look forward to that. BTW, another small (?) update: in the SQL booklet it says: "Note: DBUtils is a code module and not a library!". But I am using it as a library. If there are any other differences between the versions the update might not be so small...

Best regards, Mike.
 

mjcoon

Well-Known Member
Licensed User
There are, I find; in the booklet it says: "The style of the table can be changed by modifying the HtmlCSS variable."

This is not (I assume) available with the library. Although an extra method to set the variable could fill the gap...

Mike.
 

klaus

Expert
Licensed User
Longtime User
Thank you for reporting these points.

The original booklets have been updated for the next edition not yet published.

There are, I find; in the booklet it says: "The style of the table can be changed by modifying the HtmlCSS variable."
Look HERE.
 

Acuario

Member
Licensed User
Longtime User
I've created a flow chart for the Android program flow, primarily so I understood the program flow myself - I hope it's correct. The booklet is very good but a picture saves 1000 words..
I've attached it in case anyone else (particularly newcomers like me) finds it useful.
 

Attachments

  • AndroidProgramFlow.pdf
    185.9 KB · Views: 425

Roger Daley

Well-Known Member
Licensed User
Longtime User
I've created a flow chart for the Android program flow, primarily so I understood the program flow myself - I hope it's correct. The booklet is very good but a picture saves 1000 words..
I've attached it in case anyone else (particularly newcomers like me) finds it useful.

Acuario,
Looks great. Perhaps this or something similar could be included in the Intro Booklet.

Regards Roger
 

Acuario

Member
Licensed User
Longtime User
That's fine by me - anything to help. It was created using the online tools at Diagrams.net
I've attached the saved file that can be re-loaded from the site so it can be modified if needed.
 

Attachments

  • AndroidFlow.zip
    3.7 KB · Views: 349

klaus

Expert
Licensed User
Longtime User
The B4X Booklets have been updated to version 1.8.

New !
Two new booklets have been added.
B4X Cross-platform projects, which explains how to make cross-platform projects.
B4X Help tools, which shows different tool to help working with B4X.
The content of this booklet was a chapter in four booklets in the previous editions. I took them out and made a separate booklet.
 

mangojack

Well-Known Member
Licensed User
Longtime User
Many Thanks .., Was just starting to undertake the proccess of re-coding b4j / b4a projects to cross platform.

ps: a small typo ... Page 12 B4X Cross-Platform projects.

5 Project with 2 ‘screenss
 

mangojack

Well-Known Member
Licensed User
Longtime User
@klaus ... Something else has come to light ,

In both Documentation & Source Code for the B4X_TwoScreens project the folowing errors...

xMain - 56: Unknown member: selecteditem
xScreen1 - 44: Unknown member: selecteditem

B4X:
Private Sub xcbxMain_SelectedIndexChanged (Index As Int)
    Main.SelectedIndex = Index    'We memorize the index in the variable
    Main.SelectedItem = xcbxMain.SelectedItem 'We memorize the index in the variable

I think this should this be .SelectedIndex

Cheers
 

klaus

Expert
Licensed User
Longtime User
Sounds strange, it works OK on my devices.
Selectedtem does exist:

1589625285298.png


Which library versions do you have?
Mine are:

1589625414863.png
 
Last edited:

mangojack

Well-Known Member
Licensed User
Longtime User
Sounds strange, it works OK on my devices. SelecteItem does exist:

And so it should ...

Updating B4X XUI Views library to latest version (2.30) , threw this issue out the window. ;)
 

Peter Simpson

Expert
Licensed User
Longtime User
Good morning @klaus,
I've just quickly gone through your cross platform booklet (I read it for a quick refresher), it has some great points that I had not considered. Your booklet also jogged my memory on a couple of things that I had completely forgotten about, these will definitely improve my cross platform development techniques.

Thank you...
 

JagiChan

Member
I've created a flow chart for the Android program flow, primarily so I understood the program flow myself - I hope it's correct. The booklet is very good but a picture saves 1000 words..
I've attached it in case anyone else (particularly newcomers like me) finds it useful.
Nicely documented 👍. I am from the embedded world where there is only a while(1) { ; } loop which runs forever calling functions and executing sequentially.
This document helped me understand how the program flow in an Android app works. No wonder @Erel mentioned in a few posts NOT to use loops, but wait for events to fire up and then take action.
 
Top