2017-02-02 11 views
1

私が開発しているアプリは、ユーザ/アンドロイド*がキャッシュをクリアしたか、またはデータを消去してユーザをログアウトするかを知っているはずです。これを行う方法?ユーザーがキャッシュをクリアしたかどうかを調べるには?ユーザーがアンドロイドでキャッシュをクリアしたかどうかを確認する方法は?

    • アンドロイドOSは、(人間の介入なしに)自身でアプリのキャッシュをクリアすることはできますか?アプリケーションキャッシュに格納値へ
+3

ユーザーがデータを消去すると、彼はログアウトされます。これは、保存したすべてのデータベース、環境設定が削除され、アプリケーションが新しくインストールされたように見えるからです。キャッシュについては、アンドロイドはキャッシュを削除できます。通常、キャッシュにはアプリケーションのユーザビリティに影響を与えないデータが含まれていますが、ネットワークから画像を何度もダウンロードするのではなく、キャッシュに画像を保存するなど、低速なタスクを高速化するために使用されます。イメージがキャッシュまたはネットワークからのものだった場合、ユーザーにとっては問題ありません。 –

答えて

3

使用SharedPreference

SharedPreference prefs = getSharedPreferences("UserInfo", 0); 
SharedPreferences.Editor editor = prefs.edit(); 
editor.putString("username", username); 
editor.putString("password", password); 
editor.commit(); 

アプリケーションはキャッシュがあなたがする必要があるcleared.soもSharedPreferenceをクリアされている場合SharedPreference

SharedPreference prefs = getSharedPreferences("UserInfo", 0); 
String username = prefs.getString("username",""); 
String password = prefs.getString("password",""); 

からデータを取得し始めましたユーザー名とパスワードが空の場合は、アプリケーションには入りません。

+0

入手しました。しかし、アクティビティXがある場合は、設定に行き、キャッシュをクリアしてから、アクティビティXに戻ります。各アクティビティのプリファレンスをチェックしてログアウトする必要がありますか?はいの場合は、各アクティビティまたはフラグメントの環境設定をチェックする必要がありますか? Wjhichは最高の場所ですか? –

+0

あなたはSharedPreferenceをアプリケーションのどこでアプリケーションコンテキストでチェックすることができます。ただし、これを行う前に、コンテキストのみを渡すことによってSharedPreferenceを別のクラスに作成してください。 –

+0

最高ののは、getterとsetterメソッドを使ってアプリケーションクラスを拡張して作成することです。アプリケーションがログイン設定のステータスがtrueの場合、すべてのアクティビティをチェックし、そのフラグメントが真であるかどうかをチェックします。 – sasikumar

関連する問題