0

アプリにユーザー プロファイル システムが必要です。このアプリには機密データはまったくありません。ユーザーのパスワード/ユーザー名などを保護する限り、安全なログインを行う方法を知っています.しかし、ここに私の質問があります...ログインがユーザー名/パスワードの組み合わせが正しいことを確認したら、これを行うことができますか:

Sharedpreferences を使用して、ログイン変数を 0 から 1 に設定します。ユーザーがログアウトすると、変数は 0 に戻ります。そのため、ユーザーがログインしているかどうかを確認する必要がある関数がアプリにあるときはいつでも、状態を確認するだけです。この設定変数。

これは安全な方法ですか?それとももっと良い方法がありますか?

(通常、PHP ではセッション変数を使用しますが、Android に相当するものが何であるかはわかりません。)

4

1 に答える 1

2

共有設定を使用しないでください。アプリの FC や Android によって強制終了され、更新する機会がないなど、うまくいかないことが多すぎます。

Application クラスをオーバーライドし、おそらくブール値などの静的な値を使用して、ユーザーがログインしていることを示すことができます。

アプリケーションをオーバーライドする方法を示す擬似コードを次に示します。これはグローバル変数に似ていますが、これをやりすぎてすべてのデータをここに入れないでください ;)

public class MyApp extends Application{

    public static boolean isUserLoggedIn = false;
    ...

public void userLogin(){

   MyApp.isUserLoggedIn = true;
   ...

public void userLogout(){

   MyApp.isUserLoggedIn = false;
   ...

}

このフィールドは静的で false に初期化されるため、アプリを起動するたびに false であることを保証できます。これが真になる唯一の方法は、コードでアプリに設定されている場合です。

また、マニフェストに拡張クラスを追加する必要があります。

<application android:name=".MyApp" 
  ...
于 2012-08-08T17:32:34.410 に答える