1.任意xml资源文件
除了结构化资源外,Android还允许将任意xml文件用作资源。此方法将使用资源的优势延伸到了任意xml文件。首先,它提供了一种快速方式来根据所生成的资源ID引用这些文件。其次,该方法允许本地化这些资源xml文件。再次,可以在设备上高效地编译和存储这些xml文件。需要以此方式读取的xml文件存储在/res/xml子目录下。
就像处理其他Android XML资源文件一样,AAPT(Android Asset Packaging Tool)将编译此XML文件为二进制文件,然后将它放入应用程序包中。如果希望解析这些文件,需要使用一个XmlpULLParser实例。
private String getEventsFromAnXMLFile(Context activity)
throws XmlPullParserException, IOException {
StringBuffer sb = new StringBuffer();
Resources res = activity.getResources();
XmlResourceParser xpp = res.getXml(R.xml.test);
xpp.next();
int eventType = xpp.getEventType();
while (eventType != XmlPullParser.END_DOCUMENT) {
if (eventType == XmlPullParser.START_DOCUMENT) {
sb.append("******Start document");
} else if (eventType == XmlPullParser.START_TAG) {
sb.append("\nStart tag " + xpp.getName());
} else if (eventType == XmlPullParser.END_TAG) {
sb.append("\nEnd tag " + xpp.getName());
} else if (eventType == XmlPullParser.TEXT) {
sb.append("\nText " + xpp.getText());
}
eventType = xpp.next();
}// eof-while
sb.append("\n******End document");
return sb.toString();
}// eof-function
2.原始资源
除了任意XML文件,Android还支持使用原始文件。这些原始资源位于/res/raw下,包括音频、视频或文本文件等需要本地化或通过资源ID引用的原始文件资源。与/res/xml下的XML文件不同,这些文件没有编译,而是按原样转移到应用程序包中。但是,每个文件在R.java中都会生成一个标识符。
假设将文本文件放在/res/raw/test.txt下,能用以下代码读取该文件。
private String getStringFromRawFile(Context activity) throws IOException {
Resources r = activity.getResources();
InputStream is = r.openRawResource(R.raw.test);
String myText = convertStreamToString(is);
is.close();
return myText;
}
private String convertStreamToString(InputStream is) throws IOException {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
int i = is.read();
while (i != -1) {
baos.write(i);
i = is.read();
}
return baos.toString();
}
3.资产
Android还提供了一个/assets目录,可以将要包含在包中的文件放在这里。这个目录与/res具有相同的级别,也就是说它还未包含在/res子目录中。/assets中的文件不会在R.java中生成资源ID,必须指定文件路径才能读取它们。文件路径是以/assets开头的相对路径。可以使用AssetManager类来访问这些文件。
// Note: Exceptions are not shown in the code
String getStringFromAssetFile(Context activity) throws IOException {
AssetManager am = activity.getAssets();
InputStream is = am.open("test.txt");
String s = convertStreamToString(is);
is.close();
return s;
}
分享到:
相关推荐
总结来说,Android中使用XML文件定义颜色资源是一种规范且灵活的方法,它能帮助开发者更好地组织和重用颜色信息。通过在`colors.xml`中定义颜色,然后在布局文件、`drawable`资源或代码中引用,可以提高代码的可读性...
"Android-Android国际化文档整理xml和excel互转"项目主要关注如何方便地管理和转换Android应用中的本地化资源。 一、Android的国际化原理 Android的国际化是通过资源文件夹来实现的。在项目的`res`目录下,我们...
为了方便管理这些多语言资源,Android使用`String.xml`文件来存储应用中的文本字符串。然而,手动编辑这些XML文件既耗时又容易出错,尤其是在处理大量文本时。这时,就需要借助一些工具进行`String.xml`与Excel之间...
- 在Android中,字符串资源通常存储在res/values/strings.xml文件中,这样可以方便地进行本地化和代码分离。将Excel数据转化为XML时,可以考虑创建一个新的XML文件,如res/values/data.xml,用于存储从Excel读取的...
"android qq 图片 xml资源包" 指的是从QQ的apk应用程序文件中提取出的图像资源和相关的XML配置文件。这些资源通常包括了应用内的各种图形元素,如按钮、图标、背景等,而XML文件则用于定义它们的属性和行为。 QQ,...
在Android开发中,APK是应用程序的打包文件格式,它包含了应用的所有资源、代码和配置。XML文件在APK中扮演着重要的角色,用于存储布局、字符串、颜色、动画等资源。由于APK文件通常是二进制格式并进行了加密处理,...
自制工具,将AndroidStudio 的 VectorDrawable xml 资源逆向转回 svg文件方便编辑。工具为带js的html,上方输入框贴入xml,下方输入框输出svg代码结果以及svg预览 注意目前仍未支持渐变填充
XML颜色配置是Android系统提供的一种灵活、可维护的颜色资源管理方式,允许开发者在XML文件中定义和使用颜色,而非直接在代码中硬编码。这种方式有助于保持代码的整洁,提高代码的可读性和可复用性,同时也方便进行...
在Android开发过程中,资源ID(Resource ID)是系统为应用中的资源分配的唯一标识符,通常以`R.`开头,用于在代码中引用这些资源。然而,在某些特殊情况下,我们可能需要修改这些ID的值。这通常是由于资源冲突、调试...
这种方法既节省内存又易于使用,是Android开发中的首选解析方式,尤其适用于读取XML配置文件和流式数据。 在Android框架中,XML解析广泛应用于以下几个方面: 1. **布局解析**:Android应用的界面布局通常定义在...
用Android Studio 2.3.3做的获取xml的字符串资源例子,主要用到的代码有:String sData = getString(R.string.app_name).toString();xml定义字符串资源<string name="app_name">NewApp006是自动生成的,用户也可以...
在Android应用开发中,APK是应用程序的二进制包,包含了代码、资源文件和配置信息。当开发者希望深入理解已有的APK或者对它进行逆向工程时,就需要使用到像`apktool`这样的工具。`apktool`是一个开源的Android反编译...
以上就是“Android解析XML并使用WebView显示”的主要技术点,开发者需要理解并掌握这些知识点,才能在实际项目中顺利实现这一功能。通过不断实践和学习,我们可以更好地理解和运用这些工具,提升应用的质量和用户...
它的每个Item(列表项)通常由一个布局资源文件XML定义,这样可以灵活地设计每个列表项的外观和内容。下面我们将深入探讨如何使用XML文件来创建ListView的Item布局,并将其与数据绑定。 1. **XML布局文件**: XML...
颜色齐全,并且包含中文颜色注释,可直接复制到项目工程中使用
Android项目中,通过这个类可以获取资源文件中String.xml中的信息,
3. **Android资源ID**:在XML布局文件中,我们经常使用资源ID引用其他资源,如`@string/app_name`或`@drawable/ic_launcher`。理解资源ID的生成规则和查找方法是必要的。 4. **AXML文件**:在Android中,XML文件会...
### Android XML Attribute详解 在Android开发中,XML文件扮演着非常重要的角色,特别是在定义界面布局、样式、动画等方面。为了帮助开发者更好地理解Android中的各种XML属性及其用途,本文将详细介绍部分核心XML...
在IT行业中,尤其是在Android或者iOS应用开发中,`String.xml` 文件是用于管理应用程序中所有字符串资源的关键文件。它允许开发者集中地定义、管理和翻译应用中的文本,提高代码的可维护性和可扩展性。本工具则专注...
Android中各种图像资源的使用普通图像资源 XML图像资源 Nine-patch图像资源 XML Nine-patch图像资源 图层(Layer)图像资源 图像状态(state)资源 图像级别(Level)资源 淡入淡出(transition)资源 嵌入(Inset)...