package com.android.iliConnect.dataproviders; import java.io.File; import org.simpleframework.xml.Serializer; import org.simpleframework.xml.core.Persister; import com.android.iliConnect.MainActivity; public class Serialization { /** * Das im InputStream enthaltene XML-Dokument deserialisieren. Falls rootObject ungleich null ist, wird das XML-Dokument in das Objekt hinein deserialisiert * (In diesem Fall muss das XML-Dokument also ein Feld von rootObject darstellen!). Falls rootObject gleich null ist, wird entsprechend der ClassAlias-Liste * eine passende Klasse gesucht und das Objekt automatisch generiert. * * @param in * @param rootObject * @return * @throws Exception */ public Object deserialize(Class<?> targetClass, String filename) throws Exception { // XML-Dokument parsen Serializer serializer = new Persister(); File source = new File(MainActivity.instance.getFilesDir() + "/" + filename); if(!source.exists()) throw new Exception(); // Object targetObject = targetClass.newInstance(); Object example = null; example = serializer.read(targetClass, source, false); return example; } public void serialize(Object targetObject, String filename) throws Exception { Serializer serializer = new Persister(); File target = new File(MainActivity.instance.getFilesDir() + "/" + filename); serializer.write(targetObject, target); } }