2012-11-21 30 views
1

谷歌後,我發現有三種方法:1。 靜態變量 2.擴展應用程序和使用getApplicationContext 3. SharedPreferences如何在android中製作全局變量?

+0

因此,你似乎已經有了解決方案,你的問題在哪裏?或者你只是想進行一般性討論? – h22

+0

哦,sry:P我想知道prons和cons謝謝:) –

回答

1

編輯:閱讀評論請,我不想將其刪除,因爲它可以幫助其他誰落入同一陷阱...

要小心靜態變量!我編寫了一個使用它們的應用程序,但是在某些設備上它可以工作,而在某些設備上卻不行。問題是,如果一個活動編輯了該變量,完成並且焦點返回到另一個活動,則無法識別這些更改。我還沒有找到這個解決方案,不知何故,我不明白它與getApplicationContext工作...

通常我會說,我犯了一個錯誤,但在這兩種情況下,它是與SGSII工作與安卓4.0.4但它不是與4.1 SGSIII ... :(

所以,作爲一個結果我認爲他們已經改變了使用全局變量,也許是出於安全方面的原因,讓每一位活動得到我不知道

+0

系統需要它們時,活動會隨之而來。你有沒有嘗試在「服務」中存儲一個變量和相關的代碼? – NoBugs

+0

哦,我的上帝。這真的不可思議。我發現我的錯誤......-.-顯然我的活動RESTARTS,即使我只是從其他活動恢復...令人難以置信......但只在SGSIII設備上。爲什麼android sdk的開發者會實現這個功能?對不起,給你錯誤的信息 – timothy3001

+0

一項活動,可能是也可能不是在從我瞭解的任何時間記憶......服務是longrunning過程真的很抱歉:https://developer.android.com/guide/components/ fundamentals.html可能是一個BroadcastReceiver,當變量發生變化時,可以在你的場景中工作嗎? – NoBugs