当前位置:首页 > Android > 正文内容

实现应用程序只有在第一次启动时显示引导界面

jsc10年前 (2016-04-01)Android2853

第一次安装启动:启动页--->导航页-->主页面
之后启动:启动页-->主页面
实现的原理就是:

在启动页面用做一个文件保存的状态,保存程序是不是第一次启动的状态。因为只是要保存一个状态,我们将这个程序是第一次打开就将他设为true,当他进入 主页面之后将他的状态未为false,因为都进入到主页面了说明他之后肯定不是第一次启动程序,因为状态的字符也不多,所以大家都使用SharedPreferences来实现。
判断这个状态是不是第一次启动如果是就走:启动页--->导航页-->主页面这个路线。不是就走:启动页-->主页面这个路线。
下面是我在启动页面进行的操作,程序第一次启动,他的状态设为true.
               //读取SharedPreFerences中需要的数据,使用SharedPreFerences来记录程序启动的使用次数
                SharedPreferences preferences = getSharedPreferences(SHAREDPREFERENCES_NAME, MODE_PRIVATE);
                //取得相应的值,如果没有该值,说明还未写入,用true作为默认值
                isFirstIn = preferences.getBoolean("isFirstIn", true);
                //判断程序第几次启动
                if (!isFirstIn) {
                        Intent intent = new Intent(SplashActivity.this, MainActivity.class);
                SplashActivity.this.startActivity(intent);
                SplashActivity.this.finish();
                } else {
                        Intent intent = new Intent(SplashActivity.this, GuideActivity.class);
                SplashActivity.this.startActivity(intent);
                SplashActivity.this.finish();
                }


当程序进入主页面的时候,他之后启动肯定就不是第一次启动了。所以我们可以在界面,或者是调用主页面的步骤中将他的状态设为false.
                                                SharedPreferences preferences = getSharedPreferences(SHAREDPREFERENCES_NAME, Context.MODE_PRIVATE);
                                                Editor editor = preferences.edit();

                                                editor.putBoolean("isFirstIn", false);
                                                // 提交修改
                                                editor.commit();                      那么这样就可以实现了,当程序第二次进入的时候,在启动也就进行了判断。。if() else() 就执行了你想让他执行的操作。

扫描二维码推送至手机访问。

版权声明:本文由微小站发布,如需转载请注明出处。

本文链接:https://jsc0.com/post/42.html

标签: 引导页广告
分享给朋友:

“实现应用程序只有在第一次启动时显示引导界面” 的相关文章

Android中使用PULL方式解析XML文件

Android中使用PULL方式解析XML文件

 Pull解析器的运行方式与 SAX 解析器相似。它提供了类似的事件,如:开始元素和结束元素事件,使用parser.next()可以进入下一个元素 并触发相应事件。跟SAX不同的是, Pull解析器产生的事件是一个数字,而非方法,因此可以使用一个s...

android json解析及简单例子

JSON的定义:       一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性。业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了当今大部分语言的支持),从而可以在不同平台间进行数据交换。JSON采用兼容性很高的文本格式...

修改keystore密码别名等

修改keystore密码别名等

之前在测试Eclipse ADT的Custom debug keystore自定义调试证书的时候,发过一篇关于调试证书规格的博文:Eclipse ADT的Custom debug keystore所需证书规格,提到过自定义调试证书的密码和alias命名以及alias密码都是...

android客户端和java服务端之间用socket来传输图片

一、从服务端向客户端发送图片:服务端的代码:import java.io.DataOutputStream;   import java.io.FileInputStream;   import java.io.IOExcep...

Android利用JSON发送数据到服务器

new Thread() { @Override public void run() { // TODO Auto-generated method stub Looper.prepare();&nbs...

Activity的四种launchMode

Activity的四种launchMode

launchMode在多个Activity跳转的过程中扮演着重要的角色,它可以决定是否生成新的Activity实例,是否重用已存在的 Activity实例,是否和其他Activity实例公用一个task里。这里简单介绍一下task的概念,task是一个具有栈结构的对象,一个 task可以管理多个...