Reference
include
|
Enumerations
使用 AAssetManager_open 打开资产的可用访问模式。
Anonymous Enum 14 | 说明 |
---|---|
AASSET_MODE_UNKNOWN = 0 | 不确定如何访问数据 |
AASSET_MODE_RANDOM = 1 | 读取块,并向前和向后查找 |
AASSET_MODE_STREAMING = 2 | 按顺序阅读,偶尔向前搜索 |
AASSET_MODE_BUFFER = 3 | 包含所有数据的只读缓冲区 |
Typedefs
说明 | 评论 | |
---|---|---|
struct AAsset | 提供对只读资产的访问。 | 不是线程安全的,不应跨线程共享。 |
struct AAssetDir | 提供对资产层次结构块的访问,就像它是单个目录一样。 | 内容由 AAssetManager 填充。 文件列表将按 ASCII 值升序排列。 |
struct AAssetManager | 通过创建 AAsset 对象提供对应用程序原始资产的访问。 | 是 java AAssetManager 的低级本地实现的包装器,可以使用 AAssetManager_fromJava() 获取指针。 可以像文件系统一样检查资产层次结构,使用 AAssetDir 对象来细读单个目录。 本地 AAssetManager 指针可以跨多个线程共享。 |
Functions
返回值 | 函数 | 说明 | 评论 |
---|---|---|---|
void | AAssetDir_close(AAssetDir *assetDir) | 关闭打开的 AAssetDir,释放任何相关资源。 | |
const char * | AAssetDir_getNextFileName(AAssetDir *assetDir) | 迭代资产目录中的文件。 | 返回所有文件名后,将返回 NULL 字符串。 返回的文件名适合传递给 AAssetManager_open()。 此处返回的字符串归 AssetDir 实现所有,如果对此 AAssetDir 实例进行任何其他调用,则不能保证保持有效。 |
void | AAssetDir_rewind(AAssetDir *assetDir) | 将 AAssetDir_getNextFileName() 的迭代状态重置为开头。 | |
AAssetManager * | AAssetManager_fromJava(JNIEnv *env, jobject assetManager) | 给定一个 Dalvik AssetManager 对象,获取对应的本地 AAssetManager 对象。 | 请注意,调用者负责获取并保持对 jobject 的 VM 引用,以防止在使用本地对象时对其进行垃圾回收。 |
AAsset * | AAssetManager_open(AAssetManager mgr, const char filename, int mode) | 打开资产。 | 此处返回的对象应通过调用 AAsset_close() 来释放。 |
AAssetDir * | AAssetManager_openDir(AAssetManager mgr, const char dirName) | 打开资产层次结构中的命名目录。 | 使用 AAssetDir 函数检查该目录。要打开顶级目录,请传入 “” 作为 dirName。 此处返回的对象应通过调用 AAssetDir_close() 来释放。 |
void | AAsset_close(AAsset *asset) | 关闭资产,释放所有相关资源。 | |
const void * | AAsset_getBuffer(AAsset *asset) | 获取指向包含资产全部内容的缓冲区的指针。 | 失败时返回 NULL。 |
off_t | AAsset_getLength(AAsset *asset) | 报告资产数据的总大小。 | |
off64_t | AAsset_getLength64(AAsset *asset) | 报告资产数据的总大小。 | 使用 64 位数字插入 32 位作为 AAsset_getLength 报告大小。 |
off_t | AAsset_getRemainingLength(AAsset *asset) | 报告当前仓位可以读取的资产数据总量。 | |
off64_t | AAsset_getRemainingLength64(AAsset *asset) | 报告当前仓位可以读取的资产数据总量。 | 使用 64 位数字而不是像 AAsset_getRemainingLength 那样使用 32 位数字。 |
int | AAsset_isAllocated(AAsset *asset) | 返回此资产的内部缓冲区是否在普通 RAM 中分配(即未映射)。 | |
int | AAsset_openFileDescriptor(AAsset asset, off_t outStart, off_t *outLength) | 打开可用于读取资产数据的新文件描述符。 | 如果开始或长度不能用 32 位数字表示,它将被截断。如果文件很大,请改用 AAsset_openFileDescriptor64。 如果无法直接访问 fd(例如,如果资产被压缩),则返回 < 0。 |
int | AAsset_openFileDescriptor64(AAsset asset, off64_t outStart, off64_t *outLength) | 打开可用于读取资产数据的新文件描述符。 | 使用 64 位数字作为偏移量和长度,而不是 32 位,而不是像 AAsset_openFileDescriptor 那样。 如果无法直接访问 fd(例如,如果资产被压缩),则返回 < 0。 |
int | AAsset_read(AAsset asset, void buf, size_t count) | 尝试从当前偏移量读取“count”个字节的数据。 | 返回读取的字节数,EOF 时为零,错误时返回 < 0。 |
off_t | AAsset_seek(AAsset *asset, off_t offset, int whence) | 在资产数据中寻找指定的偏移量。 | ‘whence’ 使用与 lseek()/fseek() 相同的常量。 成功时返回新位置,错误时返回 (off_t) -1。 |
off64_t | AAsset_seek64(AAsset *asset, off64_t offset, int whence) | 在资产数据中寻找指定的偏移量。 | ‘whence’ 使用与 lseek()/fseek() 相同的常量。 对大文件使用 64 位数据类型,而不是 AAsset_seek 使用的 32 位类型。 成功时返回新位置,错误时返回 (off64_t) -1。 |