Skip to main content

how generate xml from java object in android



i have a array list with values. The user will add some values to my ArrayList and i want to serialize it to xml file to response to server to avoid using a database for this little option and of course TO LEARN how to serialize (i'm a begginer) because it seems useful. Anyways the user save something in the arraylist, the program shuts down, the program starts up again and the user is able to see the saved data. How can i implement this? Can you provide some code snippet or a useful link?





Thanks a lot!!


Comments

  1. The serialization will happen automatically as long as the class is implementing the serializable interface. You only have to step into the process when say you are using another class that for some reason you cannot change to implement serializable. In that case you actually step into the serialization process and serialize it manually. Also ivars with the transient qualifier will not be serialized.

    That being said you will pretty much have to generate the xml file yourself, first agree on an schema and then simply generate a a xml String based on what you need.

    Alternatively you can just use a JSONARRAY and make your life easier.

    ReplyDelete
  2. import java.beans.XMLEncoder;
    import java.beans.XMLDecoder;
    import java.io.*;

    public class XMLSerializer {
    public static void write(Object f, String filename) throws Exception{
    XMLEncoder encoder =
    new XMLEncoder(
    new BufferedOutputStream(
    new FileOutputStream(filename)));
    encoder.writeObject(f);
    encoder.close();
    }

    public static Object read(String filename) throws Exception {
    XMLDecoder decoder =
    new XMLDecoder(new BufferedInputStream(
    new FileInputStream(filename)));
    Object o = (Object)decoder.readObject();
    decoder.close();
    return o;
    }
    }


    When serialize objects need to remember this: The object must implement the Serializable and have a default constructor (otherwise it can not be deserialize).

    ReplyDelete

Post a Comment

Popular posts from this blog

Slow Android emulator

I have a 2.67 GHz Celeron processor, 1.21 GB of RAM on a x86 Windows XP Professional machine. My understanding is that the Android emulator should start fairly quickly on such a machine, but for me it does not. I have followed all instructions in setting up the IDE, SDKs, JDKs and such and have had some success in staring the emulator quickly but is very particulary. How can I, if possible, fix this problem?