以下是該場景。 我:在活動之間設置並獲取用戶名
登錄活動
會話在那裏我有方法getUsername和setUserName()
一個GET活動在那裏應該得到的用戶名。
當在登錄活動成功登錄我有這行代碼
public class MainActivity extends Activity {
Session obj = new Session();
,然後在被稱爲tryLogin(另一種方法)我有此
obj.setUsername(mUsername);
在會話活動我有這些代碼:
public class Session extends Application {
String username;
int userid;
@Override
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
}
public void setUsername(String user)
{
this.username = user;
}
public String getUsername()
{
return this.username;
}
並且在獲取用戶名的活動中我有這條線。
Session obj = new Session();
username = obj.getUsername();
這不能正常工作。但如果我手動設置「用戶名」在會話活動的一些字符串這樣的:
public class Session extends Application {
String username = "manually set the string";
然後GET活動得到的用戶名就好了。 所以我認爲從登錄活動中將問題縮小到setUsername是安全的。
那麼,我在這裏做錯了什麼?
非常感謝。 // 的Android入門
這實際工作延伸應用作爲
在Session類方法的價值和訪問。 我改變它爲公共靜態,並像這樣訪問它: Session.username =「等等等等」 但我應該關心什麼user370305說一個新的對象重新創建或? – bubbly
如果您在函數和類中都使用公共靜態,則不需要創建該類的實例。所以你甚至不需要Session obj = new Session()。你可以使用Session.username =「blah blah」。或Session.getUsername() – Tushar
此外,請選擇此作爲接受的答案,如果它的工作。 – Tushar