I want to write my app so I can create B4J, B4A & B4I apps
That's a good goal. The way to start is by creating the three projects and linking the modules that should be shared. This way you will immediately see the problems.
For example the About and Tools classes use API very specific to B4J. Check the new B4XDialog from 'XUI Views' for an alternative cross platform dialog solution.
Some things that I see:
File.DirApp is B4J only and should be considered a read-only folder. Don't use it at all.
Use DBUtils which is cross platform and it will take care of the differences.
Also check XUI.DefaultFolder.
The usage of anchors is incorrect. It is important to implement the layout correctly with the visual designer. This will save you a lot of platform specific code.
I recommend you to watch the following videos:
https://www.b4x.com/etp.html
Visual Designer
XUI - Cross platform UI
XUI Cross Platform Example