XML在各种开发中都广泛应用,Android也不例外。作为承载数据的一个重要角色,读写XML成为Android开发中一项重要的技能。以下是在Android中使用xml保存数据(xml文件序列化)及使用pull解析xml文件的方法。 首先,我们需要读写sd卡,所以要加入权限

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />

布局文件如下

xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"tools:context=".MainActivity" >android:id="@+id/btnsave"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/anniu"**android:onClick="SaveBtn"**/>android:id="@+id/btnread"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_below="@+id/btnsave"android:text="@string/anniu"**android:onClick="ReadBtn"**/>

java代码如下

import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.InputStream;import org.xmlpull.v1.XmlPullParser;import org.xmlpull.v1.XmlSerializer;import android.os.Bundle;import android.os.Environment;import android.util.Xml;import android.view.View;import android.widget.Toast;import android.app.Activity;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}**** 生成xml文件,并保存到sd卡*/public void SaveBtn(View v) {try {XmlSerializer serializer = Xml.newSerializer();File file = new File(Environment.getExternalStorageDirectory(),"info");FileOutputStream os = new FileOutputStream(file);serializer.setOutput(os, "utf-8");serializer.startDocument("utf-8", true);serializer.startTag(null, "list");//serializer.startTag(null, "user");//serializer.attribute(null, "id", "1");//id=1>serializer.startTag(null, "username");//serializer.text("用户名:554849416");//用户名:554849416serializer.endTag(null, "username" );//serializer.startTag(null, "password");//serializer.text( "密码:12345678");//密码:12345678serializer.endTag(null, "password");//serializer.endTag(null, "user");//serializer.endTag(null, "list");//serializer.endDocument();os.close();Toast.makeText(MainActivity.this, "保存成功", Toast.LENGTH_LONG).show();} catch (Exception e) {// TODO: handle exceptione.printStackTrace();Toast.makeText(MainActivity.this, "保存失败", Toast.LENGTH_LONG).show();}}/** pull解析xml文件*/public void ReadBtn(View v) throws Exception{String str="";File file = new File(Environment.getExternalStorageDirectory()+"/info.xml");InputStream in = new FileInputStream(file);XmlPullParser parser = Xml.newPullParser();parser.setInput(in,"utf-8");int type = parser.getEventType();while(type != XmlPullParser.END_DOCUMENT ){switch (type) {case XmlPullParser.START_TAG:if("list".equals(parser.getName())){}else if("user".equals(parser.getName())){str += parser.getAttributeValue(0);}else if("username".equals(parser.getName())){str += parser.nextText();}else if("password".equals(parser.getName())){str += parser.nextText();}break;case XmlPullParser.END_TAG:if("user".equals(parser.getName())){}default:break;}type = parser.next();}Toast.makeText(MainActivity.this, str, Toast.LENGTH_LONG).show();}**}

“`

以上就是xml读写的简单使用,代码很简单就不做解释了。

更多相关文章

  1. 对android里布局文件当中的TextView对象设置事件监听,但是不响应
  2. Android解析xml文件
  3. android创建隐藏文件或者文件夹,并对其读写操作
  4. [基础知识]全面认识AndroidManifest.xml文件(二)
  5. android下修改hosts文件不起作用(无效)的解决办法
  6. android 模拟器手机如何添加文件到sd卡
  7. android多apk共享私有文件
  8. ANDROID资源文件
  9. Android读写文件正确实行方法介绍

随机推荐

  1. 简单的三方登录SDK示例,Android Activity
  2. Android知识梳理:消息机制之Looper
  3. Android程序调试时生成main.out.xml文件
  4. Android 通知栏系列....
  5. android WebView 预览office文档
  6. Android 文字链接 文字点击时的背景颜色
  7. 对Activity比较复杂的style设置
  8. Android(安卓)和jsp登录接口
  9. android开机动画启动流程
  10. Gradle(三)构建任务