私は Java と Android の開発は初めてなので、このことを覚えておいてください。私の目標は、アプリケーションにパッケージ化された xml ファイルからデータを逆シリアル化することです。Simple 2.4 を使用してこれを実行しようとしていますが、.read または .write を使用すると、コードで「未処理の例外タイプの例外」エラーが発生します。
私のコードは次のようになります。
import java.io.InputStream;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import org.simpleframework.xml.Serializer;
import org.simpleframework.xml.core.Persister;
public class ftRoster extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//Load in all available ship files here
}
public void myClickHandler(View view)
{
InputStream iStream = getResources().openRawResource(R.raw.ship);
Serializer serializer = new Persister();
ShipSystem newSystem = serializer.read(ShipSystem.class, iStream);
}
}
そして、私のクラスは次のようになります。
import org.simpleframework.xml.Element;
import org.simpleframework.xml.Root;
@Root
public class ShipSystem
{
@Element
public String id = null;
@Element
public boolean destroyed = false;
@Element
public int systemValue = 0;
}
その周りに try / catch を配置すると、もちろんエラーはなくなりますが、逆シリアル化も発生しません。Simple についての議論はほとんどなく、ドキュメントでは C# のシリアル化と同じくらいシンプルに見えます。問題について何か助けていただければ幸いです。
私がやりたいことの全体像は、各「shipSystem」のxmlファイルを持ち、アプリケーションの起動時にそれぞれを独自のクラスインスタンスに逆シリアル化し、これらすべてを配列で検索できるようにすることです。
これを読んで考える時間をとってくれてありがとう。