UDocumentation
UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
AndroidPlatformFile.h
Go to the documentation of this file.
1
// Copyright Epic Games, Inc. All Rights Reserved.
2
3
/*=============================================================================================
4
AndroidFile.h: Android platform File functions
5
==============================================================================================*/
6
7
#pragma once
8
9
#include "
GenericPlatform/GenericPlatformFile.h
"
10
#if USE_ANDROID_JNI
11
#include <jni.h>
12
#endif
13
18
class
IAndroidPlatformFile
:
public
IPhysicalPlatformFile
19
{
20
public
:
21
// Methods that expose an argument for allowing Android Assets (i.e. `assets` directory in Gradle project) to be considered. By default, they are
22
// not, because Asset stat can be very slow on some devices.
23
virtual
bool
FileExists
(
const
TCHAR
* Filename,
bool
bAllowAssets
) = 0;
24
virtual
int64
FileSize
(
const
TCHAR
* Filename,
bool
bAllowAssets
) = 0;
25
virtual
FFileStatData
GetStatData
(
const
TCHAR
*
FilenameOrDirectory
,
bool
bAllowAssets
) = 0;
26
virtual
bool
DirectoryExists
(
const
TCHAR
* Directory,
bool
bAllowAssets
) = 0;
27
virtual
bool
IterateDirectory
(
const
TCHAR
* Directory,
FDirectoryVisitor
& Visitor,
bool
bAllowAssets
) = 0;
28
virtual
bool
IterateDirectoryStat
(
const
TCHAR
* Directory,
FDirectoryStatVisitor
& Visitor,
bool
bAllowAssets
) = 0;
29
// Using statements avoid a compiler warning - this says, "yes I am intending to add virtual overloads in a subclass, no it's not a mistake".
30
using
IPlatformFile::FileExists
;
31
using
IPlatformFile::FileSize
;
32
using
IPlatformFile::GetStatData
;
33
using
IPlatformFile::DirectoryExists
;
34
using
IPlatformFile::IterateDirectory
;
35
using
IPlatformFile::IterateDirectoryStat
;
36
37
static
CORE_API
IAndroidPlatformFile
&
GetPlatformPhysical
();
38
39
#if USE_ANDROID_FILE
44
static
CORE_API
const
FString*
GetOverrideLogDirectory
();
45
#endif
46
47
#if USE_ANDROID_JNI
48
// Get the android.content.res.AssetManager that Java code
49
// should use to open APK assets.
50
virtual
jobject
GetAssetManager
() = 0;
51
#endif
52
53
// Get detailed information for a file that
54
// we can hand to other Android media classes for access.
55
56
// Is file embedded as an asset in the APK?
57
virtual
bool
IsAsset
(
const
TCHAR
* Filename) = 0;
58
59
// Offset within file or asset where its data starts.
60
// Note, offsets for assets is relative to complete APK file
61
// and matches what is returned by AssetFileDescriptor.getStartOffset().
62
virtual
int64
FileStartOffset
(
const
TCHAR
* Filename) = 0;
63
64
// Get the root, i.e. underlying, path for the file. This
65
// can be any of: a resolved file path, an OBB path, an
66
// asset path.
67
virtual
FString
FileRootPath
(
const
TCHAR
* Filename) = 0;
68
69
CORE_API
virtual
FString
ConvertToAbsolutePathForExternalAppForRead
(
const
TCHAR
* Filename)
override
;
70
CORE_API
virtual
FString
ConvertToAbsolutePathForExternalAppForWrite
(
const
TCHAR
* Filename)
override
;
71
};
TCHAR
FPlatformTypes::TCHAR TCHAR
Either ANSICHAR or WIDECHAR, depending on whether the platform supports wide characters or the requir...
Definition
Platform.h:1135
int64
FPlatformTypes::int64 int64
A 64-bit signed integer.
Definition
Platform.h:1127
StaticCastSharedRef
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition
SharedPointer.h:127
GenericPlatformFile.h
IAndroidPlatformFile
Definition
AndroidPlatformFile.h:19
IAndroidPlatformFile::FileStartOffset
virtual int64 FileStartOffset(const TCHAR *Filename)=0
IAndroidPlatformFile::IterateDirectory
virtual bool IterateDirectory(const TCHAR *Directory, FDirectoryVisitor &Visitor, bool bAllowAssets)=0
IAndroidPlatformFile::ConvertToAbsolutePathForExternalAppForWrite
virtual CORE_API FString ConvertToAbsolutePathForExternalAppForWrite(const TCHAR *Filename) override
IAndroidPlatformFile::IterateDirectoryStat
virtual bool IterateDirectoryStat(const TCHAR *Directory, FDirectoryStatVisitor &Visitor, bool bAllowAssets)=0
IAndroidPlatformFile::GetStatData
virtual FFileStatData GetStatData(const TCHAR *FilenameOrDirectory, bool bAllowAssets)=0
IAndroidPlatformFile::GetPlatformPhysical
static CORE_API IAndroidPlatformFile & GetPlatformPhysical()
IAndroidPlatformFile::FileSize
virtual int64 FileSize(const TCHAR *Filename, bool bAllowAssets)=0
IAndroidPlatformFile::DirectoryExists
virtual bool DirectoryExists(const TCHAR *Directory, bool bAllowAssets)=0
IAndroidPlatformFile::IsAsset
virtual bool IsAsset(const TCHAR *Filename)=0
IAndroidPlatformFile::FileRootPath
virtual FString FileRootPath(const TCHAR *Filename)=0
IAndroidPlatformFile::ConvertToAbsolutePathForExternalAppForRead
virtual CORE_API FString ConvertToAbsolutePathForExternalAppForRead(const TCHAR *Filename) override
IAndroidPlatformFile::FileExists
virtual bool FileExists(const TCHAR *Filename, bool bAllowAssets)=0
IPhysicalPlatformFile
Definition
GenericPlatformFile.h:995
IPlatformFile::FDirectoryStatVisitor
Definition
GenericPlatformFile.h:623
IPlatformFile::FDirectoryVisitor
Definition
GenericPlatformFile.h:576
IPlatformFile::GetStatData
virtual FFileStatData GetStatData(const TCHAR *FilenameOrDirectory)=0
IPlatformFile::IterateDirectoryStat
virtual bool IterateDirectoryStat(const TCHAR *Directory, FDirectoryStatVisitor &Visitor)=0
IPlatformFile::IterateDirectory
virtual bool IterateDirectory(const TCHAR *Directory, FDirectoryVisitor &Visitor)=0
IPlatformFile::DirectoryExists
virtual bool DirectoryExists(const TCHAR *Directory)=0
IPlatformFile::FileExists
virtual bool FileExists(const TCHAR *Filename)=0
IPlatformFile::FileSize
virtual int64 FileSize(const TCHAR *Filename)=0
FFileStatData
Definition
GenericPlatformFile.h:195
Engine
Source
Runtime
Core
Public
Android
AndroidPlatformFile.h
Generated by
1.9.8