ObjectInputStream と ObjectOutputStream を使用してストレージにシリアル化するオブジェクトの限られたリストを取得しました。Serialize を使用しないという提案に出くわしました。リストをシリアル化する代わりに、XmlSerializer と XmlPullParser を使用して xml アプローチを使用する必要がありますか? このアプローチでは、xml を解析する追加の手順を実行する必要があります。
正しいアプローチはどれですか?
ObjectInputStream と ObjectOutputStream を使用してストレージにシリアル化するオブジェクトの限られたリストを取得しました。Serialize を使用しないという提案に出くわしました。リストをシリアル化する代わりに、XmlSerializer と XmlPullParser を使用して xml アプローチを使用する必要がありますか? このアプローチでは、xml を解析する追加の手順を実行する必要があります。
正しいアプローチはどれですか?
TL;DR: ユーザーがオブジェクトを操作する必要がない場合、オブジェクトをシリアル化しても問題はありません。
出力したファイルを共有、エクスポート、または手動で編集する必要がある場合は、XML としてエクスポートすることをお勧めします。これの使用例としては、ゲーム キャラクター オブジェクトをエクスポートし、ユーザーが XML ファイル内の統計の一部を編集できるようにしたり、編集可能な他のユーザーとキャラクターを共有したりできるようにすることが考えられます。
出力するファイルがアプリでのみ使用され、ユーザーが直接操作したり、ユーザーに表示されたりすることがない場合は、オブジェクトをシリアル化することをお望みであれば、オブジェクトをシリアル化できない理由はありません。これの使用例は、最初の例と同様に、ユーザーが操作できないようにしたいゲーム キャラクターを保存することです。オブジェクトをシリアル化すると、ユーザーがファイルを読み取れなくなり、ゲームをより簡単に打ち負かすために統計を変更できなくなります。
ユース ケースはアプリとは関係ない可能性がありますが、各アプローチの長所と短所の概要を示しています。