0

XML ファイルが SimpleXML を使用して逆シリアル化される基本的な Android アプリを作成しようとしています。私はこのチュートリアルに従っています: http://simple.sourceforge.net/download/stream/doc/tutorial/tutorial.php#deserialize .

しかし、次の例外が発生します: libcore.io.ErrnoException: open failed: ENOENT (No such file or directory)

アクティビティのコードは次のとおりです。

public class MainActivity extends Activity {

private TextView mTextView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    try {
        getAnimal();
    } catch (Exception e) {
        e.printStackTrace();
    }
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

public void getAnimal() throws Exception{
    Serializer serializer = new Persister();
    File source = new File("animal.xml");

    Animal animal = serializer.read(Animal.class, source);
    this.mTextView = (TextView) findViewById(R.id.textView1);
    mTextView.setText(animal.getSpecie()); 
}
}

例外の原因を知っている人はいますか? ありがとう!

4

1 に答える 1

0

そこで、XML ファイルを Asset フォルダーに移動し、次のものを置き換えることで、最終的に問題を解決しました。

File source = new File("animal.xml"); 

と:

InputStream source = getAssets().open("animal.xml");
于 2013-05-15T08:57:17.493 に答える