2013-07-09 51 views
1

我正在製作一個具有不同活動的應用程序。每個活動都會記錄屏幕被點擊的次數。我想分別保存所有活動的計數總數(意味着我點擊活動1次10次,應該保存10次。下次我點擊5次,應用程序應該爲活動1節省10 + 5 = 15)保持計數並保存在Android應用程序中

上自來水的活動只要做一個簡單的

count++; 

如何可以輕鬆實現這一點? 進出口新的Android開發 請多關照:)

+0

需要一個靜態int變量在mainActivity及增加其價值按水龍頭上的活動 –

+0

@Sohaib賈馬爾計值存儲在sharedPreferences當下次活動開啓拿到儲值,並在其中添加自來水計數。 – TheFlash

回答

2

您應該使用首選項將計數存儲在持久狀態中。如果您使用靜態變量,則當其他應用程序具有更高優先級時,後臺活動可能會被破壞(例如,在恢復應用程序前按住home並保留很長時間),並且所有值在內存不足時都將被清除。

SharedPreferences countSettings = getSharedPreferences("count", 0); 

// get current counts 
int count = countSettings.getInt("counts",0); 
count++; 
final SharedPreferences.Editor edit = countSettings.edit(); 
edit.putInt("counts",count); 
edit.commit(); 
+0

好吧,這是有道理的。生病嘗試這個馬上 –

+0

如果我想在新的活動中顯示計數,該怎麼辦? 生病不得不通過意圖的額外? 還是有另一種更簡單的方法? –

+0

SharedPreferences可以在您的活動的任何地方訪問。你不需要傳遞值,只需調用前兩行'''''''''''''SharedPreferences countSettings = getSharedPreferences(「count」,0);''int count = countSettings.getInt(「counts」,0);'。 – Neoh

0

實施OnTouchListener根標籤和

@Override 
    public boolean onTouch(View v, MotionEvent touchevent) { 
     count++; 
     return true; 
    } 

onDestroy方法將其存儲在偏好。

+0

@Sohaib Jamal這裏是鏈接http://androiddeveloperspot.blogspot.in/2013/01/sharedpreference-in-android.html 共享首選項示例 – Gru