2011-11-09 8 views
0

Androidアプリケーションでセッションを作成する方法についてインターネットで検索しています。私はthisを見つけました。それは確かに私のプロジェクトの一部で私を助けました。セッションオブジェクトはAndroidのさまざまなアクティビティで使用できます

現在のところ、ユーザーにユーザー名とパスワードの入力を求めるログインアプリケーションがあるのと同様の状況があります。送信ボタンをクリックすると、セッションオブジェクトが作成され、初期化されます。

私が今直面している問題は、ログインアプリケーションアクティビティ以外のさまざまなアクティビティでこのオブジェクトを使用できるかどうかを知りたいという事実です。 Sessionオブジェクトにユーザーの資格情報が含まれている場合、Webサービス経由で送信してリモートデータベースに格納できることも知りたいですか?

答えて

1

Application(マニフェストファイルを更新することを忘れないでください)を拡張し、必要なフィールド(ユーザー名、パスワードなど)を追加するクラスを作成します。このクラスはあなたのすべてのアクティビティで利用できます。詳細な説明はhereです。

その後編集:

のは、あなたがフィールドとしてusernameSessionクラスがあるとしましょう。

class Session { 
    public String username = ""; 
} 

次に、Applicationを拡張:今すぐ

class App extends Application { 
    Session session = new Session(); 

    public String getUsername() { 
     return session.username; 
    } 

    public void setUsername(String username) { 
     session.username = username; 
    } 
} 

、ユーザー名にアクセスするとき、あなたはどんな活動からそれを行うことができます。

App app = (App) getApplication(); 
String username = app.getUsername(); 
if (username.equals("")) { 
    // the user is not logged in, do something 
} 
+0

返信いただきありがとうございます。私はいくつか疑問がある。私が間違っていれば私を修正してください。私のプロジェクトには、ユーザー名とパスワードを取り込む2つのEditTextボックスがあるクラスがあります。このデータの送信時にセッションオブジェクトを作成しました。私が言ったように、私はアプリケーションを拡張する別のクラスを作成する必要があります。私の疑問は、私は新しいクラスを私はセッションオブジェクトを再度作成する必要がありますか?私は以前に私の新しいクラスで作成したセッションオブジェクトをどのように使用しますか?私はリンクを見ましたが、私はそれをうまく理解できませんでした。簡単に言えば説明できますか? –

+0

はい、それは私のためにそれを透明にします! thnxトン! :-) –

1

もないとsharedpreferenceを使用してみてください要件が基本的である場合。 http://developer.android.com/guide/topics/data/data-storage.html voteup、あなたはそれが役に立つ

+0

はい、以前はSharedPreferencesについて聞いたことがありますが、私の要件は基本的ではありません。私はデータの記憶だけでなく、私のプロジェクトでセッションを管理、作成、破壊する必要があります。どうもありがとうございます! :D –

+0

fine.thought参考になるかもしれません。 – drooooooid

0

申し訳ありませんが、私は多分非常に遅く、ここに私は2つの点をご紹介したいと発見した場合の答えを受け入れる:

1からどこでも利用できるようにオブジェクトを格納する様々な方法があります。アプリで静的オブジェクト、シングルトンデザインパターン、シリアライゼーションなどを使用できます。すべての選択肢に条件があります(主にオブジェクトのサイズに関係します)。

2 - @Gabriel Negutによって導入された上記の回答は、Androidがアプリケーションのライフサイクルを管理する方法ではお勧めできません。アプリケーションが新しいApplicationオブジェクトで復元されると、NullPointerExceptionがスローされます。フィリップ・ブレオーはそのことについて素敵なarticleを持っています。

関連する問題