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

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

jsc10年前 (2016-04-01)Android2893

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

在启动页面用做一个文件保存的状态,保存程序是不是第一次启动的状态。因为只是要保存一个状态,我们将这个程序是第一次打开就将他设为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://www.jsc0.com/post/42.html

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

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

Android自定义属性,format详解

1. reference:参考某一资源ID。    (1)属性定义:<declare-styleable name = "名称">       &...

android json解析及简单例子

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

Android ImageView的scaleType属性与adjustViewBounds属性

Android ImageView的scaleType属性与adjustViewBounds属性

ImageView的scaleType的属性有好几种,分别是matrix(默认)、center、centerCrop、centerInside、fitCenter、fitEnd、fitStart、fitXY android:sca...

制作一款Android APK管理器主要代码

Android APK管理器代码,主要就是两个列表,一个显示SD卡上面的APK文件的list,一个显示已经安装的app的list。1:获取SD卡上的APK安装文件后,要用代码读出APK里面的信息,如icon等,的主要代码如下:private void getUninatllApk...

JAVA中使用JSON进行数据传递

最近在做一个基于JAVA Servlet的WEB应用以及对应的Anroid应用客户端的开发工作。其中,在接口的访问和数据的传输方面使用的比较多的是使用JSON对象来操作格式化数据:在服务器端采用JSON字符串来传递数据并在WEB前端或者Android客户端使用JSON来解析接收到的数据。首先,在JA...

Location服务之LocationManager

Location服务之LocationManager

LocationManager系统服务是位置服务的核心组件,它提供了一系列方法来处理与位置相关的问题,包括查询上一个已知位置、注册和注销来 自某个LocationProvider的周期性的位置更新、注册和注销接近某个坐标时对一个已定义的Intent的触发等。今天我们就一起探讨一下 L...