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:

Erel

B4X founder
Staff member
Licensed User
Longtime User
PS: Could you please change the name of the B4X Basic Language booklet into B4X Language in the Documentation pages.
Done.

I'm uploading the correct Booklets zip. Should be online in a few minutes.

New method ?
It is a bit cumbersome but you can link to a specific page with an anchor: https://www.b4x.com/guides/B4XLanguage.html#pf2
The tricky part is that it expects a hex value.
Page 10:
Page 20:
 

klaus

Expert
Licensed User
Longtime User
The B4X Booklets have been updated to version 2.5.
They cover the latest versions of the B4X platforms.
The first projects in the Getting started booklet, MyFirstProgram and SecondProgram, are now B4XPages projects.
 

oleg_

Member
Licensed User
I started studying the documentation. First, I quickly looked through all the .PDF files. The impression is amazing! Everything is described in clear language and demonstrated in detail with numerous illustrations. I can imagine how much work you Klaus put into this.

Now I started studying B4XGettingStartedV2_5.pdf in detail and, unfortunately, on page 17, I discovered an annoying inaccuracy. Of course, this does not affect the general understanding of the material, since, logically, one can understand that we are talking about .b4j files, and not about . b4a, but still I considered it necessary to report this for future editions of this .PDF file.

At first I wanted to send a private message, but I couldn’t find a way to do this, so I had to write here. I suspect that forum newcomers are blocked from sending private messages until a certain number of posts have been published. And perhaps that’s right.
Screenshot_20240114_083741.jpg
 

oleg_

Member
Licensed User
B4XGettingStartedV2_5.pdf, page 72
Might be it's worth changing "Change the Package name to b4a.SecondProgram" to "Change the Package name to b4i.SecondProgram"?
-------
B4XGettingStartedV2_5.pdf, page 73.
Might be it's worth changing "For the keyboard, click on the Panel all the views inside the Panel will be copied" to "For the keyboard, click on the Panel. All the views inside the Panel will be copied"?
-------
B4XGettingStartedV2_5.pdf, page 75
Might be it's worth changing "Now you can go back to the IDE and run the program, and the result." to "Now you can go back to the IDE and run the program, and the result is this."?
--------
B4XGettingStartedV2_5.pdf, page 76
Might be it's worth changing "Change the Package name to b4a.SecondProgram" to "Change the Package name to b4j.SecondProgram"?
------
B4XGettingStartedV2_5.pdf, page 77.
Might be it's worth changing "For the keyboard, click on the Panel all the views inside the Panel will be copied" to "For the keyboard, click on the Panel. All the views inside the Panel will be copied"?
-------
B4XGettingStartedV2_5.pdf, page 78.
Might be it's worth changing "In the B4i designer, right click somewhere in the dark grey rectangle." to "In the B4j designer, right click somewhere in the dark grey rectangle."?

P.S. Klaus, please tell me whether it makes sense for me to continue to publish in this thread all these minor inaccuracies that have been noticed?
In fact, when a person sits at a computer and presses buttons, following your detailed instructions, he or she may simply not pay attention to all these little things. Everything will be clear to him/her from the very logic of actions. But I’m not acting now, I’m just studying the documentation, waking up early in the morning from insomnia and reading it all on my tablet. That's why I notice it.
 
Last edited:

oleg_

Member
Licensed User
For further typos and suggestions you could also PM me.
Click on start a conversation.
I would be glad, but, as I wrote earlier, for me it looks like forum newcomers are not allowed to send private messages to other members until they reach a certain number of posts.

When I press my envelope button, I get this almost empty small window. And even if I click on “Show all”, nothing worthwhile still appears.
And in your profile, I also don’t find a way to send you a private message.

Screenshot_20240116_111920.jpg
Screenshot_20240116_114343.jpg
 
Last edited:

udg

Expert
Licensed User
Longtime User
Hi @oleg_
the "block" is not related to a minimum number of post sent so far, but to your status of new member.
Just do a small donation to Anywhere Software to become "Licensed User" or "Registered Member" (I can't recall the exact label).
 

oleg_

Member
Licensed User
Hi @oleg_
the "block" is not related to a minimum number of post sent so far, but to your status of new member.
Hi @udg
In fact, I personally don’t really need PM. On the contrary, in all forums and chats I prefer to write in general threads, because personal correspondence is something like conspiratorial whispering behind everyone else’s back, which I, in itself, don’t really like.
Well, I’m just not quite familiar with the local rules yet. I don’t know if it’s even useful to write in this thread my corrections to the inaccuracies noticed. Maybe this is tantamount to cluttering the thread or something like that?
Well, I just want to do a good deed for the site while studying the material and nothing more.

I am still at the selection stage and am not yet sure whether I even need this language.
 
Last edited:

udg

Expert
Licensed User
Longtime User
Sure. My post was meant just as an explanation about the apparently missing feature and for the delay you experience when posting. Nothing more.
 

oleg_

Member
Licensed User
B4XGettingStartedV2_5.pdf, page 79.
Might be it's worth changing "Now you can go back to the IDE and run the program, and the result." to "Now you can go back to the IDE and run the program, and the result is this."?
-------------------
B4XGettingStartedV2_5.pdf, page 80.
Might be it's worth changing "This chapter is becoming obsolete it is only useful if you want to develop only with B4A. " to "This chapter is becoming obsolete. It is only useful if you want to develop only with B4A."?
-------------------
B4XGettingStartedV2_5.pdf, page 80.
Might be it's worth changing "The path for “"java.exe”" is already set. " to "The path for "“javac.exe"” is already set."?
-------------------
B4XGettingStartedV2_5.pdf, page 83.
"Scroll the screen until you see Developper options."
Developer?
"Developper" is in French.
----------------
B4XGettingStartedV2_5.pdf, page 88.
"Using B4XPages makes the handling of Android easier"
There is a period missing in this sentence.
----------------------
B4XGettingStartedV2_5.pdf, page 90.
"Now you see the template for a new B4APages project."
"Now you see the template for a new B4XPages project." ?
--------------
B4XGettingStartedV2_5.pdf, page 92.
"In the IDE, you will see on the top left two Tabs Main and B4XMainPage."
"In the IDE, you will see on the top left two Tabs: Main and B4XMainPage." ?
--------------
B4XGettingStartedV2_5.pdf, page 92.
"Now we need to set some parameters, in the next pages

.Set the Package Name."

"Now we need to set some parameters, in the next pages.

Set the Package Name."
 
Top