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