android学习笔记36——使用原始XML文件
XML文件
android中使用XML文件,需要开发者手动创建res/xml文件夹。
实例如下:
- book.xml==>
- <?xml version="1.0" encoding="utf-8"?>
- <books>
- <book publishDate="2016.05.05" price="88.6">android学习笔记</book>
- <book publishDate="2016.06.06" price="88.6">android解密</book>
- <book publishDate="2016.08.08" price="88.6">android深入浅出</book>
- </books>
- 布局文件==》
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical"
- tools:context=".MainActivity" >
- <Button
- android:id="@+id/btnTest"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="center_horizontal"
- android:text="Test" >
- </Button>
- <EditText
- android:id="@+id/edit"
- android:layout_width="match_parent"
- android:layout_height="wrap_content" >
- </EditText>
- </LinearLayout>
- 代码实现==》
- package com.example.myxml;
- import org.xmlpull.v1.XmlPullParserException;
- import android.R.xml;
- import android.os.Bundle;
- import android.app.Activity;
- import android.content.res.XmlResourceParser;
- import android.view.Menu;
- import android.view.View;
- import android.view.View.OnClickListener;
- import android.widget.Button;
- import android.widget.EditText;
- public class MainActivity extends Activity
- {
- @Override
- protected void onCreate(Bundle savedInstanceState)
- {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- Button btnTest = (Button) this.findViewById(R.id.btnTest);
- btnTest.setOnClickListener(new OnClickListener()
- {
- @Override
- public void onClick(View v)
- {
- XmlResourceParser xrp = getResources().getXml(R.xml.books);
- StringBuilder sb = new StringBuilder();
- try
- {
- while (xrp.getEventType() != XmlResourceParser.END_DOCUMENT)
- {
- if (xrp.getEventType() == XmlResourceParser.START_TAG)// 如果遇到开始标签
- {
- // String tagName = xrp.getName();
- if (xrp.getName().equals("book"))
- {
- // 根据名称获取属性值
- sb.append("price: ");
- sb.append(xrp.getAttributeValue(null, "price"));
- sb.append("\n");
- // 根据索引获取属性值
- sb.append("publishDate: ");
- sb.append(xrp.getAttributeValue(0));
- sb.append("\n");
- sb.append("bookName: ");
- // 获取XML节点的文本信息
- sb.append(xrp.nextText());
- }
- sb.append("\n");
- }
- xrp.next();// 获取解析器的下一个事件
- }
- EditText edit = (EditText) findViewById(R.id.edit);
- edit.setText(sb.toString());
- } catch (Exception e)
- {
- e.printStackTrace();
- }
- }
- });
- }
- @Override
- public boolean onCreateOptionsMenu(Menu menu)
- {
- // Inflate the menu; this adds items to the action bar if it is present.
- getMenuInflater().inflate(R.menu.main, menu);
- return true;
- }
- }
运行效果:
android学习笔记36——使用原始XML文件的更多相关文章
- 【Android学习笔记】XmlResourceParser解析xml文件
最近学习Android时,需要用到解析XML文件里的数据,可以用XmlResourceParser来解析xml文件,正好将此记录下来. XmlResourceParser里常用的字段和方法 首先先给出 ...
- Android学习笔记36:使用SQLite方式存储数据
在Android中一共提供了5种数据存储方式,分别为: (1)Files:通过FileInputStream和FileOutputStream对文件进行操作.具体使用方法可以参阅博文<Andro ...
- Android学习笔记--存储方案(SharedPreference、文件IO)
1. SharedPreference SharedPreference可以很容易的保存key-value对,通常用于保存配置信息.保存的步骤 1. 获得SharedPreferences对象 (最后 ...
- Android学习笔记-tween动画之xml实现
继上篇tween动画的java实现:http://www.cnblogs.com/fengtengfei/p/3957800.html, 这里我接着介绍一下tween动画的xml实现的方法, 首先 ...
- android学习笔记39——使用原始资源
原始资源 android中没有专门提供管理支持的类型文件,都被称为原始资源.例如:声音资源... android原始资源存放位置: 1.res/raw,android SDK会处理该目录下的原始资源, ...
- Android学习笔记(二)Manifest文件节点详解
在上一篇博文中简单介绍了Manifest文件及其存放位置,本篇就来详细介绍一下Manifest文件中的节点和一些节点的基本作用,首先看一下Manifest文件最基本的结构: <manifest ...
- Android学习笔记(36):Android的两种事件处理方式
Android提供了两种事件处理的方式:基于回调的事件处理 和 基于监听的事件处理. 我们来说的easy理解一点: (1)基于回调的事件处理就是继承GUI组件,并重写该组件的事件处理方法.除了一些特定 ...
- 【转】 Pro Android学习笔记(七八):服务(3):远程服务:AIDL文件
目录(?)[-] 在AIDL中定义服务接口 根据AIDL文件自动生成接口代码 文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.csdn.n ...
- 【转】 Pro Android学习笔记(七十):HTTP服务(4):SOAP/JSON/XML、异常
目录(?)[-] SOAP JSON和XMLPullParser Exception处理 文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件,转载须注明出处:http://blog. ...
随机推荐
- web相关问题总结 - imsoft.cnblogs
1,问题:编辑好的web程序乱码,显示不正常 解决方法:在head中加入一下代码,设置网页使用的语言为中文. <meta http-equiv="Content-Type" ...
- Spring+Websocket实现消息的推送
http://my.oschina.net/ldl123292/blog/304360
- C#术语
数字代码.文本代码.机器码.托管代码.中间语言(IL).即时编译(JIT).COM(+).应用程序域.地址控件.虚拟内存
- POJ2375 Cow Ski Area (强连通)(缩点)
Cow Ski Area Time Limit: 1000MS Memory Limit: 65536K Total Sub ...
- UI组件(思维导图)
- Linux shell编程札记
if-then的高级特性 [[]].[]都是用来测试( 测试分为数值比较.字符串比较.文件比价 )的,[[]]是关键字,里面可以用&&.||.<.>等类似C语言的语法:[] ...
- VMware虚拟机打开不了操作系统的解决方案
1. 当你的VMware虚拟机出现下面这种情况的时候 解决方案:找到此VM安装的文件夹.在此文件夹下,将名字以“.lck ”结尾的文件夹全部重命名,重命名的名字随意好了.然后再到VMWARE里启动你的 ...
- 开发成功-cpu-mem监控动态折线图--dom esayui js java
jsp ------------------------------------------------------------------------------------------- ---- ...
- JS的Document属性和方法小结
Document想必大家并不陌生吧,在使用js的过程中会经常遇到它,那么它有哪些属性.哪些方法,在本文将以示例为大家详细介绍下,希望对大家有所帮助 document.title //设置文档标题等价于 ...
- Sklearn库例子4:分类——Lasso分类例子
Lasso回归: #-*- encoding:utf-8 -*- import numpy as np import matplotlib.pyplot as plt from sklearn.met ...