30

アプリでログインを作成しています。ユーザーは自分の情報を入力し、それを Web サービスに送信して ID を確認して取得します。今、彼がログインしているかどうかを確認できるアプリのどこかに保存する必要があります。

では、この情報をどこに保存する必要がありますか? すべてのアプリには設定があることを知っているので、この情報があるはずですか? たぶん、誰かがこれが何をどのように行っているかについての詳細を教えてくれるかもしれません。

ありがとう。

この投稿を見つけました: Android アプリケーションにユーザー設定を保存する最も適切な方法は何ですか?

私の質問は重複していたと思います。しかし、もっと共有できるものがあればいいのにと思います。

4

4 に答える 4

64

まず、このコードを使用して、uname やパスワードなどのユーザー情報を SharedPreferences に保存します。

SharedPreferences settings = getSharedPreferences("UserInfo", 0);
SharedPreferences.Editor editor = settings.edit();
editor.putString("Username",txtUname.getText().toString());
editor.putString("Password",txtPWD.getText().toString());
editor.commit();

そして、以下のコードから SharedPreferences を取得します

SharedPreferences settings = getSharedPreferences("UserInfo", 0);
txtUname.setText(settings.getString("Username", "").toString());
txtPWD.setText(settings.getString("Password", "").toString());
于 2012-04-18T13:00:56.797 に答える
29

答えは、アプリケーションクラスまたは共有設定を使用することです

Application Classの例を簡単に検索できると思いますSharedPreferencesSQLite Database

だから私はどこでどのオプションを使用するかについて言及しています

Application Class

アプリケーションのLifeTimeの間だけ保存するもの(var、array、list、objects)を取得したとき..そして(Android Force Closeの場合)近づくと、アプリケーションクラスを使用します。

SharedPreferences

ID、トークン、ユーザー名、フラグなどの短い情報を取得したときにこれを使用し、アプリケーションがデバイスに残っている限りそれを保存し、アプリケーションを起動するたびにそれらの情報を使用する必要があります..

SQLite Database

レコード形式 (行 - 列) に大量のデータがある場合、それを使用してデータベースに保存したので、保存、取得、および操作が簡単になりました。

于 2012-04-18T13:06:47.200 に答える
8

これにはSharedPreferencesを使用できます。

参照からのいくつかのコード(ドキュメントから取得):

public class Calc extends Activity {
    public static final String PREFS_NAME = "MyPrefsFile";

    @Override
    protected void onCreate(Bundle state){
       super.onCreate(state);
       . . .

       // Restore preferences
       SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
       boolean silent = settings.getBoolean("silentMode", false);
       setSilent(silent);
    }

    @Override
    protected void onStop(){
       super.onStop();

      // We need an Editor object to make preference changes.
      // All objects are from android.context.Context
      SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
      SharedPreferences.Editor editor = settings.edit();
      editor.putBoolean("silentMode", mSilentMode);

      // Commit the edits!
      editor.commit();
    }
}
于 2012-04-18T12:58:05.903 に答える