ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Help / WLanguage / WLanguage functions / Standard functions / External file functions
  • Data folders in Android
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Others
Stored procedures
Returns the full path of the directory of HFSQL data files specified by the user when installing the application.
Remark: This directory does not necessarily correspond to the real directory of the data files at runtime (which may have been modified with HSubstDir, HChangeDir, etc.).
AndroidAndroid Widget In Android, returns the full path of the default directory containing the databases of the application. This directory cannot be configured.
Example
// Create a .INI file
INIDir is string
IF fDataDir() <> "" THEN
	INIDir = fDataDir() + ["\"] + "MYPROJET.INI"
ELSE
	INIDir = "MYPROJECT.INI"
END
INIWrite("SECTION", "ALREADYRUN", "YES", INIDir)
Syntax
<Result> = fDataDir()
<Result>: Character string
  • Full path (for example: "D:\DATA\Rewali") or UNC path (for example: "\\SERVER\DATA\Rewali") of the directory for the HFSQL data files.
  • Result of fExeDir if no directory was specified during the setup (in test mode and when running an executable without setup).
  • AndroidAndroid Widget Full path of the default directory containing the application database(s) in the internal storage area. This directory corresponds to the "Databases" directory of the application. This directory cannot be configured.
  • iPhone/iPadIOS WidgetMac Catalyst Full path of the directory containing the databases of the application. This directory corresponds to the "Documents" directory of the application. This directory cannot be configured.
Remarks
Android Widget

Data folders in Android

In Android, the folders corresponding to the data are not simply identified.
The following code is used to list the main files and the correspondence of these files when the device is connected to a computer.
// List the main usable folders in Android
sDirectoryInfo is string

// Default data folder 
sDirectoryInfo += [CR] + "fDataDir: " + fDataDir()
// Example: /data/user/0/com.mycompany.projet_name/databases
// Folder NOT accessible by a computer when it is connected

// Main external storage card 
// (or internal storage that emulates an external card)
sDirectoryInfo += [CR] + "SysDirStorageCard: " + SysDirStorageCard()
// Example: /storage/emulated/0
// Folder accessible by a computer when it is connected, 
// it is seen as the "root" of a disk on the device

// All the devices on which it is possible to read or write
FOR n= 1 _TO_ SysNbExternalStorage()
	// Home folder of this device (or emulated device)
	sDirectoryInfo += [CR] + "SysDirExternalStorage(" + n + ", ssePublic): " + ...
		SysDirExternalStorage (n, ssePublic)
	// Example for an emulated card: /storage/emulated/0
	// Folder accessible by a computer when it is connected, 
	// it is seen as the "root" of a disk on the device

	// Data file directory of the current application 
	// (when the data is on the card)
	sDirectoryInfo += [CR] + "SysDirExternalStorage(" + n + ", sseAppFile): " + ...
		SysDirExternalStorage(n, sseAppFile)
	// Example: /storage/emulated/0/Android/data/com.mycomany.project_name/files
	// Folder accessible by a computer when it is connected, 
	// it is seen as the subdirectory 
	// "\Android\data\com.mycompany.project_name\files" of a disk

	// Document folder of the current application 
	sDirectoryInfo += [CR] + "SysDirExternalStorage(" + n + ", sseAppDocument): " + ...
			SysDirExternalStorage(n, sseAppDocument)
	// Example: /storage/emulated/0/Android/data/com.mycomany.project_name/files/Documents
	// Folder accessible by a computer when it is connected, 
	// it is seen as the subdirectory 
	// "\Android\data\com.mycompany.project_name\Documents" of a disk

	// Folder with "public" / "shared" documents, common to all the applications 
	sDirectoryInfo += [CR] + "SysDirExternalStorage(" + n + ", ssePublicDocument): " + ...
			SysDirExternalStorage(n, ssePublicDocument)
	// Example: /storage/emulated/0/Documents
	// Folder accessible by a computer when it is connected, 
	// it is seen as the "\Documents" subdirectory of a disk

END

// Directory with the cache files of the application 
// (this data can be deleted by the user or the system)
sDirectoryInfo += [CR] + "fCacheDir: " + fCacheDir()
// Example: /data/user/0/com.mycompany.project_name/cache
// Folder NOT accessible by a computer when it is connected

// To have information in the Android Device Monitor traces 
// (.\personal\Android\AndroidSDK\tools\monitor.bat)
Trace(sDirectoryInfo)
Info(sDirectoryInfo)
Component: wd300vm.dll
Minimum version required
  • Version 9
This page is also available for…
Comments
Click [Add] to post a comment

Last update: 06/07/2024

Send a report | Local help