- 浏览: 125387 次
文章分类
- 全部博客 (65)
- web验证码 (0)
- 工具类 (4)
- android基础 (17)
- android通信 (1)
- JFreeChart (1)
- java基础 (5)
- android控件 (4)
- FusionCharts (1)
- android Layout (1)
- json (2)
- HTTP协议 (1)
- cmd (1)
- struts (3)
- Spring (1)
- java网络编程 (3)
- Linux (1)
- DB (5)
- Open Source (1)
- css (0)
- javascript (7)
- jquery (0)
- Socket (1)
- ajax (1)
- 整合开发 (1)
- UDP协议 (1)
最新评论
-
hy18710385392:
亲:import com.nudms.server.nurse ...
java实现打印PDF文件解决方案 -
osacar:
MyPDFPrintPage这个类能提供下?
java实现打印PDF文件解决方案 -
井底之龙:
请问楼主定义的保存Button从开始到最后都没有从xml文件中 ...
Android之SharedPreferences的使用 保存用户设置 -
lohasle:
liangzb0614 写道你好,求一个MyPDFPrintP ...
java实现打印PDF文件解决方案 -
liangzb0614:
你好,求一个MyPDFPrintPage 类!拜托了liang ...
java实现打印PDF文件解决方案
详细代码看附件!
布局文件:
适配文件:
Person类:
MainActivity:
PersonService.java
布局文件:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:padding="@dimen/padding_medium" android:text="@string/hello_world" tools:context=".MainActivity" /> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/textView1" android:layout_centerHorizontal="true" android:text="@string/button1" /> <Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/button1" android:layout_below="@+id/button1" android:text="@string/button2" /> </RelativeLayout>
适配文件:
dimens.xml: <resources> <dimen name="padding_small">8dp</dimen> <dimen name="padding_medium">8dp</dimen> <dimen name="padding_large">16dp</dimen> </resources> strings.xml: <resources> <string name="app_name">ReadWriteXML</string> <string name="button1">读取</string> <string name="button2">写入</string> <string name="hello_world">Hello world!</string> <string name="menu_settings">Settings</string> <string name="title_activity_main">xml读写</string> </resources>
Person类:
package com.app.bean; public class Person { private Integer id; private String name; private Integer age; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } @Override public String toString() { return "Person [id=" + id + ", name=" + name + ", age=" + age + "]"; } public Person(Integer id, String name, Integer age) { this.id = id; this.name = name; this.age = age; } public Person() { } }
MainActivity:
import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.InputStream; import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.View; import android.widget.Button; import android.widget.Toast; import com.app.bean.Person; import com.app.readwritexmliii.R; import com.app.service.PersonService; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { Button btn1 = null; Button btn2 = null; super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn1 = (Button)findViewById(R.id.button1); btn1.setOnClickListener(new Btn1Click()); btn2 = (Button)findViewById(R.id.button2); btn2.setOnClickListener(new Btn2Click()); } private final class Btn1Click implements View.OnClickListener { public void onClick(View v) { List<Person> persons; try { InputStream inputStream = new FileInputStream(new File(getApplicationContext().getFilesDir(), "person.xml")); persons = PersonService.getPersons(inputStream); for (Person person : persons){ Toast.makeText(getApplicationContext(), person.toString(), Toast.LENGTH_SHORT).show(); } } catch (Exception e) { e.printStackTrace(); } } } private final class Btn2Click implements View.OnClickListener { public void onClick(View v) { List<Person> persons = new ArrayList<Person>(); persons.add(new Person(44,"fuchangle",27)); persons.add(new Person(55, "zhangyanfeng", 27)); persons.add(new Person(66, "xuliang", 25)); try { File xmlFile = new File(getApplicationContext().getFilesDir(), "person.xml"); System.out.println(xmlFile.getPath()); FileOutputStream outStream = new FileOutputStream(xmlFile); PersonService.save(persons, outStream); Toast.makeText(getApplicationContext(), "写入" + persons.toString(), Toast.LENGTH_LONG).show(); } catch (FileNotFoundException e) { e.printStackTrace(); } 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.activity_main, menu); return true; } }
PersonService.java
import java.io.InputStream; import java.io.OutputStream; import java.util.ArrayList; import java.util.List; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlSerializer; import android.util.Xml; import com.app.bean.Person; public class PersonService { public static List<Person> getPersons(InputStream xml) throws Exception { List<Person> persons = null; Person person = null; XmlPullParser pullParser = Xml.newPullParser(); pullParser.setInput(xml, "UTF-8"); int event = pullParser.getEventType(); while (event != XmlPullParser.END_DOCUMENT){ switch (event) { case XmlPullParser.START_DOCUMENT: persons = new ArrayList<Person>(); break; case XmlPullParser.START_TAG: if ("person".equals(pullParser.getName())){ int id = Integer.valueOf(pullParser.getAttributeValue(0)); person = new Person(); person.setId(id); } if ("name".equals(pullParser.getName())){ String name = pullParser.nextText(); person.setName(name); } if ("age".equals(pullParser.getName())){ int age = Integer.valueOf(pullParser.nextText()); person.setAge(age); } break; case XmlPullParser.END_TAG: if ("person".equals(pullParser.getName())){ persons.add(person); person = null; } break; } event = pullParser.next(); } return persons; } /** * 写入文件 * @param persons * @param out * @throws Exception */ public static void save(List<Person> persons, OutputStream out) throws Exception { XmlSerializer serializer = Xml.newSerializer(); try { serializer.setOutput(out, "UTF-8"); serializer.startDocument("UTF-8", true); serializer.startTag(null, "persons"); for (Person person : persons) { serializer.startTag(null, "person"); serializer.attribute(null, "id", person.getId().toString()); serializer.startTag(null, "name"); serializer.text(person.getName().toString()); serializer.endTag(null, "name"); serializer.startTag(null, "age"); serializer.text(person.getAge().toString()); serializer.endTag(null, "age"); serializer.endTag(null, "person"); } serializer.endTag(null, "persons"); serializer.endDocument(); } catch (Exception e) { e.printStackTrace(); } finally { out.flush(); out.close(); } } }
- ReadWriteXMLIII.zip (902.1 KB)
- 下载次数: 7
发表评论
-
Android 中OpenGL的使用
2013-06-18 22:48 2461android为openGL ES支持提供了GLSurface ... -
android 之GestureOverlayView手势识别
2013-05-28 00:18 2379android 之GestureOverlayView ... -
android 之ViewPager左右滑动切换界面
2013-05-26 23:49 2543这是谷歌官方给我们提供的一个兼容低版本安卓设备的软件包,里面包 ... -
Android之SharedPreferences的使用 保存用户设置
2013-05-18 18:56 2423SharedPreferences是Android平台上一个轻 ... -
android手机内存中的文件操作
2013-05-18 08:47 1312android为手机存储范围内的文件操作提供了openFile ... -
使用contentprovider共享生词本数据
2013-04-06 10:49 1223摘自李刚<疯狂android>备份学习使用 首先 ... -
contentprovider--读取写入联系人数据
2013-04-05 17:39 1651本文主要使用contentprovider实现读取写入联系人数 ... -
android检测网络是否正常
2012-05-17 23:18 1828按照惯例,先上图后代码 在实际开发中,尤其是在网络应用 ... -
Android Handler详解
2012-05-16 10:55 1417/*** * Handler的定义: ... -
android之OnScrollListener 下拉刷新
2012-05-12 20:47 2782先看看效果图吧 1.首先创建一个头部xml文件 < ... -
android之WebView的使用
2012-05-09 23:50 1266为了先体验一下效果,截了一个图 main.xml < ... -
android之PopupWindow
2012-05-03 15:57 2568用的豌豆荚截图,本来是个动画的,每个过程都有几张,大概 ... -
android之OnGestureListener实现图片的左右滑动
2012-04-24 22:07 3403先来看看效果图吧 welcome_glide.xml ... -
android解析json(2)
2012-04-17 23:57 1484两种android解析json的例子 第一个事件是androi ... -
JSON在android中的应用(1)
2012-04-16 23:47 1323android框架已经为我们集成了解析json的包 先一个简 ... -
android实现淡入淡出欢迎界面
2012-03-03 21:34 4438本例子会实现想手机QQ和酷狗那样的淡入淡出的欢迎界面 im ...
相关推荐
android中读写xml文件简单demo,可以通过此代码来简单的读取xml配置文件
Android SDK提供了丰富的API来支持XML的读写,这些API主要来自于Java SDK,同时也有一些特定于Android的实现。下面我们将详细讨论Android中XML读写的包和方法。 1. **包功能介绍** - `javax.xml`:包含XML规范定义...
Android读写XML,SAX等方式
2. javax.xml.parsers.DocumentBuilderFactory:用于创建DOM解析器,通过Document对象对XML进行操作。 三、XML读取步骤 1. 创建解析器:根据需求选择合适的解析器,如使用XmlPullParserFactory获取XmlPullParser...
这种方式的优点是操作灵活,但缺点是对内存和CPU资源消耗较大,适合于小型XML文档和资源充足的环境。 2. **SAX (Simple API for XML)**:SAX是一种基于事件驱动的解析器,它在解析XML文档时触发特定事件,例如元素...
本实例将探讨在Android中对XML进行读取、写入和解析的三种基本操作。 一、XML的读取 在Android中,我们通常使用`XmlPullParser` API来解析XML文件。`XmlPullParser`提供了事件驱动的解析方式,通过一系列的next()...
首先,XML(eXtensible Markup Language)是一种自定义标记语言,它的结构清晰,易于读写,适合于数据交换和存储。在Android应用中,我们通常使用两种方式来解析XML:DOM(Document Object Model)解析器和SAX...
Android 开发 XML 语法规则 Android 开发中,XML 语法规则非常重要,以下是 XML 语法规则的详细介绍: 1.所有 XML 元素都须有关闭标签 在 XML 中,所有元素都必须有关闭标签,否则将会出现错误。这与 HTML 不同...
`SharedPreferences`类提供了方便的接口,用于读写这些XML文件中的键值对。 总结,XML在Android开发中扮演着至关重要的角色,无论是在界面设计、数据存储还是偏好设置等方面都有广泛的应用。理解并熟练掌握XML的...
本例使用多种方式获取本地XML文件,还有通过url获取XML文件,使用Android内置的PULL解析器对XML文件进行解析,例子是解析我国各个省市。 《Android解析XML文件》博文路径:...
在Android开发中,XML(eXtensible Markup Language)是一种常用的数据存储和交换格式,尤其在应用程序的配置、布局和网络通信中发挥着重要作用。XML的结构清晰,易于人类阅读和机器解析,使得它成为Android平台上的...
在Android开发中,XML(可扩展标记语言)和JSON(JavaScript Object Notation)都是常见的数据交换格式。XML因其结构化特性适用于复杂的文档存储,而JSON则以其轻量级、易于阅读和编写的特点广泛用于Web服务的数据...
在Android开发中,XML文件常用于存储数据、配置或布局信息。XML(eXtensible Markup Language)是一种结构化标记语言,易于阅读和编写,同时机器也能方便地解析和生成。本篇将深入探讨Android中解析XML文件的方法,...
### Android XML转义字符 在Android开发过程中,经常会遇到需要在`res/values/strings.xml`文件中使用特殊字符的情况。由于XML是一种标记语言,它对某些字符有特定的规定,如果直接将这些特殊字符写入XML文件,则...
4. 安全性:如果存储敏感信息,如用户密码,应该对XML数据进行加密。 5. 性能优化:避免频繁读写大文件,尽量减少IO操作,使用缓存提高性能。 以下是一个简单的XML保存示例代码: ```java File file = new File...
DOM解析的优点是提供了一个整体视图,可以任意位置遍历和修改XML文档,但缺点是占用内存大,对大型XML文件不友好。 在Android中,DOM解析可以通过`javax.xml.parsers.DocumentBuilderFactory`和`org.w3c.dom....
- Android系统内置了对XML的支持,可以使用java.util DOM或SAX解析器,或者使用Android的XmlPullParser接口来生成XML。最常用的是DOM,因为它允许以树形结构处理XML文档,便于操作。 5. **字符资源与XML文件**: ...
这个过程涉及到了XML解析、事件处理、数据模型构建以及UI展示等多个环节,需要对Android开发有深入的理解。在实际项目中,可能还需要根据具体需求进行优化和调整,比如添加错误处理、网络请求等功能。