2015-11-22 4 views
7

私は、ユーザーが行っている各操作のための重要なログを保存しようとしているアプリを開発しています。 これらのログは重要であり、アプリケーションのインストールにスペースを確保する必要があるため、デバイスに必要なスペースがない場合は、アプリケーションをインストールできません。準備内部ストレージ

私が操作をログに記録するための予約領域を上書きするか、使用する必要があります。 私はこの必要性を実装する最良の方法を知らない。 大量のファイルをアセットフォルダに置くと、インストール時にこのスペースが必要になりますが、わかっているように、アセットフォルダは読み取り専用です! 実際に私のアプリケーションで将来使用するためのスペースを確保する方法を見つけるのを手伝ってくれることを頼んでいます。事前

+0

アプリは、デバイスの状態について何も知らないので、インストールを防ぐことはできません。あなたが本当にスペースを心配しているなら、可能な解決策は、最初の実行時にダミーデータをストレージに書き出し、必要に応じて上書きすることです。十分なスペースがない場合は、ユーザーに知らせる必要があります。それはあなたと同じくらい良いことです。 –

+0

ありがとう、しかし、あなたはこの目的のために提案するファイルの種類を教えていただけますか?私はファイルのどのタイプが必要なときにアプリケーションを実行中に簡単に上書きすることができる最高であることを意味します。 –

+0

あなたの投稿を読んだ直後に思った2つのオプションは、SQLiteデータベース、または 'RandomAccessFile'オブジェクトを通してアクセスされる標準ファイルでした。 2つのうち、データベースオプションはおそらく、さまざまな長さのログエントリを処理している場合は、コーディングの観点からは簡単だと言えます。 –

答えて

0

おかげで、私はアプリが最初に昼食をされたときに空のファイルを作成し、あなたがユーザーにこの情報を提示できなかった場合されると考えることができる最も簡単な解決策。

APK Expansion Filesインストールプロセスのために実行したい場合は、大きなサイズのapkに使用されますが、外部ストレージに保存されているように使用することもできます。それがインストールされ、実行されるまで

+0

どうもありがとうイリヤ、しかし、あなたは私がお勧め必要 –

+0

@DeveloperAccountながらアプリを実行している間に、容易に上書きすることができる最高のファイルの種類を意味???この目的のために提案するか、ファイルの種類を教えてくださいすることができ、ローカルファイルを保持する。それは扱いが簡単です。 –

+0

ありがとう、私は、アプリの起動時に、複数のダミーファイルを作成することを決めた、とストレージが不足している時はいつでも私は、ファイルのいずれかを削除して、私の記録(私は各挿入する前に利用可能な内部ストレージをチェックしたい).FORログを保存することができますI sqliteを使いたいと思いますが、それは軽いのですが、例えば10列のテーブルに約6000レコードを保存するために必要な記憶容量はどれくらいですか? –