0

私は単純なアンドロイドアプリケーションに取り組んでいます。

このアプリケーションには、php に接続されたユーザー ログインの機能があります。

ログイン機能をうまく機能させることに成功しました。私が今欲しいのはsave the username、私ができるようにすることuse it anywhere and anytime in my applicationです。いくつかのSOスレッドを通過した後、これはandroid sharedPreferencesを使用して実行できることがわかりました。

sharedPreferencesしかし、それらを実装する前に、 likeを使用する際に留意すべきいくつかのことを知りたいです

  • 共有設定の基本的なタスクは何ですか?
  • 実際に使用する際の注意点は?
  • それらをプログラムでコードに実装する適切な方法は何ですか?
  • 最後に、使用後にそれらを削除する方法は?
4

3 に答える 3

2

共有設定の基本的なタスクは何ですか?

SharedPreferencesは基本的に、アプリケーションに永続データを保存する必要がある場合に使用されます。データベースが(サイズ/保存されるデータの純粋な目的のために)実際には必要ない場合に使用することを検討します。

実際に使用する際の注意点は?

アプリケーションがそのタスクを実行するために通常必要とするものは何でも保存できます。たとえば、ゲーム アプリケーションでは、ユーザーのスコアを保存できます。ただし、ルートSharedPreferences化されたデバイスでは誰でもファイルにアクセスできるため、パスワードを保存する必要はありません。とにかくそれらを保存する必要がある場合は、独自のアルゴリズムを実装して暗号化する必要があります。私のアプリでは、Facebook と Twitter のユーザーのプロフィール写真への URL を保存しています。それはすでにパブリックドメインです。

それらをプログラムでコードに実装する適切な方法は何ですか?

たとえば、1 つまたは 2 つのアクティビティだけを使用する場合はSharedPreference、次のようなものを使用して SharedPreference ファイルに値を追加します。

// THE SHAREDPREFERENCE INSTANCE
SharedPreferences sharedPrefs;

// THE EDITOR INSTANCE
Editor editor;

// A CONSTANT STRING TO PROVIDE A NAME TO THE SHAREDPREFERENCE FILE
private static final String PRIVATE_PREF = "some_file_name";

// INSTANTIATE THE SHAREDPREFERENCE INSTANCE
sharedPrefs = getApplicationContext().getSharedPreferences(PRIVATE_PREF, Context.MODE_PRIVATE);

// INSTANTIATE THE EDITOR INSTANCE
editor = sharedPrefs.edit();

// ADD VALUES TO THE PREFERENCES FILE
editor.putLong(UNIQUE_KEY_NAME, VALUE);
editor.putString(UNIQUE_KEY_NAME, VALUE);
editor.putString(UNIQUE_KEY_NAME, VALUE);
editor.putString(UNIQUE_KEY_NAME, VALUE);

// THIS STEP IS VERY IMPORTANT. THIS ENSURES THAT THE VALUES ADDED TO THE FILE WILL ACTUALLY PERSIST
// COMMIT THE ABOVE DATA TO THE PREFERENCE FILE
editor.commit();

ファイルから値を取得するには:

String someString = sharedPrefs.getString(UNIQUE_KEY_NAME, null);
long someLong = sharedPrefs.getLong(UNIQUE_KEY_NAME, 0);

ファイルの内容/値を再利用する必要がある場合SharedPreference、これはヘルパー クラスを作成するための優れたチュートリアルです。このヘルパー クラスを使用すると、すべてActivitesの値に上記のコードをコーディングする代わりに、任意の数の値にアクセスできます: http:// megasnippets.com/source-codes/java/sharedpreferences_helper_class_android

最後に、使用後にそれらを削除する方法は?

// INSTANTIATE THE EDITOR INSTANCE
editor = sharedPrefs.edit();

// TO CLEAR A SELECT FEW OF THE VALUES:
editor.remove(KEY_FOR_THE_VALUE_TO_BE_REMOVED);

// ALTERNATIVELY, TO CLEAR ALL VALUES IN THE FILE:
editor.clear();

注:作成SharedPreferencesしたファイルは、ユーザーがデバイスの設定からアプリ データを手動で消去すると削除されます。

さらに読むためのリンク:

  1. http://www.vogella.com/articles/AndroidFileBasedPersistence/article.html
  2. http://saigeethamn.blogspot.in/2009/10/shared-preferences-android-developer.html
  3. http://www.mybringback.com/tutorial-series/12260/android-sharedpreferences-example/
  4. http://www.androidhive.info/2012/08/android-session-management-using-shared-preferences/
于 2013-04-15T09:02:09.400 に答える