-4

こんにちは、Androidで1つのアクティビティを3回だけ表示したかったのです。実際には、ユーザーが3回以上拒否した場合にユーザーに提案を求めるダイアログであり、ユーザーがアプリをアンインストールして再インストールしない限り、そのダイアログは再び表示されません。

誰でもこれに対する解決策を提案できますか。

どんな助けでも大歓迎です。

4

3 に答える 3

1

ダイアログの条件付き表示用です。以前に同様の機能を実行しました。にカウント変数を含めることで、これを行うことができますsqlite。ユーザーが提案のためにダイアログを拒否するたびに、データベースからエントリを取得し、それが 3 以下かどうかをチェックします。 、3 つ以上の場合、ダイアログを表示しません。

データベースの作成と変数の初期化:

SQLiteDatabase db=openOrCreateDatabase("MYDB", MODE_PRIVATE, null);
db.execSQL("CREATE TABLE IF NOT EXISTS myTbl(Name VARCHAR,num VARCHAR);");
//Here, Name is the name of your counting variable and num is the value you want to store in it

String name="count";
String num="0";

String s="INSERT INTO myTbl VALUES ('"+name+"','"+num+"');";
db.execSQL(s);
Log.d("myapp", "Insertion of data successfull");
db.close();

このアプローチを使用する利点は、アプリケーションがアンインストールされると、対応するsqliteデータベースも削除されることです。したがって、これにより、ユーザーがダイアログを 3 回以上無視した場合、アプリケーションをアンインストールして再インストールする限り、ダイアログは起動されなくなります。sqlite の値の更新について、基本を理解していただければ幸いです。

これが役に立ったことを願っています

于 2013-09-23T09:23:20.470 に答える
0

SharedPreferances を作成し、初期値として 0 を保存します。ユーザーが拒否すると、値を 1 増やして SharedPreferances に保存します。値が 3 に達したら、アクティビティを再度開始しないでください。sharedPreferances の代わりにデータベースを使用できます。

于 2013-09-23T09:22:36.060 に答える