【问题标题】:How to show certain activity only 3 times in android? [closed]如何在android中仅显示3次某些活动? [关闭]
【发布时间】:2013-09-23 09:05:13
【问题描述】:
您好,我只想在 android 中显示一项活动 3 次。实际上它是一个对话框,如果用户拒绝它超过 3 次,它会询问用户一些建议,除非用户卸载并重新安装应用程序,否则该对话框将不会再次出现。
谁能建议我解决这个问题。
感谢任何帮助。
【问题讨论】:
标签:
java
javascript
android
【解决方案1】:
这是用于有条件地显示对话框。我之前执行过类似的功能。您可以通过在sqlite 中添加一个计数变量来做到这一点。每次用户拒绝建议的对话框时,从数据库中获取条目,检查它是否小于或等于 3。如果小于 3,则显示对话框,通过将 count 变量递增 1 来更新数据库条目。否则,如果超过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 中的值,我希望您了解基础知识。
希望对你有所帮助
【解决方案2】:
创建一个SharedPreferences,将0作为初始值保存在其中,用户拒绝时,将该值加1并保存在SharedPreferences中,一旦值达到3,就不要再次启动活动。您可以使用数据库而不是 sharedPreferences。
【解决方案3】:
您应该使用 SharedPreferences 来计算显示建议的值,例如 0 到 3。对于建议显示,您可以使用单独的布局并将其包含到您的主布局中。那么活动处理的复杂性就会降低。当布局显示 3 次时,通过将其可见性设置为 GONE,不应显示特定布局。