生成XML文件-1
2016-07-22 00:23
429 查看
首先在布局文件中做一个布局
在此我做了一个简单的布局
其代码如下:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity" >
<EditText
android:id="@+id/et_name"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="请输入学生的姓名" />
<EditText
android:id="@+id/et_age"
android:inputType="number"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="请输入学生的年龄" />
<EditText
android:id="@+id/et_id"
android:inputType="number"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="请输入学生的学号" />
<Button
android:onClick="save"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="保存" />
</LinearLayout>
之后在mainActivity.java中填写相应的代码
import java.io.File;
import java.io.FileOutputStream;
import android.app.Activity;
import android.os.Bundle;
import android.os.Environment;
import android.text.TextUtils;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity {
private EditText et_name;
private EditText et_age;
private EditText et_id;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
et_name = (EditText) findViewById(R.id.et_name);
et_age = (EditText) findViewById(R.id.et_age);
et_id = (EditText) findViewById(R.id.et_id);
}
// <头>
// <info>
// <student id='800001'>
// <name>将军</name>
// <age>28</age>
// </student>
// </info>
//保存学生的信息
public void save(View view){
String name = et_name.getText().toString().trim(); //去掉字符串中左右的空格
String age = et_age.getText().toString().trim();
String id = et_id.getText().toString().trim();
if(TextUtils.isEmpty(name)||TextUtils.isEmpty(age)||TextUtils.isEmpty(id)){ //判断布局中需要填写的信息是否为空
Toast.makeText(this, "信息不能为空", 0).show();
return;
}else{
//打算把数据存成xml文件.跨平台.
try {
StringBuffer sb = new StringBuffer();
sb.append("<?xml version='1.0' encoding='utf-8' standalone='yes' ?>");
sb.append("<info>");
sb.append("<student id='"+id+"'>");
sb.append("<name>"+name+"</name>");
sb.append("<age>"+age+"</age>");
sb.append("</student>");
sb.append("</info>");
File file = new File(Environment.getExternalStorageDirectory(),"qzs.xml");
FileOutputStream fos = new FileOutputStream(file);
fos.write(sb.toString().getBytes());//使所有缓冲的输出字节被写出到底层输出流中
fos.close();
Toast.makeText(this, "保存学生信息成功", 0).show();
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(this, "保存学生信息失败", 0).show();
}
}
}
}
最后添加权限: <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
在此我做了一个简单的布局
其代码如下:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity" >
<EditText
android:id="@+id/et_name"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="请输入学生的姓名" />
<EditText
android:id="@+id/et_age"
android:inputType="number"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="请输入学生的年龄" />
<EditText
android:id="@+id/et_id"
android:inputType="number"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="请输入学生的学号" />
<Button
android:onClick="save"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="保存" />
</LinearLayout>
之后在mainActivity.java中填写相应的代码
import java.io.File;
import java.io.FileOutputStream;
import android.app.Activity;
import android.os.Bundle;
import android.os.Environment;
import android.text.TextUtils;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity {
private EditText et_name;
private EditText et_age;
private EditText et_id;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
et_name = (EditText) findViewById(R.id.et_name);
et_age = (EditText) findViewById(R.id.et_age);
et_id = (EditText) findViewById(R.id.et_id);
}
// <头>
// <info>
// <student id='800001'>
// <name>将军</name>
// <age>28</age>
// </student>
// </info>
//保存学生的信息
public void save(View view){
String name = et_name.getText().toString().trim(); //去掉字符串中左右的空格
String age = et_age.getText().toString().trim();
String id = et_id.getText().toString().trim();
if(TextUtils.isEmpty(name)||TextUtils.isEmpty(age)||TextUtils.isEmpty(id)){ //判断布局中需要填写的信息是否为空
Toast.makeText(this, "信息不能为空", 0).show();
return;
}else{
//打算把数据存成xml文件.跨平台.
try {
StringBuffer sb = new StringBuffer();
sb.append("<?xml version='1.0' encoding='utf-8' standalone='yes' ?>");
sb.append("<info>");
sb.append("<student id='"+id+"'>");
sb.append("<name>"+name+"</name>");
sb.append("<age>"+age+"</age>");
sb.append("</student>");
sb.append("</info>");
File file = new File(Environment.getExternalStorageDirectory(),"qzs.xml");
FileOutputStream fos = new FileOutputStream(file);
fos.write(sb.toString().getBytes());//使所有缓冲的输出字节被写出到底层输出流中
fos.close();
Toast.makeText(this, "保存学生信息成功", 0).show();
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(this, "保存学生信息失败", 0).show();
}
}
}
}
最后添加权限: <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
相关文章推荐
- XML 与 JSON 优劣对比
- As3.0 xml + Loader应用代码
- 网马生成器 MS Internet Explorer XML Parsing Buffer Overflow Exploit (vista) 0day
- ext读取两种结构的xml的代码
- 实例解析Ruby程序中调用REXML来解析XML格式数据的用法
- Ruby中XML格式数据处理库REXML的使用方法指南
- C#中如何使用 XmlReader 读取XML文件
- C#针对xml基本操作及保存配置文件应用实例
- Ruby使用REXML库来解析xml格式数据的方法
- Ruby程序中创建和解析XML文件的方法
- Ruby的XML格式数据解析库Nokogiri的使用进阶
- asp下查询xml的实现代码
- sqlserver FOR XML PATH 语句的应用
- 使用sp_xml_preparedocument处理XML文档的方法
- EBS xml publisher中文乱码问题及解决办法
- C#中的Linq to Xml详解
- C#代码操作XML进行增、删、改操作
- C#操作XML文件实例汇总
- C# XML序列化方法及常用特性总结分析