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

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

jsc9年前 (2016-04-01)Android2496

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

在启动页面用做一个文件保存的状态,保存程序是不是第一次启动的状态。因为只是要保存一个状态,我们将这个程序是第一次打开就将他设为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开发中Bundle用法 包裹数据

SDK里是这样描述:A mapping from String values to various Parcelable types。  它帮助我将数据打包传入intent里面,为使用这些数据提供了便利。protected void onListItemClick (L...

EditText焦点

<LinearLayout          style="@style/FillWrapWidgetStyle"      &n...

Android中Parcelable接口用法

1. Parcelable接口Interface for classes whose instances can be written to and restored from a Parcel。 Classes implementing the Parcelable interface m...

【代码】android 调用系统视频录制并生成缩略图

package com.example.videocapture; import android.app.Activity; import android.content.Intent; import android.database.Cursor;...

Android权限问题整理

Android权限系统非常庞大,我们在Android系统中做任何操作都需要首先获取Android系统权限,本文记录了所有的Android权限问题,整理一下分享给大家。访问登记属性 android.permission.ACCESS_CHECKIN_PROPERTIES读取或写入登记check-in数...