2012-05-08 16 views
0

ユーザーがアプリケーションに正常にログインした後、アンドロイドアプリケーションのセッションを実装する必要があります。しかし、私はWebViewではないアプリケーションを使用してこれを欲しいです。このログイン資格情報は、認証のためにサーバーに送信されます。 WebViewを使用せずに可能ですか?webViewを使用しないセッション管理

答えて

0

変更を保存する方法は複数あります。 Androidのドキュメントではすべてのことが詳しく説明されていますが、基本的には5つの方法です。最も簡単なのはSharedPreferencesです。

Shared Preferences

ストアのキーと値のペアの民間プリミティブデータ。デバイスメモリ上の

Internal Storage

ストアプライベートデータ。共有外部ストレージに

External Storage

ストア公開データ。

SQLite Databases

Storeはプライベート・データベース内のデータを構造化。独自のネットワーク・サーバとウェブ上

Network Connection

ストアデータ。

+0

このSharedPreferenceは、ユーザーがアクティブでない、またはログインしていなくてもアンドロイドサービスで使用できますか? –

+1

はい、バックグラウンドサービスを実行している場合や、最初にアプリを実行しているときにリロード中に環境設定を設定して変数を確認することができます。それは働く、私はそれをやった。どのモードで私はそれを使用する必要があります – sidG

+0

? (公的または私的)。それが公開されている場合、他のアプリケーションがアクセスして操作することができますか? –

1

これは使用できますpreference.ifログインが成功しましたユーザーのログイン設定がprefernce.ifでユーザー名とパスワードを設定できるようになりました。

はthis..httpを参照してください。//developer.android.com/reference/android/preference/Preference.html

ログインあなたは使用することができます。この

String user_name_key = "Username"; 
String pass_word_key = "Password"; 

String Shared_preference_key = "Shared Preference"; 
private SharedPreferences USERNAME_and_PASSWORD; 





public boolean setUserName(String userName) { 
    editor = USERNAME_and_PASSWORD.edit(); 
    editor.putString(user_name_key, userName); 
    editor.commit(); 
    return true; 
} 

public boolean setPassword(String password) { 

    editor = USERNAME_and_PASSWORD.edit(); 
    editor.putString(pass_word_key, password); 
    editor.commit(); 
    return true; 
} 
+0

あなたは親切に1つの例を詳しく説明することができますか。 –

+0

私の回答が編集されました –

+0

ユーザーがアクティブでない、またはログインしていなくても、このSharedPreferenceをAndroidサービスで使用できますか? –

1

ようsuceesfulセットの好みであればこのためのSharedPreferencesは、ログインしているユーザーの情報を格納します。

// Access the default SharedPreferences 
    SharedPreferences.Editor editor = getPreferences(MODE_PRIVATE).edit(); 


// Edit the saved preferences 
editor.putString("UserName", "JaneDoe"); 
editor.putInt("password", "******"); 
editor.commit(); 

これらの値はこのように取得できます。

SharedPreferences prefs = getPreferences(MODE_PRIVATE); 
String UserName= prefs.getString("UserName", null); 

この情報はどこにでも適用できます。

+0

サービスの優先順位にアクセスできますか? –

+0

これはsharedPreferencesのモードによって異なります。私はこれについて完全にはわかっていません。私たちが公共にモードを宣言すれば、サービスはデータにアクセスすることができます。 – neeraj

+0

でも、コンテンツプロバイダを使用することもできます。これは間違いなくあなたの問題を解決するでしょう。 – neeraj

関連する問題