私はAndroid用の独自の音楽プレーヤーを開発しています(Androidでプログラミングすることを学んでいます)。
私の質問は、アプリケーションが初めて起動したときに、ファイルをスキャンするメディア フォルダーを選択するようユーザーに要求することです。すべてうまく機能しますが、フォルダーには約 1200 曲あり、スキャンが完了するまでに約 3 分かかります。スキャンに含まれる手順は、フォルダーからファイルを再帰的に取得し、すべての曲の完全なパスを arraylist に追加します。次に、arraylist のすべての項目をデータベースに追加します。データベースに追加するフィールドは、パス、曲のタイトル (MediaMetadataReader を使用してこれを取得します)、アーティスト、アルバム、および一意の ID です。
これを行うより良い方法はありますか?これを最適化する方法はありますか?前もって感謝します。
編集:
他の音楽プレーヤーを初めて実行すると、それらのライブラリにはメタデータと共に私が持っているすべての曲が含まれています。スキャンにかかる時間はほんの数秒です。彼らはどうやってそれをするのですか?私は何を間違っていますか?