使用自定义的XML资源,这当然也必须是Android的一个功能,Java开发者可以使用DOM,SAX等多种方式,Android内建了Pull来解析XML
那么我个人觉得在Android中还是使用它的内建解析方法比较好,使用其它方式还要下载它们的Jar包,还是挺麻烦的.
同样的,和动画资源一样,XML资源也没有默认创建,需要自己手动创建res/xml
下面先定义一个xml文件,然后再解析它
res/xml中创建books.xml
<?xml version="1.0" encoding="utf-8"?> <books> <book price="99.0" 出版日期="2008年">Java</book> <book price="89.0" 出版日期="2009年">Jave EE</book> <book price="69.0" 出版日期="2009年">Ajax</book> </books>
下面在主界面中放一个按钮,点击时解析XML,然后显示在下面的文本框里面
package WangLi.Resouce.XmlResTest; import java.io.IOException; import org.xmlpull.v1.XmlPullParserException; import android.app.Activity; import android.content.res.XmlResourceParser; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; public class XmlResTest extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button bn = (Button)findViewById(R.id.bn); bn.setOnClickListener(new OnClickListener(){ public void onClick(View arg0) { //根据XML资源的ID获取解析该资源的解析器 //XmlResourceParser是XmlPullParser的子类 XmlResourceParser xrp = getResources().getXml(R.xml.books); try { StringBuilder sb = new StringBuilder(""); //还没有到XML文档的结尾处 while(xrp.getEventType()!=XmlResourceParser.END_DOCUMENT) { //如果遇到了开始标签 if(xrp.getEventType()==XmlResourceParser.START_TAG) { //获取该标签的标签名 String tagName = xrp.getName(); if(tagName.equals("book")) { //根据属性名获取属性值 String bookName = xrp.getAttributeValue(null,"price"); sb.append("价格:"); sb.append(bookName); //根据属性索引来获取属性值 String bookPrice = xrp.getAttributeName(1); sb.append("出版日期:"); sb.append(bookPrice); sb.append("书名:"); //获取文本节点的值 sb.append(xrp.nextText()); } sb.append("\n"); } //获取解析器的下一个事件 xrp.next(); } EditText show = (EditText)findViewById(R.id.show); show.setText(sb.toString()); } catch(XmlPullParserException e) { e.printStackTrace(); } catch(IOException e) { e.printStackTrace(); } } }); } }
效果如下,当点击按钮时,文本框出现解析的XML文件内容
发表评论
-
初学Android,Intent概要(十一) .
2012-08-11 14:01 802下面内容我觉得归纳的很好,我看了几本书,包括一些英文的,写 ... -
初学Android,字符串,数字,尺寸,数组资源(十二) .
2012-08-11 00:09 1357下面是使用字符串,数字,尺寸,数组资源的例子,挺好,一个例子已 ... -
初学Android,使用Drawable资源之使用StateListDrawable资源(十三) .
2012-08-11 00:06 1158StateListDrawable用于组织多个Drawable ... -
初学Android,使用Drawable资源之使用LayerDrawable资源(十四)
2012-08-03 10:27 777LayerDrawable,系统将会按这些Drawable对象 ... -
初学Android,使用Drawable资源之使用ShapeDrawable资源(十五)
2012-08-03 14:40 1113ShapeDrawable比较简单,用来定义一个基本几何图形, ... -
初学Android,使用Drawable资源之使用ClipDrawable资源(十六)
2012-08-03 16:23 1065ClipDrawable代表从其它位图上截取一个"图 ... -
初学Android,使用Drawable资源之使用AnimationDrawable资源(十七)
2012-08-06 11:34 935这次学学怎么使用动画资源,AnimationDrawable, ... -
初学Android,使用菜单资源(十九)
2012-08-07 17:16 701Android里面也可用XML定义菜单资源,菜单分两种,一种是 ... -
初学Android,使用样式(style)资源(二十)
2012-08-09 09:57 768在Android里面,样式的概念跟网页中CSS样式表的概念相似 ... -
初学Android,使用主题(Theme)资源(二十一)
2012-08-09 11:06 746主题跟样式类似,也是放在路径/res/values下同样以&l ... -
初学Android,使用属性(Attribute)资源(二十二)
2012-08-09 14:47 786感觉这篇写的不错,拿来转了 http://wujia ... -
初学Android,使用原始资源(二十三)
2012-08-09 17:09 796原始资源就是Android没有为之提供专门支持的资源文件,可以 ... -
ImageAdapter和PopupWindow的使用
2012-08-09 17:35 1154引用public class SamplePopup exte ... -
requestWindowFeature类
2012-08-09 17:21 744requestWindowFeature可以设 ... -
android学习笔记(二)
2012-08-08 12:00 713Activities and Tasks 一个活动能启动另一 ... -
Android之SurfaceView学习(一)
2012-08-07 16:57 635首先我们先来看下官方API对SurfaceView的介绍 S ... -
adnroid 学习笔记(一)
2012-08-06 16:10 621今天开始学习android,在配置资源文件时遇到的问题,在这里 ...
相关推荐
### Android如何使用XML自定义属性 在Android开发中,我们经常需要为自定义视图或者控件设置一些特定的属性来满足不同的需求。为了更好地控制这些属性并使其更易于管理和扩展,Android提供了一种机制——XML自定义...
3. **定义XML属性**:在资源文件中,需要定义对应的XML属性,这样在布局文件中就可以使用这个属性了。在`res/values/attrs.xml`中: ```xml ``` 4. **在布局文件中使用自定义控件**:现在可以在布局XML...
接下来,我们可以在布局XML文件中使用这个自定义控件,就像使用其他标准控件一样。别忘了在`<merge>`或`<layout>`标签内引入自定义控件的命名空间,并在`<TestCustomWidget>`标签中指定自定义属性: ```xml ...
总的来说,这个项目涵盖了Android自定义View的基本流程,以及图形绘制、颜色处理、动态更新等核心知识点,是学习Android自定义组件的一个良好实践。通过学习和研究,开发者不仅可以掌握自定义View的开发技巧,还能...
3. **使用ToolBar**:从Android v5.0(API level 21)开始,Android引入了ToolBar作为ActionBar的替代品,允许开发者更加灵活地自定义标题栏。在布局文件中添加ToolBar,并通过`setSupportActionBar(Toolbar)`和`...
本示例"android sax解析xml模板源码"提供了一个使用SAX解析XML的实例,方便开发者直接导入到自己的项目中使用。 SAX解析XML的基本流程如下: 1. **创建解析器**:在Android中,我们需要使用`SAXParserFactory`来...
在Android开发中,自定义Dialog是一种常见的需求,用于提供一种用户交互的方式,通常用来显示一些临时的通知或进行一些简短的操作。在这个主题中,我们主要关注如何创建一个自定义的加载等待Dialog,它包括透明和...
本教程将深入讲解如何自定义及设置Android的SeekBar,以供初学者参考。 首先,SeekBar的基本用法是在布局XML文件中声明它。一个基本的SeekBar声明可能如下所示: ```xml android:id="@+id/seekBar1" android:...
这篇博客对于初学者来说是一份很好的学习资源,可以深入理解ListView的工作原理和自定义技巧。 总的来说,Android中的自定义ListView涉及到数据源的管理、适配器的设计、视图的复用和事件监听等多个方面。熟练掌握...
在Android开发中,创建自定义的日期和时间提示框是一个常见的需求,这允许用户以直观的方式选择特定的日期和时间。对于初学者来说,理解如何实现这样的功能是至关重要的,因为这能提升用户体验并增强应用的交互性。...
这通常在Android资源文件的values目录下创建style.xml,定义新的样式,并在自定义RadioButton中引用。 4. 处理事件:添加OnCheckedChangeListener监听器,当RadioButton的状态改变时,触发相应的回调函数,更新界面...
"Android自定义时钟ClockView.rar"是一个针对Android工程师初学者的学习资源,它涵盖了如何在Android应用程序中创建一个自定义的时钟组件——`ClockView`。这个压缩包可能包含了一个示例项目,名为"app",里面可能有...
4. **XML布局与Java代码结合**: 在项目的资源文件中,会有一个XML布局文件包含自定义的圆形进度条控件。通过在XML中设置属性,如`android:progress`,与Java代码中的属性进行交互,使得界面可以在XML中声明,而在...
自定义控件可能需要自定义的布局参数,例如,可以创建一个继承自`LayoutParams`的类,以便在XML布局文件中使用。 6. **在XML中使用自定义控件**: 在`res/values/attrs.xml`中定义自定义属性后,可以在布局XML...
在Android开发中,创建自定义对话框(Dialog)是一项常见的任务,它能够提供更好的用户体验,让用户专注于当前操作而...对于初学者来说,这是一个很好的学习案例,有助于理解Android Dialog的自定义机制和UI设计原则。
4. **UI设计与布局**:Android使用XML进行界面布局,初学者可以通过这两个项目学习到线性布局、相对布局、网格布局、约束布局等不同布局的使用,以及自定义View的技巧。同时,还可以了解如何使用Material Design指南...
在Android开发中,自定义控件是提升应用界面独特性和用户体验的重要手段。本教程将深入讲解如何在Android中创建一个自定义的ImageView,该控件具有多边形边框的功能。我们将探讨以下几个关键知识点: 1. **自定义...
6. **在布局文件中使用**:在XML布局文件中,使用`<com.example.CustomButtonTextView>`标签引用自定义的TextView,并设置自定义属性。 ```xml android:layout_width="wrap_content" android:layout_height=...
在Android平台上,自定义时钟是一项常见的需求,可以用于创建独特的用户界面或者提供特定功能。...这份源码资源为初学者提供了很好的学习材料,同时也对有经验的开发者有参考价值,有助于他们快速实现自定义时钟功能。
- 提供博客中的代码示例,详细解释每个关键步骤,包括XML布局文件的编写、自定义ViewGroup类的实现以及如何在Activity中使用这个自定义View。 通过以上步骤,我们可以实现一个功能完备的竖直跑马灯效果。在实际...