đź§© FirebaseDatabaseExtended
An extension for MIT App Inventor 2.Firebase Realtime Database Extension using REST API. Developed by Jamar using Fast.
Overview
FirebaseDatabaseExtended is a lightweight yet powerful extension designed to simplify and standardize Firebase Realtime Database interactions in MIT App Inventor–based environments.
It addresses inconsistencies observed in the default Firebase component and introduces structured JSON handling, controlled data merging, synchronous and asynchronous access methods, and improved error reporting.
This extension is particularly suited for developers who require,
- Deterministic key–value storage (non-list-based)
- JSON-to-dictionary mapping
- Append/merge operations without overwriting existing data
- Explicit success and error callbacks
Specifications
- Package:
com.firebaseextended.oi.firebasedatabaseextended - Extension Size: 20.04 KB
- Minimum Android API Level: 14
- Last Updated: 2026-01-26
- Built & Documented Using:
FAST – Fast and Simple Extensions Toolchain Version 5.4.0
Events
FirebaseDatabaseExtended exposes a total of 5 events:
1. OnStoreSuccess
Triggered when data is successfully stored in Firebase.
| Parameter | Type |
|---|---|
| path | text |
2. OnAppendSuccess
Triggered when data is successfully appended or merged at a Firebase path.
| Parameter | Type |
|---|---|
| path | text |
3. OnGetSuccess
Triggered when data is successfully retrieved from Firebase.
| Parameter | Type |
|---|---|
| path | text |
| value | text |
4. OnError
Triggered when an error occurs during any Firebase operation.
| Parameter | Type |
|---|---|
| functionName | text |
| errorMessage | text |
5. OnConnectionTestComplete
Triggered after a Firebase connectivity test completes.
| Parameter | Type |
|---|---|
| success | boolean |
| message | text |
Methods
FirebaseDatabaseExtended provides 12 methods:
1. StoreAtPath
Stores a single key–value pair at a specified Firebase path.
Existing data at that path is overwritten.
| Parameter | Type |
|---|---|
| path | text |
| key | text |
| value | any |
2. StoreValueFromJSON
Parses a JSON string and stores all key–value pairs at the specified path.
Example JSON:
{"name":"John","age":25}
| Parameter | Type |
|---|---|
| path | text |
| jsonText | text |
3. AppendAtPath
Adds or updates a single key–value pair without overwriting other data at the same path.
| Parameter | Type |
|---|---|
| path | text |
| key | text |
| value | any |
4. AppendFromJSON
Parses a JSON string and merges all key–value pairs with existing data.
| Parameter | Type |
|---|---|
| path | text |
| jsonText | text |
5. GetValue
Retrieves a specific value by key from a Firebase path.
Returns an empty string if the key does not exist.
| Parameter | Type |
|---|---|
| path | text |
| key | text |
6. GetAllValues
Retrieves all key–value pairs at a Firebase path as a JSON string.
| Parameter | Type |
|---|---|
| path | text |
7. DeleteAtPath
Deletes all data at the specified Firebase path.
| Parameter | Type |
|---|---|
| path | text |
8. TestConnection
Tests the current Firebase configuration and connectivity.
9. ValidateJSON
Checks whether the provided text is a valid JSON string.
- Return type:
boolean
| Parameter | Type |
|---|---|
| jsonText | text |
10. CreateJSON
Generates a JSON string from multiple key–value pairs.
Example:
CreateJSON("name", "John", "age", 25)
- Return type:
text
| Parameter | Type |
|---|---|
| keyValuePairs | any |
11. GetValueSync
Synchronously retrieves a value from Firebase.
Blocks execution until a response is received; use cautiously to avoid UI freezes.
- Return type:
text
| Parameter | Type |
|---|---|
| path | text |
| key | text |
12. GetAllValuesSync
Synchronously retrieves all values at a Firebase path as a JSON string.
- Return type:
text
| Parameter | Type |
|---|---|
| path | text |
Designer Properties
FirebaseDatabaseExtended includes 3 designer properties:
1. FirebaseDatabaseUrl
- Type:
string - Default:
https://your-project.firebaseio.com/
2. FirebaseApiKey
- Type:
string
3. ProjectIdBucket
- Type:
string
Setter Properties
FirebaseDatabaseUrl
The Firebase Realtime Database URL.
Must end with a trailing slash (/).
FirebaseApiKey
Your Firebase Web API Key
(Firebase Console → Project Settings → Web API Key).
ProjectIdBucket
Optional project ID bucket.
Typically not required for standard operations.
Getter Properties
Each getter returns the currently configured value:
FirebaseDatabaseUrl→textFirebaseApiKey→textProjectIdBucket→text
Blocks
AIX
com.firebaseextended.oi.firebasedatabaseextended.aix (20.0 KB)
Acknowledgements & Notes
This extension was created to mitigate inconsistent behavior observed in the default Firebase component.
Special thanks to @jewel for the Fast CL
, which significantly simplifies extension development and publishing, thank to @curious_singh for this thread, it boosted something ![]()
Quick sample usage

Additional features and improvements are planned and will be released in upcoming updates.


