2013-10-05 63 views
-1

我正在創建一個遊戲,在該遊戲中,用戶每提問一次提示,當用戶按下提示按鈕時,提示計數必須減少1,我正在許多具有相同類型邏輯的活動。如何編輯數據並在需要的地方得到它。請幫助我保存一個int數並將其檢索到其他活動

+0

第一次點擊的價值有觸發計數和然後單擊按鈕應該不會觸發計數 – user2819290

回答

1

您可以將計數值保存在Application類的靜態變量中。

在你AndroidManifest.xml你define.-

<application 
    android:allowBackup="true" 
    android:name=".YourApplicatinClass" 
    ... 

然後,每當你需要

YourApplicationClass.cont 
+0

我這裏建議立即進行刪除限定yourApplicationApplication – user2819290

+0

它應該成爲YourApplicationClass.java文件中的一個類。但是,請注意,您可以在任何已有類中定義靜態變量。 – ssantos

+0

首先單擊activity1中的按鈕,必須將cont減少1,並且在activity2中按鈕的第一次單擊必須將cont減少1,並且最終的cont值應該返回-2。從第二次點擊它不應該觸發連續值,是否有可能爲上述編寫代碼。感謝您的回覆 – user2819290

1

定義YourApplicationApplication類like.-

public class YourApplicationClass extends Application { 
    public static int cont = 0; 
} 

並獲得cont值你應該只保存在SharedPreferences。 看看這Question,應該給你提示如何使用它。 你可以寫一個靜態方法來讀取遞減保存在那裏

class Activity1{ 


    onClickListener(){ 
     GlobalSettings.getHits(context) 
    } 

} 


class Activity2{ 

    onClickListener(){ 
     GlobalSettings.getHits(context) 
    } 

} 



class GlobalSettings{ 
    private static String PREFS_NAME = "myprefs"; 
    private static String PREF_HITS = "hits"; 
    private static int START_VALUE = 10; 

    public static int getHits(Context context){ 
     SharedPreferences settings = context.getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE); 
     return settings.getInt(PREF_HITS, START_VALUE); 
    } 

    public static void incrementHits(Context context){ 
     SharedPreferences settings = getSharedPreferences(PREFS_NAME , 0); 
     SharedPreferences.Editor editor = settings.edit(); 

     editor.putInt(PREF_HITS, getHits(context) + 1); 
     editor.commit(); 
    } 

    public static void decrementHits(Context context){ 
     SharedPreferences settings = getSharedPreferences(PREFS_NAME , 0); 
     SharedPreferences.Editor editor = settings.edit(); 

     editor.putInt(PREF_HITS, getHits(context) - 1); 
     editor.commit();  
    } 

} 
+0

我已經使用Shared Prefs但我無法檢索其他活動中的值並對其進行修改 – user2819290

+0

當然,您可以編輯和檢索來自同一應用程序的所有活動的值。 –

+0

你能舉兩個活動嗎 – user2819290

相關問題