xml ファイルからデータをロードするアンドリッド アプリケーションを作成しています。問題は、xml ファイルが正しく処理されず、そのためにシリアル化できないことです。問題はファイルのエンコーディングに関連していると思います。
xml ファイルの作成方法を教えてください。Eclipse から [新規] -> [ファイル] -> をクリックし、空白の xml を作成してから、必要な情報を入力しました。
エディターで xml がどのように表示されるかを次に示します。
<?xml version="1.0" encoding="UTF-8"?>
<data>
<categories>
<category value="Inbox"/>
<category value="Private"/>
<category value="Work"/>
<category value="Business"/>
</categories>
<todos>
<todo>
<id>1</id>
<text>Explore the app!</text>
</todo>
<todo>
<id>2</id>
<text>Add more todos!</text>
<date>2013-05-09 12:21:55 CET</date>
</todo>
</todos>
</data>
res/xml から xml ファイルを取得し、そのファイルを入力ストリームにロードします。その後、String コンストラクターを使用してファイルを String に変換しています。
Javaコードは次のとおりです。
InputStream is = getResources().openRawResource(R.xml.startingdata);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
int next = is.read();
while (next > -1) {
bos.write(next);
next = is.read();
}
bos.flush();
byte[] result = bos.toByteArray();
xmldata = new String(result,"UTF-8");
このステップの後、新しい xmldata をトーストに表示して、その外観を確認します。ただし、データの一部に加えて、いくつかの奇妙な文字を受け取ります。私が間違っていることは何ですか?前もって感謝します!奇妙なトースト結果を表示するために、テスト デバイスからの画像を添付します。