ecab4d53d2
* Add doxygen and doxygen-awesome css, cleanup docs files * Ignore more libraries and remove leftover local variables * Create an actual intro page * .md files linting * Add doxygen action * Fix Doxygen path * Fix doxyfile path * Try to upload * Change docs branch * Add submudules checkout * Disable doxygen on PR * Mention the firmware docs in the readme * More dev docs mentions in the readme * Fix runner group, add tags * Test dev in PR * Disable running on PR * Fix a typo in the doxyfile * Try upload to S3 * Fix local path * Fix S3 ACL * Add delete flag, unifying dev and tags * Update ignored directories * More ignored directories * Even more ignored directories * Fix submodule * Change S3 uploader * Change S3 uploader version * Fix aws sync flags * Fix ACL * Disable ACL * Improve ignores, add WiFi devboard docs * TEMP: generate dev docs * TEMP: generate 0.89.0 docs * Disabling PR trigger * Enable submodules and test build * Enable test build * Disable test build * Change docs directory structure * Fix accidentally committed submodule * Fix submodules * Update links to the developer documentation * Markdown linting * Update workflow, enable test build * Fix doxygen dir path * Update Doxyfile-awesome.cfg * Change paths * Fix upload docs path * Disable pull_request debug trigger * Disable tags building * Remove autolinks and namespaces * Establish basic documentation structure * Add missing changes * Improve stylesheet, move some files * Improve examples * Improve the main page * Improve application dev docs * Improve system programming docs * Improve development tools docs * Improve other docs * Improve application examples * Fix formatting * Fix PVS-studio warnings * Improve visuals * Fix doxygen syntax warnings * Fix broken links * Update doxygen action Co-authored-by: DrunkBatya <drunkbatya.js@gmail.com> Co-authored-by: あく <alleteam@gmail.com> Co-authored-by: Georgii Surkov <georgii.surkov@outlook.com> Co-authored-by: Georgii Surkov <37121527+gsurkov@users.noreply.github.com> |
||
---|---|---|
.. | ||
application.fam | ||
example_apps_data.c | ||
README.md |
Apps Data folder Example
This example demonstrates how to utilize the Apps Data folder to store data that is not part of the app itself, such as user data, configuration files, and so forth.
Source code
Source code for this example can be found here.
What is the Apps Data Folder?
The Apps Data folder is a folder used to store data for external apps that are not part of the main firmware.
The path to the current application folder is related to the appid
of the app. The appid
is used to identify the app in the app store and is stored in the application.fam
file.
The Apps Data folder is located only on the external storage, the SD card.
For example, if the appid
of the app is snake_game
, the path to the Apps Data folder will be /ext/apps_data/snake_game
. But using raw paths is not recommended, because the path to the Apps Data folder can change in the future. Use the /data
alias instead.
How to get the path to the Apps Data folder?
You can use /data
alias to get the path to the current application data folder. For example, if you want to open a file config.txt
in the Apps Data folder, you can use the next path: /data/config.txt
. But this way is not recommended, because even the /data
alias can change in the future.
We recommend to use the APP_DATA_PATH
macro to get the path to the Apps Data folder. For example, if you want to open a file config.txt
in the Apps Data folder, you can use the next path: APP_DATA_PATH("config.txt")
.
What is the difference between the Apps Assets folder and the Apps Data folder?
The Apps Assets folder is used to store the data provided with the application. For example, if you want to create a game, you can store game levels (content data) in the Apps Assets folder.
The Apps Data folder is used to store data generated by the application. For example, if you want to create a game, you can save the progress of the game (user-generated data) in the Apps Data folder.