- 浏览: 121867 次
文章分类
- 全部博客 (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 2375android为openGL ES支持提供了GLSurface ... -
android 之GestureOverlayView手势识别
2013-05-28 00:18 2323android 之GestureOverlayView ... -
android 之ViewPager左右滑动切换界面
2013-05-26 23:49 2469这是谷歌官方给我们提供的一个兼容低版本安卓设备的软件包,里面包 ... -
Android之SharedPreferences的使用 保存用户设置
2013-05-18 18:56 2309SharedPreferences是Android平台上一个轻 ... -
android手机内存中的文件操作
2013-05-18 08:47 1277android为手机存储范围内的文件操作提供了openFile ... -
使用contentprovider共享生词本数据
2013-04-06 10:49 1143摘自李刚<疯狂android>备份学习使用 首先 ... -
contentprovider--读取写入联系人数据
2013-04-05 17:39 1577本文主要使用contentprovider实现读取写入联系人数 ... -
android检测网络是否正常
2012-05-17 23:18 1785按照惯例,先上图后代码 在实际开发中,尤其是在网络应用 ... -
Android Handler详解
2012-05-16 10:55 1363/*** * Handler的定义: ... -
android之OnScrollListener 下拉刷新
2012-05-12 20:47 2729先看看效果图吧 1.首先创建一个头部xml文件 < ... -
android之WebView的使用
2012-05-09 23:50 1192为了先体验一下效果,截了一个图 main.xml < ... -
android之PopupWindow
2012-05-03 15:57 2500用的豌豆荚截图,本来是个动画的,每个过程都有几张,大概 ... -
android之OnGestureListener实现图片的左右滑动
2012-04-24 22:07 3350先来看看效果图吧 welcome_glide.xml ... -
android解析json(2)
2012-04-17 23:57 1418两种android解析json的例子 第一个事件是androi ... -
JSON在android中的应用(1)
2012-04-16 23:47 1254android框架已经为我们集成了解析json的包 先一个简 ... -
android实现淡入淡出欢迎界面
2012-03-03 21:34 4405本例子会实现想手机QQ和酷狗那样的淡入淡出的欢迎界面 im ...
相关推荐
android 读写xml
Android读写XML,SAX等方式
XML 经常用作 Internet 上的一种数据格式,其文件格式想必大家都比较清楚,在这里我结合Android平台,来说明Android SDK提供的读写XML的package。 首先介绍下Android SDK与Java SDK在读写XML文件方面,数据包之间的...
XML 经常用作 Internet 上的一种数据格式,其文件格式想必大家都比较清楚,在这里我结合Android平台,来说明Android SDK提供的读写XML的package。
android中读写xml文件简单demo,可以通过此代码来简单的读取xml配置文件
Android对xml进行三种操作实例
android下解析xml文件的demo
Android与XML • Android读写XML(上)——package说明 • Android读写XML(中)——SAX • Android读写XML(下)——创建XML文档
本例使用多种方式获取本地XML文件,还有通过url获取XML文件,使用Android内置的PULL解析器对XML文件进行解析,例子是解析我国各个省市。 《Android解析XML文件》博文路径:...
Android与XML编写菜单的例子,Java操作XML文件,实现Android菜单,XML在android中的编程相当普遍了,这个比较基础的例子了,期待对你研究学习andrid有帮助。
Android读写XML(上)——package说明.doc Android读写XML(下)——创建XML文档.doc Android读写XML(中)——SAX.doc Android高手进阶教程之----Android Handler的使用!!! .doc Android高手进阶教程之----Android ...
本代码能够将Android中XML类型的数据进行完整的解析,包含XML的各种情况
本文实例讲述了android编程之xml文件读取和写入方法。分享给大家供大家参考。具体分析如下: 一、环境: 主机:WIN8 开发环境:Eclipse 二、说明: 1.打开sd卡中的xml文件,如果不存在,这新建一个,并写入默认配置 2....
包括android代码实例以及个人对Dom解析xml文件的总结文档。
这个主要讲解了android 对XML的解析过程分析
事件处理器是org.xml.sax包中ContentHander、DTDHander、ErrorHandler,以及EntityResolver这4个接口.ContentHander用于处理跟XML文档相关的事件,DTDHander用于处理对文档的DTD进行解析时产生的事件,ErrorHandler...
Android 对 strings.xml 的字符串进行格式化