anrdoid内存卡的使用,增强了手机的内存,给人们带来了很多方便,作为一个android学习者,不能不学习android的内存卡写入方法
详细内容介绍在代码样例里
希望能帮助大家
要写入内存卡,android4.0以上必须获取权限,android4.0以下不用
具体大家可以感受一下
配置文件需要添加
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>//写入权限申请
<instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPackage="com.example.xmlser" />
<uses-library android:name="android.test.runner"
/>
文件样例
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<persons><person id="0">
<age>0</age>
<sex>男</sex>
</person>
</persons>
代码样例
package com.example.xmlser;
import java.io.File;
import java.io.FileOutputStream;
import java.util.ArrayList;
import java.util.List;
import org.xmlpull.v1.XmlSerializer;
import android.os.Environment;
import android.util.Log;
import android.util.Xml;
import com.example.xmlser.domain.Person;
public class xmlSerier {
//本列是想android内存卡写入xml文件,需要用到xml序列化类
//xmlXmlSerializer,这个类是单列设计,只能通过Xml得到
//创建数据源
public List<Person> getPersonList(){
List<Person> list=new ArrayList();
for(int i=0;i<30;i++){
Person per=new Person();
per.setName(""+i);
per.setAge(i);
if(i%2==0){
per.setSex("男");
}else{
per.setSex("女");
}
list.add(per);
}
return list;
};
//写入方法
public void peosonToXml(List<Person> personList){
//获得序列化对象
XmlSerializer xmlSerializer=Xml.newSerializer();
try {
//指定序列化地址和编码
File path=new File(Environment.getExternalStorageDirectory(),"person.xml");
FileOutputStream out= new FileOutputStream(path.toString());
//设置字节输出流,指定字符集
xmlSerializer.setOutput(out, "utf-8");
//设置doucument,开始写入
xmlSerializer.startDocument("utf-8", true);
//指定根节点
xmlSerializer.startTag(null, "persons");
//循环加入person节点
for(Person per:personList){
xmlSerializer.startTag(null, "person");
//设置名字
xmlSerializer.attribute(null, "id", per.getName());
//设置年龄
xmlSerializer.startTag(null, "age");
xmlSerializer.text(String.valueOf(per.getAge()));
xmlSerializer.endTag(null,"age");
//设置sex
xmlSerializer.startTag(null, "sex");
xmlSerializer.text(String.valueOf(per.getSex()));
xmlSerializer.endTag(null,"sex");
xmlSerializer.endTag(null, "person");
}
//结束根节点
xmlSerializer.endTag(null, "persons");
//结束写入
xmlSerializer.endDocument();
out.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}