Android项目实现欢迎界面

在我们使用软件的时候,打开一款应用,首先出现的就是欢迎界面,它不仅是应用的入口,也简单概括了app的功能,有美观的作用。同时,在显示欢迎界面的同时,我们可以为主页的数据进行预加载,这样可以让我们的UI更加流畅,用户体验更佳。
值得注意的是,欢迎界面分两种:

  • 第一次安装时的欢迎界面
  • 首次启动(未关闭应用程序)时的欢迎界面

1.区分两种欢迎界面

为了区分上述的两种欢迎界面,我们可以通过设置sharepreference中的键对值为版本号来实现。

  1. 若键对值为空,即指定的键值不存在,则说明没有安装APP,使用第一种欢迎界面。
  2. 若存在键对值,则使用第二种欢迎界面。

存储键对值:

SharedPreferences sp=getSharedPreferences("appDetails", Context.MODE_PRIVATE);
sp.edit().putString("welcome",welcome).apply();

读取键对值:

SharedPreferences sp=getSharedPreferences("appDetails", Context.MODE_PRIVATE);
welcome=sp.getString("welcome",null);

2.欢迎界面的简单实现

这里实现最常见的,第二种欢迎界面。第一种欢迎界面与之类似,可以使用轮播图或者viewpage实现。
实现第二种欢迎界面,主要要考虑到的就是欢迎界面要保留一段时间以便于加载主页面所需要的一些资源、检查版本号,检查token,可以使得用户体验更好。此处以2s为例,实现延时跳转有常见的两种方法,一种是Handler,另外一种是Timer。

public class Welcome extends AppCompatActivity {public String welcome;protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.welcome);SharedPreferences sp=getSharedPreferences("appDetails", Context.MODE_PRIVATE);welcome=sp.getString("welcome",null);if(welcome==null){//显示第一种欢迎界面的代码 ……(此处省略)sp.edit().putString("welcome","1").apply();}else{//plan1 timer
//            new Timer().schedule(new TimerTask() {//                @Override
//                public void run() {//                    startActivity(new Intent(getApplicationContext(), home.class));
//                    finish();
//                }
//            }, 2000);//plan2 handlernew Handler(new Handler.Callback() {// 处理接收到消息的方法@Overridepublic boolean handleMessage(Message msg) {startActivity(new Intent(getApplicationContext(), home.class));finish();return false;}}).sendEmptyMessageDelayed(0,2000);}}
}

其实这里只是简单地实现了欢迎界面的延时,我们在欢迎界面中这段时间内可以检查软件的版本检测是否需要更新,可以检查token来决定需不需要重新登陆,同时可以测试服务器是否停机,为主页进行必要的预加载等等。由于这些和项目之后的东西有关,有些自己也还没写好,之后会对欢迎界面延时这段过程中进行的处理进行完善。

Android实现欢迎界面相关推荐

  1. android的webView的教程,Android WebView 应用界面开发教程

    WebView组件本身就是一个浏览器实现,Android5.0增强的WebView基于Chromium M37,直接支持WebRTC.WebAudio.WebGL.开发者可以直接在WebView中使用 ...

  2. android图片跳转动画效果,Android实现Activity界面切换添加动画特效的方法

    本文以实例形式展示了Android实现Activity界面切换添加动画特效的方法,对于Android程序设计人员来说有很好的参考借鉴价值.具体方法如下: 了解Android程序设计的人应该知道,在An ...

  3. Android之登录界面设计

    Android之登录界面设计 这篇文章主要讲述Android开发中常用的APP开发界面–登录界面的开发(由于博主是初学安卓,可能有些小伙伴会感到简陋,我会继续努力学习新知识的,大家一起加油). (1) ...

  4. Android 程序启动界面Demo

    2019独角兽企业重金招聘Python工程师标准>>> Android 程序启动界面Demo,动态的呢 转载:http://www.adobex.com/android/source ...

  5. android自助终端界面_ZTHP500 | 桌面式人脸消费终端

    科技总在不知不觉中影响着我们的生活和生产方式,让衣食住行都变的更加智能化,过去只存在于我们想象当中的事物正在一一变为现实,缩短我们与世界的距离. "明明可以靠脸吃饭"本来只是一句玩 ...

  6. Android的配置界面PreferenceActivity

    我想大家对于android的系统配置界面应该不会陌生吧,即便陌生,那么下面的界面应该似曾相识吧,假若还是不认识,那么也没有关系,我们这一节主要就是介绍并讲解android 中系统配置界面的使用,相信大 ...

  7. Android——实现欢迎界面的自动跳转(转)

    Android实现欢迎界面的自动跳转,就是打开某一个安卓手机应用,出现的欢迎界面停留几秒钟,自动进入应用程序的主界面.在网上看到很多种实现办法,但是感觉这种方法还是比较简单的. 在onCreate里设 ...

  8. Android性能优化——界面流畅度优化

    Android性能优化--界面流畅度优化 序言 首先流畅度不仅仅是受到代码的影响.也会跟机器的硬件配置有关系.所以第一点需要明确的是,流畅度最低保证在哪个硬件配置之上.这样有了一个基点之后,才能比较好 ...

  9. Android Studio Design界面不显示layout控件的解决方法

    Android Studio Design界面不显示layout控件的解决方法 参考文章: (1)Android Studio Design界面不显示layout控件的解决方法 (2)https:// ...

  10. android软件欢迎界面,Android应用中实现一个软件启动的欢迎界面

    在一个Android应用启动时,可以根据需要为其设置一个欢迎界面.欢迎界面将是用户在启动应用 时看到的第一个界面,传达给用户第一感觉. 下面的几个web,各自提供了一种实现方式. 1.不用线程做And ...

最新文章

  1. Android 用户界面---定制组件(Custom Components)
  2. Ajax原理以及优缺点
  3. 2017甲骨文JavaOne参会感想
  4. Codeforces Round #617 (Div. 3) String Coloring(E1.E2)
  5. 关于 ls 命令的一个小小的缺陷
  6. 九度OJ 1037:Powerful Calculator(强大的计算器) (大整数运算)
  7. QT之QPainter用法
  8. 基于DEAP库的python进化算法--遗传算法实践--非线性函数寻优
  9. centos7 vsftpd默认端口修改
  10. 伺服电机算功率基本公式_伺服电机功率计算选型.ppt
  11. Elasticsearch 基本查询,term,match,
  12. Unity通过压缩字体减小包体大小
  13. 提升自己的认知-思维模型
  14. 计算机二级第二课堂学记录表,第二课堂学分/第二课堂学分是什么?大学第二课堂学分不够...
  15. 东南亚跨境电商ERP怎么选?萌店长ERP,含大数据分析的免费erp系统
  16. 阿里api网关接口客户端demo,java实现源码,其他语言可参考
  17. 智能玩具存在的安全隐患须知
  18. Eclipse护眼背景色
  19. keil5 c语言函数库,C语言中KeilC51库函数大全.doc
  20. Golang项目 Go Build时报错

热门文章

  1. python缩进块是什么,Python块缩进
  2. OSChina 周六乱弹 ——论单身的11大好处
  3. 【WordPress】视频有声音无图像
  4. Swift 读标准库源码笔记 -- Integers(基本数据类型篇)
  5. 将分类图像转换为ERDAS可识别的专题图像(Continuous to Thematic)
  6. JavaAwt子部件定位设置大小,setBounds(x, y, w, h);setLocation(x, y); setSize(w, h); 一开始不起作用,加个延时起作用了
  7. Linux如何用link命令停网卡,如何使用 ethtool 命令管理以太网卡 | Linux 中国
  8. 【机器学习与算法】python手写算法:Kmeans和Kmeans++算法
  9. “数据中台”在安防行业的应用与发展
  10. redis读写分离之lettuce