public final class AssetManager
extends Object
implements AutoCloseable
java.lang.Object | |
↳ | android.content.res.AssetManager |
提供对应用程序的原始资产文件的访问权限; 有关大多数应用程序想要检索其资源数据的方式,请参阅Resources
。 该类提供了一个较低级别的API,允许您打开并读取已与应用程序捆绑在一起的原始文件作为简单的字节流。
Nested classes |
|
---|---|
class |
AssetManager.AssetInputStream
|
Constants |
|
---|---|
int |
ACCESS_BUFFER
|
int |
ACCESS_RANDOM 模式为 |
int |
ACCESS_STREAMING 模式为 |
int |
ACCESS_UNKNOWN
|
Public methods |
|
---|---|
void |
close() 关闭这个资产管理器。 |
final String[] |
getLocales() 获取此资产管理器包含数据的区域设置。 |
final String[] |
list(String path) 返回给定路径中所有资产的字符串数组。 |
final InputStream |
open(String fileName, int accessMode) 使用显式访问模式打开资产,返回InputStream读取其内容。 |
final InputStream |
open(String fileName) 使用ACCESS_STREAMING模式打开资产。 |
final AssetFileDescriptor |
openFd(String fileName) |
final AssetFileDescriptor |
openNonAssetFd(String fileName) |
final AssetFileDescriptor |
openNonAssetFd(int cookie, String fileName) |
final XmlResourceParser |
openXmlResourceParser(int cookie, String fileName) 检索编译的XML文件的解析器。 |
final XmlResourceParser |
openXmlResourceParser(String fileName) 检索编译的XML文件的解析器。 |
Protected methods |
|
---|---|
void |
finalize() 当垃圾收集确定没有更多对该对象的引用时,由对象上的垃圾回收器调用。 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
|
From interface java.lang.AutoCloseable
|
int ACCESS_BUFFER
open(String, int)
模式:尝试将内容加载到内存中,以进行快速小读取。
常量值:3(0x00000003)
int ACCESS_RANDOM
模式为 open(String, int)
:阅读块,并向前和向后寻找。
常数值:1(0x00000001)
int ACCESS_STREAMING
open(String, int)
模式:按顺序阅读,偶尔进行正向搜索。
常量值:2(0x00000002)
int ACCESS_UNKNOWN
open(String, int)
模式:没有关于如何访问数据的具体信息。
常量值:0(0x00000000)
String[] getLocales ()
获取此资产管理器包含数据的区域设置。
在SDK 21(Android 5.0:Lollipop)及以上版本中,语言环境字符串有效,语言标记 BCP-47 ,可使用 forLanguageTag(String)
解析。
在SDK 20(Android 4.4W:Kitkat for watches)及以下版本中,语言环境字符串的格式为 ll_CC
,其中 ll
是一个双字母语言代码,而 CC
是两个字母的国家代码。
Returns | |
---|---|
String[] |
String[] list (String path)
返回给定路径中所有资产的字符串数组。
Parameters | |
---|---|
path |
String : A relative path within the assets, i.e., "docs/home.html". |
Returns | |
---|---|
String[] |
String[] Array of strings, one for each asset. These file names are relative to 'path'. You can open the file by concatenating 'path' and a name in the returned string (via File) and passing that to open(). |
Throws | |
---|---|
IOException |
也可以看看:
InputStream open (String fileName, int accessMode)
使用显式访问模式打开资产,返回InputStream读取其内容。 这提供了对作为资产与应用程序捆绑在一起的文件的访问权 - 即放入“资产”目录中的文件。
Parameters | |
---|---|
fileName |
String : The name of the asset to open. This name can be hierarchical. |
accessMode |
int : Desired access mode for retrieving the data. |
Returns | |
---|---|
InputStream |
Throws | |
---|---|
IOException |
InputStream open (String fileName)
使用ACCESS_STREAMING模式打开资产。 这提供了对作为资产与应用程序捆绑在一起的文件的访问权 - 即放入“资产”目录中的文件。
Parameters | |
---|---|
fileName |
String : The name of the asset to open. This name can be hierarchical. |
Returns | |
---|---|
InputStream |
Throws | |
---|---|
IOException |
也可以看看:
AssetFileDescriptor openFd (String fileName)
Parameters | |
---|---|
fileName |
String
|
Returns | |
---|---|
AssetFileDescriptor |
Throws | |
---|---|
IOException |
AssetFileDescriptor openNonAssetFd (String fileName)
Parameters | |
---|---|
fileName |
String
|
Returns | |
---|---|
AssetFileDescriptor |
Throws | |
---|---|
IOException |
AssetFileDescriptor openNonAssetFd (int cookie, String fileName)
Parameters | |
---|---|
cookie |
int
|
fileName |
String
|
Returns | |
---|---|
AssetFileDescriptor |
Throws | |
---|---|
IOException |
XmlResourceParser openXmlResourceParser (int cookie, String fileName)
检索编译的XML文件的解析器。
Parameters | |
---|---|
cookie |
int : Identifier of the package to be opened. |
fileName |
String : The name of the file to retrieve. |
Returns | |
---|---|
XmlResourceParser |
Throws | |
---|---|
IOException |
XmlResourceParser openXmlResourceParser (String fileName)
检索编译的XML文件的解析器。
Parameters | |
---|---|
fileName |
String : The name of the file to retrieve. |
Returns | |
---|---|
XmlResourceParser |
Throws | |
---|---|
IOException |
void finalize ()
当垃圾收集确定没有更多对该对象的引用时,由对象上的垃圾回收器调用。 子类重写finalize
方法以处置系统资源或执行其他清理。
的常规协定finalize
是,它被调用,如果当在Java TM虚拟机已确定不再有由该目的可以通过还没有死亡,除了作为一个动作的结果的任何线程访问的任何手段取决于某些其他可以完成的对象或类别的最终定稿。 finalize
方法可以采取任何行动,包括使该对象再次可用于其他线程; 然而, finalize
的通常目的是在对象被不可撤销地丢弃之前执行清理操作。 例如,表示输入/输出连接的对象的finalize方法可能会执行显式I / O事务,以在永久丢弃该对象之前中断连接。
类finalize
方法Object
执行特殊的操作; 它只是正常返回。 Object
子类可能会覆盖此定义。
Java编程语言不保证哪个线程将为任何给定对象调用finalize
方法。 但是,保证调用finalize的线程在调用finalize时不会保留任何用户可见的同步锁。 如果finalize方法引发未捕获的异常,则忽略该异常,并终止该对象的终止。
在针对一个对象调用了 finalize
方法之后,在Java虚拟机再次确定不再有任何方式可以通过任何尚未死亡的线程访问此对象的方法之前,不会采取进一步的操作,包括可能的操作通过准备完成的其他对象或类别,此时该对象可能被丢弃。
对于任何给定的对象,Java虚拟机从不会多次调用 finalize
方法。
finalize
方法抛出的任何异常 finalize
导致此对象的终止被暂停,但会被忽略。
Throws | |
---|---|
Throwable |