如何实现android程序第一次登陆时显示初始界面?【菜鸟初次提问,请各位大虾多多关照>0<】

共享大家使用 2012-05-11 02:45:31

就是第一次使用时,才会出现的界面,之后就不会再出现的界面。我知道是登陆界面上的onCreate()中要查询记录,可能是一个bool值,判断它,如果为true则进入启动初次设置界面的那个activity。否则就进入其他界面。但是,那个bool值放哪里保存啊~~。是放在String.xml里面吗??还是什么??

小女就才自学android一个多礼拜。。。。各位麻烦讲的详细一点。。。最好有例子。。。谢谢各位T.T。。

...全文
592 点赞 收藏 13
写回复
13 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
[Quote=引用 12 楼 的回复:]

引用 11 楼 的回复:

引用 10 楼 的回复:

引用 5 楼 的回复:

SharedPreferences 存储一个boolean值,在onCreate()方法中判断这个boolean值,如果为true就显示你的初始化界面,显示初始化界面之后将存储到SharedPreferences 的boolean值设置为false,这样在你下次进入到这个activity的时候,由……
[/Quote]

非常感谢!!!!受教了~
回复
manoel 2012-05-11
[Quote=引用 11 楼 的回复:]

引用 10 楼 的回复:

引用 5 楼 的回复:

SharedPreferences 存储一个boolean值,在onCreate()方法中判断这个boolean值,如果为true就显示你的初始化界面,显示初始化界面之后将存储到SharedPreferences 的boolean值设置为false,这样在你下次进入到这个activity的时候,由于你将boolean值置为fals……
[/Quote]
请看以下的代码片段。

public class MainActivity extends Activity {

private static final String TAG = "SavingState";
final String INITIALIZED = "initialized";
private String someString;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

SharedPreferences myPrefs = getPreferences(MODE_PRIVATE);

boolean hasPreferences = myPrefs.getBoolean(INITIALIZED, false);

if(hasPreferences) {
Log.v(TAG, "We've been called before");
// Read other values as desired from preferences file? someString = myPrefs.getString("someString", "");
}
else {
Log.v(TAG, "First time ever being called");
// Set up initial values for what will end up
// in the preferences file
someString = "some default value";
}

Log.v(TAG, "someString = " + someString);

// Later when ready to write out values
Editor editor = myPrefs.edit();
editor.putBoolean(INITIALIZED, true);
editor.putString("someString", someString);
// Write other values as desired
editor.commit();
}
}
回复
[Quote=引用 10 楼 的回复:]

引用 5 楼 的回复:

SharedPreferences 存储一个boolean值,在onCreate()方法中判断这个boolean值,如果为true就显示你的初始化界面,显示初始化界面之后将存储到SharedPreferences 的boolean值设置为false,这样在你下次进入到这个activity的时候,由于你将boolean值置为false了,就不会初始化你的那个界面了。……
[/Quote]

可是我不知道在什么时候新建一个SharedPreferences文件啊,555555~~~~~泪
回复
manoel 2012-05-11
[Quote=引用 5 楼 的回复:]

SharedPreferences 存储一个boolean值,在onCreate()方法中判断这个boolean值,如果为true就显示你的初始化界面,显示初始化界面之后将存储到SharedPreferences 的boolean值设置为false,这样在你下次进入到这个activity的时候,由于你将boolean值置为false了,就不会初始化你的那个界面了。
[/Quote]
嗯,这个方法可行,我用过的。
回复
[Quote=引用 8 楼 的回复:]

引用 5 楼 的回复:
SharedPreferences 存储一个boolean值,在onCreate()方法中判断这个boolean值,如果为true就显示你的初始化界面,显示初始化界面之后将存储到SharedPreferences 的boolean值设置为false,这样在你下次进入到这个activity的时候,由于你将boolean值置为false了,就不会初始化你的那个界面了。
……
[/Quote]
可是我发现个问题,我在什么时候新建一个SharePreferences的文件啊。如果是第一次使用这个软件,然后就调用SharePreferences中的boolean值,那我在什么时候存好这个值呢。。。
回复
hellonihao100 2012-05-11
[Quote=引用 5 楼 的回复:]
SharedPreferences 存储一个boolean值,在onCreate()方法中判断这个boolean值,如果为true就显示你的初始化界面,显示初始化界面之后将存储到SharedPreferences 的boolean值设置为false,这样在你下次进入到这个activity的时候,由于你将boolean值置为false了,就不会初始化你的那个界面了。
[/Quote]



这方法 就很好
回复
sunsh1989 2012-05-11
你说的是登录界面吧,为登录界面新建一个activity,在这里面可以设置保存bool值,然后根据这个值判断是否跳转到其他activity,即是否跳到其他界面。
回复
zy1235678 2012-05-11
设个全局变量,在第一此启动时改变其值就可以了吧!!
回复
murongshusheng 2012-05-11
SharedPreferences 存储一个boolean值,在onCreate()方法中判断这个boolean值,如果为true就显示你的初始化界面,显示初始化界面之后将存储到SharedPreferences 的boolean值设置为false,这样在你下次进入到这个activity的时候,由于你将boolean值置为false了,就不会初始化你的那个界面了。
回复
[Quote=引用 2 楼 的回复:]

也可以随便建个类,用来存变量值
[/Quote]

那个,建个类里面存数据的话,里面的数据不是每次运行这个软件的时候都会被初始化嘛?
回复
哦~好的~多谢指点~
回复
树_皮 2012-05-11
也可以随便建个类,用来存变量值
回复
android_Y 2012-05-11
你可以用SharedPreferences试试
回复
相关推荐
发帖
Android
创建于2009-10-09

7.8w+

社区成员

移动平台 Android
申请成为版主
帖子事件
创建了帖子
2012-05-11 02:45
社区公告
暂无公告