android中XML序列化(内部存储和外部存储)
来源:互联网 发布:mmd的动作数据 编辑:程序博客网 时间:2024/06/05 21:55
1 建好项目,layout布局文件中放一个button注册单击事件
2.构建一个Person类 name,password,age三个属性
注:当采用外部存储时,需要在清单文件AndroidManifest.xml中加权限:
package com.example.xmlserializer93p;public class person {private String name;private String password;private int age;public String getName() {return name;}public void setName(String name) {this.name = name;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public int getAge() {return age;}public void setAge(int age) {this.age = age;} person(String name,String password,int age){this.name=name;this.password=password;this.age=age;}}3 在MainActivity中写代码
package com.example.xmlserializer93p;import java.io.File;import java.io.FileOutputStream;import java.util.ArrayList;import java.util.List;import org.xmlpull.v1.XmlSerializer;import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.os.Environment;import android.util.Log;import android.util.Xml;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.Toast;public class MainActivity extends Activity {private Context context;private Button button1;String filename="person.xml"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button1=(Button)findViewById(R.id.button1); final List<person> userData=new ArrayList<person>(); userData.add(new person("abc","123",23)); Log.i("no problem","1"); context=this;////很关键,需要将这个类给context button1.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v) {try{XmlSerializer serializer=Xml.newSerializer();Log.i("no problem","2");//File file=new File(context.getFilesDir(), filename);///context.getFileDir 获取相对路径 File file=new File(Environment.getExternalStorageDirectory(),filename);////外部存储Log.i("no problem","3");FileOutputStream fos=new FileOutputStream(file);serializer.setOutput(fos,"UTF-8"); Log.i("no problem","4");serializer.startDocument("UTF-8", true);serializer.startTag(null, "persons");int count=0; Log.i("no problem","5");for(person person1 : userData){serializer.startTag(null, "person");serializer.attribute(null, "id", count+"");serializer.startTag(null, "name");serializer.text(person1.getName());serializer.endTag(null, "name");serializer.startTag(null, "password");serializer.text(person1.getPassword());serializer.endTag(null, "password");serializer.startTag(null, "age");serializer.text(person1.getAge()+"");serializer.endTag(null, "age");serializer.endTag(null, "person");count++;}serializer.endTag(null, "persons");serializer.endDocument();serializer.flush();fos.close();Log.i("序列化成功","count");}catch(Exceptione){e.printStackTrace();Log.i("失败了", "123");}} }); }}
注:当采用外部存储时,需要在清单文件AndroidManifest.xml中加权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
阅读全文
0 0
- android中XML序列化(内部存储和外部存储)
- Android中内部存储和外部存储
- Android的内部存储和外部存储
- Android 内部存储和外部存储
- Android的内部存储和外部存储
- Android内部存储和外部存储
- Android中的内部存储和外部存储
- Android本地数据持久化:内部存储和外部存储
- 内部存储和外部存储
- Android 存储中的内部存储和外部存储
- Android 数据存储-内部存储和外部存储
- Android 存储中的内部存储和外部存储
- android存储方式(内部存储、外部存储)
- Android开发中内存、内部存储、外部存储详解
- Android中内存、内部存储及外部存储的区别
- Android开发中内存、内部存储、外部存储详解
- android获取外部存储和内部存储路径
- Android获取手机内部存储和外部存储
- 你应该知道的Activity状态的保存与恢复
- 关于TP的insertFields和updateFields
- WeaveSocket框架-Unity太空大战游戏-通信协议-2
- linux中断的上半部和下半部 【转】
- 【功耗异常】灭屏待机48小时,电池电量掉回一半(一台)
- android中XML序列化(内部存储和外部存储)
- wget命令
- spring-boot+spring-retry
- JBPM介绍
- Git 提交过程
- 包子凑数
- ARM-Linux嵌入式汇编笔记
- Python实现归并排序
- Linux 下安装 LAMP及配置