B4x / PHP compatibility thread
A lot of developers like me use php as the backend component on a server to communicate with B4x apps. My intention is to create a thread with some "How to''s" and best practices. Please feel free to expand it. It''s not the place to post questions (please open a new thread then). The examples posted here can be used in all B4x products (maybe with a slight change).
@KMatle · 2017-09-30
RegexBuilder - Builder for Regular Expressions [B4X]
Regex is a very powerful tool for parsing strings. However the regex syntax can be a bit difficult if you are not using regex regularly. Reading a regex pattern and understanding it is even more challenging. The purpose of RegexBuilder is to help with building regex patterns. The API is based on a builder pattern. It is more verbose and hopefully more clear. It is inspired by VerbalExpressions open source project, though there are many differences between the two.
@Erel · 2017-09-03
Search algorithms (and code) on ordered lists
Search algorithms (and code) on ordered lists
@Star-Dust · 2017-09-02
Old-school Parallax Scrolling
In the 8-bit era, most videogame consoles weren''t powerful enough to support multiple background layers. Using a single layer, however, it would be possible to create such an illusion.
@wonder · 2017-08-28
LibDoc (creation of documentation for libraries)
Many library developers know the script of Martin Pearman that converts the XML file to HTML or BB code. Unfortunately, this script contains several bugs and, whenever I use it, I spend a lot of time to fix the errors by hand (e.g. more than 300 errors to fix in the documentation of SimpleGameEngine). So I decided to create a tool with B4J to replace the script. This tool uses templates so you can customize the output. Currently the default result is similar to the Pearman''s script. This is not reserved to library developers. Any B4A/B4J user can use the tool to produce a documentation from the XML file of a library. The B4J source code is provided.
@Informatix · 2017-08-26
GamePad support for B4j
GamePad support for B4j
@ilan · 2017-08-24
Manage XMLRPC with okHttpUtils easily (B4X)
I see that there are often questions if there are XMLRPC libraries working in B4X ( B4A, B4i ).Managing the same is very simple through okHttputils.
@MarcoRome · 2017-08-06
Johan''s Overview
Johan''s Overview
@Johan Schoeman · 2017-08-05
Fun With Lists
It doesn''t improve anything, but it makes my code more readable
@wonder · 2017-07-29
Google Place Autocomplete View [B4X] [custom view]
PlacesAutocompleteView is based on SearchView. It calls Google''s Places autocomplete API to let the user select a place. Once selected it sends another request to get the exact location. You can get other information as well.
@Erel · 2017-07-24
Sanitize Hashtag strings
Code to make sure a string complies with "standard" Hashtag rules.
@fredo · 2017-07-20
Index of Nth occurrence [B4X]
Returns the index of the Nth occurrence of the string searched for. Returns -1 if not found.
@Erel · 2017-07-20
One-liner downloads [B4X]
One-liner downloads [B4X]
@Erel · 2017-07-18
Sending emails with Gmail REST API [B4X]
Up until now there were two ways to send emails: 1. Using the default mobile app which required the user to actually send the message (available in B4A and B4i). 2. Using SMTP from the Net library. This required the user to enter the email account details. Both options are problematic. Now there is a third option which is to ask the user once for permission to send emails through his gmail account Once allowed we can use the Gmail API to send messages.
@Erel · 2017-07-17
Meld: Nice tool for diffing files and directories
This isn''t really a tutorial but rather a recommendation for a diff tool. Sometimes you need to compare files, or even directories, and doing it manually is just too painful and difficult. I''ve used Meld many times over the years (mostly on Linux though), and can really recommend it. Meld can be found at http://meldmerge.org/ and is completely free.
@Sandman · 2017-07-16
Big-endian and Little-endian
I didn''t know what was the difference was between Big-endian and Little-endian, so I just looked up about it on the internet as I needed to know the difference for a sketch I was converting. I just thought that I would share the following information with you.
@Peter Simpson · 2017-06-29
Dualshock 4 (PS4) Controller KeyCode Values
Dualshock 4 (PS4) Controller KeyCode Values
@wonder · 2017-06-25
Using a Git Repository (Version Control) for Beginners
Using a Git Repository (Version Control) for Beginners
@wonder · 2017-06-22
SQL with Wait For [B4X]
The new resumable subs feature, introduced in B4J v5.50, B4i v4.00 and B4A v7.00 (to be soon released), makes it simpler to work with large data sets with minimum effect on the program responsiveness.
@Erel · 2017-05-15
Network + AsyncStreams + B4XSerializator B4J
This is the B4J version of this B4A example: Network + AsyncStreams + B4XSerializator Note that B4XSerializator is cross platform, so it should be simple to use similar code to communicate with B4A or B4i programs.
@Erel · 2017-05-15
B4RSerializator - Send and receive objects instead of bytes [B4X]
B4RSerializator solves a difficult and common task. Sending messages with multiple fields to other platforms.
@Erel · 2017-04-24
Game engines
In case someone missed them, here are the game engines at your disposal for the B4x products: B4a: libGDX B4j: SimpleGameEngine + jBox2D B4i: iSpriteKit
@eps · 2017-04-20
Useful Formulas
Useful math / physics / other formulas
@wonder · 2017-04-14
Use (inlined) DistanceSquared to compare distances [Performance]
Use (inlined) DistanceSquared to compare distances [Performance]
@wonder · 2017-04-14
Numeric conversions
The class posted in this thread contains many functions that i use to convert numeric variables in others (ex. byte2int16, long2bytes, byte2hex, etc..)
@MarcelloCSI · 2017-03-27
Game Programming Patterns [eBook]
Game Programming Patterns [eBook]
@wonder · 2017-03-21
How to "Collapse All" with a single key
While developing pages for ABMaterial, I frequently use Edit->Outlining->Collapse All to condense the source and navigate between sections. Today there is no hot-key in the IDE to "Collapse All". Instead you can press [CTRL] [SHIFT] [O] a couple times to "Toggle All" and get the same result. But that''s still a bit of keyboard yoga. Here''s how can you map "Collapse All" to a single key with a clever project from Instructables.
@stanmiller · 2017-03-15
corwin42 - Libraries Overview
corwin42 - Libraries Overview
@corwin42 · 2017-02-27
the First b4x ORM framework
the First b4x ORM framework / JSON parser
@icefairy333 · 2017-02-08
Native Gamepad Support
Native Gamepad Support
@wonder · 2016-12-27