我正在制作一个Android应用程序,但我无法弄清楚我是如何才能让设置屏幕第一次出现。 这就是应用程序的工作方式: 用户在安装后启动应用程序,并显示欢迎/设置屏幕。一旦用户完成设置,除非用户重新安装应用程序,否则设置屏幕将永远不会再出现。
我怎样才能实现这一目标? 请提前帮助和谢谢!
答案 0 :(得分:13)
使用SharedPreferences
来测试它是否是第一次启动。
注意:以下代码未经过测试。
在你的onCreate(或者你想做什么事情,取决于首次开始),添加
// here goes standard code
SharedPreferences pref = getSharedPreferences("mypref", MODE_PRIVATE);
if(pref.getBoolean("firststart", true)){
// update sharedpreference - another start wont be the first
SharedPreferences.Editor editor = pref.edit();
editor.putBoolean("firststart", false);
editor.commit(); // apply changes
// first start, show your dialog | first-run code goes here
}
// here goes standard code
答案 1 :(得分:0)
进行一项帮助活动。这将是你的启动器活动。它不会包含任何布局,它只会检查应用程序的第一次新运行。如果它首先运行,则将启动安装活动,否则将启动MainActivity。
public class HelperActivity extends Activity {
SharedPreferences prefs = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Perhaps set content view here
prefs = getSharedPreferences("com.mycompany.myAppName", MODE_PRIVATE);
}
@Override
protected void onResume() {
super.onResume();
if (prefs.getBoolean("firstrun", true)) {
// Do first run stuff here then set 'firstrun' as false
//strat DataActivity beacuase its your app first run
// using the following line to edit/commit prefs
prefs.edit().putBoolean("firstrun", false).commit();
startActivity(new Intent(HelperActivity.ths , SetupActivity.class));
finish();
}
else {
startActivity(new Intent(HelperActivity.ths , MainActivity.class));
finish();
}
}
}