android 生成xml文件


<RelativeLayout 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: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="com.example.generatexml.MainActivity" >

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="短信备份1"
        android:id="@+id/btn1"
        android:onClick="backupSms1" />
    
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="短信备份2"
        android:layout_below="@id/btn1"
        android:onClick="backupSms2" />

</RelativeLayout>

 

package com.example.generatexml;

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

import org.xmlpull.v1.XmlSerializer;

import android.os.Bundle;
import android.os.Environment;
import android.support.v7.app.ActionBarActivity;
import android.util.Xml;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Toast;

import com.example.generatexml.domain.SmsInfo;


public class MainActivity extends ActionBarActivity {
    
    private List<SmsInfo> list;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        list = new ArrayList<SmsInfo>();
        long phone = 1880075555;
        for(int i=0;i<10;i++)
        {
            SmsInfo info = new SmsInfo(i, System.currentTimeMillis(),"<短信内容"+i,phone+i+"",i/2+1);
            list.add(info);
        }
    }
    
    
    public void backupSms1(View v){
        
        try {
            File file = new File(Environment.getExternalStorageDirectory(),"backup1.xml");
            FileOutputStream fos = new FileOutputStream(file);
            
            StringBuffer sb = new StringBuffer();
            
            sb.append("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
            
            sb.append("<smss>");
            
            for(SmsInfo s :list)
            {
                sb.append("<sms>");
                
                sb.append("<body>"+s.getBody()+"</body>");
                sb.append("<type>"+s.getType()+"</type>");
                sb.append("<addr>"+s.getAddr()+"</addr>");
                sb.append("<date>"+s.getDate()+"</date>");
                
                sb.append("</sms>");
                
            }
            
            sb.append("</smss>");
            
            fos.write(sb.toString().getBytes());
            fos.close();
            Toast.makeText(this, "保存成功", 0).show();
        } catch (Exception e) {
            
            e.printStackTrace();
            Toast.makeText(this, "保存失败", 0).show();
        }
        
        
        
    }
    
    public void backupSms2(View v)
    {
        
        try {
            XmlSerializer ser = Xml.newSerializer();
            File file = new File(Environment.getExternalStorageDirectory(),"backup2.xml");
            FileOutputStream os = new FileOutputStream(file);
            ser.setOutput(os, "utf-8");
            
            ser.startDocument("utf-8", true);
            
            ser.startTag(null, "smss");
            
            for(SmsInfo s :list)
            {
                ser.startTag(null, "sms");
                
                ser.attribute(null, "id", s.getId()+"");
                
                ser.startTag(null, "body");
                ser.text(s.getBody());
                ser.endTag(null, "body");
                
                ser.startTag(null, "type");
                ser.text(s.getType()+"");
                ser.endTag(null, "type");
                
                ser.startTag(null, "addr");
                ser.text(s.getAddr());
                ser.endTag(null, "addr");
                
                ser.startTag(null, "date");
                ser.text(s.getDate()+"");
                ser.endTag(null, "date");
                
                ser.endTag(null, "sms");
                
            }
            
            ser.endTag(null, "smss");
            
            ser.endDocument();
            
            os.close();
            
            Toast.makeText(this, "保存成功", 0).show();
            
        } catch(Exception e) {
            
            e.printStackTrace();
            Toast.makeText(this, "保存失败", 0).show();
        }
    }



}

 

android 生成xml文件

上一篇:web.xml中load-on-startup的作用


下一篇:LNMP系列网站零基础开发记录