Android实现欢迎界面

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 handler
            new Handler(new Handler.Callback() {
                // 处理接收到消息的方法
                @Override
                public boolean handleMessage(Message msg) {
                    startActivity(new Intent(getApplicationContext(), home.class));
                    finish();
                    return false;
                }
            }).sendEmptyMessageDelayed(0,2000);
        }
    }
}

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

评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

起风*

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值