Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> Android 生成xml文件,android生成xml

Android 生成xml文件,android生成xml

編輯:關於android開發

Android 生成xml文件,android生成xml


生成XML文件備份短信,其格式為:

<?xml version="1.0" encoding="UTF-8" standalone="true"?>
<message>
<sms> <body>第0條短信</body> <date>1465041254178</date> <address>000</address> <type>1</type> </sms>
<sms> <body>第1條短信</body> <date>1465041254179</date> <address>111</address> <type>1</type> </sms>
<sms> <body>第2條短信</body> <date>1465041254179</date> <address>222</address> <type>1</type> </sms> </message>

建立Sms類

package com.wuyudong.createxml.domain;

public class Sms {

    private String body;
    private String date;
    private String type;
    private String address;

    public Sms(String body, String date, String type, String address) {
        super();
        this.body = body;
        this.date = date;
        this.type = type;
        this.address = address;
    }

    public String getBody() {
        return body;
    }

    public void setBody(String body) {
        this.body = body;
    }

    public String getDate() {
        return date;
    }

    public void setDate(String date) {
        this.date = date;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

}

整幾個虛擬的短信對象,存在list中,備份數據通常都是備份至sd卡

使用StringBuffer拼接字符串,* 把整個xml文件所有節點append到sb對象裡

sb.append("<?xml version='1.0' encoding='utf-8' standalone='yes' ?>");
//添加smss的開始節點
sb.append("<smss>");
.......
* 把sb寫到輸出流中

fos.write(sb.toString().getBytes());

完整代碼如下:

package com.wuyudong.createxml;

import java.io.File;
import java.io.FileOutputStream;
import java.util.ArrayList;
import java.util.List;

import com.wuyudong.createxml.domain.Sms;

import android.os.Bundle;
import android.os.Environment;
import android.app.Activity;
import android.view.Menu;
import android.view.View;

public class MainActivity extends Activity {

    List<Sms> message;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        // 創建10條虛擬短信
        message = new ArrayList<Sms>();
        for (int i = 0; i < 10; i++) {
            Sms sms = new Sms("第" + i + "條短信", System.currentTimeMillis() + "",
                    "1", "" + i + i + i);
            message.add(sms);
        }
    }

    public void click(View v) {
        File file = new File(Environment.getExternalStorageDirectory(),
                "backup.xml");
        try {
            FileOutputStream fos = new FileOutputStream(file);
            StringBuffer sb = new StringBuffer();
            // 添加xml頭
            sb.append("<?xml version='1.0' encoding='utf-8' standalone='yes' ?>");
            // 添加根節點
            sb.append("<message>");
            // 每一條短信添加一個sms節點
            for (Sms sms : message) {
                sb.append("<sms>");
                sb.append("<body>");
                sb.append(sms.getBody());
                sb.append("</body>");
                sb.append("<date>");
                sb.append(sms.getDate());
                sb.append("</date>");
                sb.append("<address>");
                sb.append(sms.getAddress());
                sb.append("</address>");
                sb.append("<type>");
                sb.append(sms.getType());
                sb.append("</type>");
                sb.append("</sms>");
            }
            sb.append("</message>");
            fos.write(sb.toString().getBytes());
            fos.close();
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

}

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved