0

我想要一些关于这种方法的反馈。如果这令人困惑或荒谬,我深表歉意。(这可能是我问的原因,因为我不确定。)

我的应用程序在首次启动时自动将 clientID 分配给 textview - 自动设置为 100。为此,我将一个 int 值存储到 sharedpreferences 中。在 Oncreate,我对 sharedpreferences 中的这个特定 ID 进行检查,然后它要么递增,要么分配回 100。挑战是 sharedpreferences(我知道)只能采用字符串值,即(editor.putString("CLIENTID" , ID);) 或 editor.putInt("ID", c);

我想避免为这部分使用数据库以最小化开销(可能是错误的)有一些验证可以防止增加,除非满足某些条件。

c 是我在共享首选项中使用的持久计数器。

这是我在 oncreate 所做的:

public String ID; //global
int checkCount = prefs.getInt("ID", c); //get the current ID value currently set or last set.

if( checkCount > 100)
{
c = checkCount; //whatever the value of c is from its latest increment the counter c set to this
}
else if (checkCount <= 100)
{
c  = 100; //base value of clientIDs //assign base value for starting clientIDs
}

ID = "" + c + ""; //sets value of the counter to a string
//Parsing integer was not passing correctly.

clientID.setText(ID);

在点击中:

//一旦所有条件都满足,传递这个实例的clientID。

SharedPreferences.Editor editor = prefs.edit(); //USING EDITOR TO ADD TO THE PREFERENCES
editor.putInt("ID", c);

....// 然后是其他的东西。

有什么想法吗?如果这是一个菜鸟问题,我很抱歉。如果这个应用程序一直运行,我只想确定这种方法。

谢谢

4

0 回答 0