美文网首页
android应用程序第一次启动时显示引导界面

android应用程序第一次启动时显示引导界面

作者: 随心随性_0a25 | 来源:发表于2018-06-16 14:36 被阅读0次

市面上好多优秀的应用(举例新浪微博、UC浏览器)都采用了欢迎页面与使用向导的方式给用户带来了良好的用户体验。

一般来说用户第一次安装应用或者安装了新版本后第一次进入应用都会显示成 欢迎页面-使用向导-主界面 的方式

用户没有安装新版本或者不是第一次进入的时候都会显示成 欢迎页面-主界面的方式

想要实现这种不同的分支,我们就要使用一种变量来存储我们是否是第一次进入应用,当然这种变量不可能是存储在应用里,而是要存储在应用包名底下的文件中

那么我们就来看看实现这种变量存储和修改的步骤吧

1、在应用的欢迎页面Splash Activity里定义一个变量isFirstIn(前一篇文章中讲了Splash),初始值无所谓,应为我们马上要从文件中读取这个值

2、定义SharedPreferences对象,并通过该对象获取文件中isFirstIn键(key)对应的值(value),这里默认为true,因为第一次进入应用时我们并没有创建该文件和该变量

3、在Splash中需要跳转的地方做一个if判断,如果是isFirstIn是true说明我们是第一次进入,那么跳转到GuideActivity1,如果是false说明我们不是第一次进入,那么跳转到主页面MainActivity

4、假如GuideActivity1是最后一个使用向导页,我们要在GuideActivity1结束之后默认跳转到MainActivity里,那么我们需要在跳转之前改变一下isFirstIn值为false,并存到文件里,这样下次进入应用时Splash可以从文件里获取值为false的isFirstIn值,这样就可以通过分支直接跳转到MainActivity了

下面关键部分的代码

Splash.Java

boolean isFirstIn = false;

//onCreate中

SharedPreferences preferences = getSharedPreferences("first_pref",

MODE_PRIVATE);

isFirstIn = preferences.getBoolean("isFirstIn", true);

new Handler().postDelayed(new Runnable() {

@Override

public void run() {

if (isFirstIn) {

// start guideactivity1

intent = new Intent(Splash.this, GuideActivity1.class);

} else {

// start TVDirectActivity

intent = new Intent(Splash.this, TVDirectActivity.class);

}

Splash.this.startActivity(intent);

Splash.this.finish();

}

}, SPLASH_DISPLAY_LENGHT);

GuideActivity1.java 在引导页面结束前一定要修改SharedPreferences里边的值,这样第二次进入的话才会跳转到主页面,不进引导页。

SharedPreferences preferences = getSharedPreferences(

"first_pref", MODE_PRIVATE);

Editor editor = preferences.edit();

editor.putBoolean("isFirstIn", false);

editor.commit();

最后可以在应用包名底下shared_prefs文件夹下找到我们在应用里定义的first_pref.xml文件,打开可以看到里面

这种使用SharedPreferences存储变量的方法不仅可以使用与欢迎页面与使用向导,可以随意在程序任何位置使用,用来存储应用退出之后也要记录的某些关键变量或值

相关文章

  • 第八章 SharedPreferences

    启动的时候有张引导界面、只有第一次启动时显示,3秒后到主界面。下一次启动就不会再显示引导界面了,直接到主界面。 课...

  • android应用程序第一次启动时显示引导界面

    市面上好多优秀的应用(举例新浪微博、UC浏览器)都采用了欢迎页面与使用向导的方式给用户带来了良好的用户体验。 一般...

  • Android应用程序消息处理机制

    Android应用程序消息处理机制 Android应用程序通过消息驱动,Android应用程序的每一个线程在启动时...

  • 内存溢出是如何产生的?

    1、当一个Android应用程序第一次启动时,Android框架为应用程序的主线程创建一个Looper对象。一个L...

  • Handler 相关

    当Android应用程序启动时,会开启一个主线程 (也就是UI线程) , 主线程为管理界面中的UI控件进行事件分发...

  • Android开发中Handler的经典总结

    当应用程序启动时,Android首先会开启一个主线程(也就是UI线程),主线程为管理界面中的UI控件,进行事件分发...

  • UI界面设计-APP界面控件中英文名称汇总

    一、界面模式Mobile Design Pattern 1. 启动界面 (智能手机启动时所显示的界面) 启动界面/...

  • iOS启动引导页及指纹解锁

    应用程序启动时有些会有引导页,目的是用户第一次登录时对应用程序的一些简单了解介绍,一般就是几张轮播图片,当引用程序...

  • excel 2016 双击打开显示空白

    文件-选项-常规-此应用程序启动时显示开始屏幕(去掉勾选)

  • Android显示原理

    一、概要 Android应用程序显示的过程:Android应用程序调用SurfaceFlinger服务把经过测量、...

网友评论

      本文标题:android应用程序第一次启动时显示引导界面

      本文链接:https://www.haomeiwen.com/subject/cerbeftx.html