2011-11-15 6 views
0

私は1つの事について疑問に思っています:最初にアプリケーションをインストールするときに、ユーザーに最初の同期後に受け取るデータをどこに保存するかを尋ねます。ファイルを携帯電話のメモリに保存することを決定した場合はファイルを移動させてください。その後、SDカードに移動することにします。私の質問は、彼の選択を覚えてそれに基づいて私の論理を構築する最良の方法です。私は、ファイルを取得する最初のストレージを取得した後、ファイルを取得する必要がどこにでもAndroidアプリケーションのデータをインストールする場所を選択

editor.putBoolean("isSdCard",true); 
    editor.putBoolean("isPhoneMemory", false); 

およびその使用後のこのbooleans:私は、ユーザーに選択肢を保存するためにSharedPreferencesを使用して考えていました。

私の場合、より良い解決策になる他の提案はありますか?

答えて

1

あなたのアプリはあまりよく分かりませんが、アプリに次のことが当てはまる場合、別の解決策があるかもしれません。

  • あなたのアプリケーションは完全にSDカードにmoveになることができます。
  • 一時的にダウンロードされるデータです。つまり、ユーザーが削除したい場合は、アプリケーションに損害を与えず、後でユーザーがデータを再読み込みできます。
  • このような場合はオプションを取り除く

外部ファイルブラウザを介してユーザーがデータへのアクセス権を持っていることは重要ではありません。オプションは、常にユーザーをアプリの主な使用から邪魔しています。インストール場所をautoに設定して、ユーザーがアプリをどこに置くか決めさせるだけです。今すぐあなたのアプリのcacheDirにデータを保存してください。このアプローチの

長所は、以下のとおりです。

  • アプリは内部メモリにある場合アプリはSDカードに、内部メモリにある場合、キャッシュはSDカード上に配置されます。
  • さらに、ユーザーがアプリケーションを削除した場合、データはきれいに削除されます。データがSDカードに保存されている場合、ユーザーがアプリを削除するとこのデータを削除することはできません。
  • ユーザーは、アプリケーション設定パネルでアプリケーションが使用しているメモリ容量を確認します。
  • ユーザーがメモリを必要とする場合、彼女は誤って設定
+0

のような重要なファイルを削除せずにパネルを設定するアプリケーションを通じて自分が重要ではないと宣言されているすべてのファイルを削除することができ、ユーザーは全体を移動することができますので、実際に私はちょうどのオプションを作りましたSDカードへのアプリケーションが、すべてのファイルも移動します。私はアプリケーションで表示している画像のみをダウンロードしていて、携帯電話のメモリやSDカードに保存したいのかどうかを選択するオプションが必要です。私がcacheDirにファイルを保存し、ユーザーが設定から私のアプリケーションのキャッシュをクリアすると、それもすべての画像を削除します(私はそう思います、私はそれが私の場合は良い解決策だとは思わない)。助言がありますか? –

+0

イメージをキャッシュディレクトリに保存すると、ユーザーがキャッシュをクリアするとイメージが削除されます。この場合、後でイメージを再ダウンロードすることができます。なぜなら、ユーザーがスペースを必要とする場合、ユーザーはスペースを必要とするため、アプリケーションによって永続的に使用されていないものをすべて削除する必要があるからです。この場合、画像はデータフォルダを削除した場合にのみ削除されます。データフォルダが消去されると、すべての設定ファイルも削除されるため、画像の場所も削除され、イメージはいずれにしても再ダウンロードする必要があります – Janusz

関連する問題