Powder_Snow_ 2022-12-27 15:26 采纳率: 78.9%
浏览 80
已结题

Android平台开发与应用

完成一个倒计时代码的编写方法名为initDate(),如果第一次登陆在WelcomeActivity显示倒计时功能,如果是第二次登录直接跳转到主界面MainActivity。

  • 写回答

7条回答 默认 最新

  • |__WhoAmI__| 2022-12-27 18:14
    关注

    可以使用 CountDownTimer 类来实现倒计时功能,代码如下所示:

    private void initDate() {
        SharedPreferences preferences = getSharedPreferences("login_info", MODE_PRIVATE);
        boolean isFirstLogin = preferences.getBoolean("is_first_login", true);
    
        if (isFirstLogin) {
            // 如果是第一次登录,显示倒计时
            new CountDownTimer(3000, 1000) {
                @Override
                public void onTick(long millisUntilFinished) {
                    // 每秒执⾏一次,更新倒计时
                    long seconds = millisUntilFinished / 1000;
                    textView.setText(String.format(Locale.getDefault(), "倒计时 %d 秒", seconds));
                }
    
                @Override
                public void onFinish() {
                    // 倒计时结束,跳转到 MainActivity
                    Intent intent = new Intent(WelcomeActivity.this, MainActivity.class);
                    startActivity(intent);
                    finish();
                }
            }.start();
    
            // 记录已经登录过
            preferences.edit().putBoolean("is_first_login", false).apply();
        } else {
            // 如果不是第一次登录,直接跳转到 MainActivity
            Intent intent = new Intent(WelcomeActivity.this, MainActivity.class);
            startActivity(intent);
            finish();
        }
    }
    

    在上面的代码中使用 SharedPreferences 来保存登录信息。如果是第一次登录,就启动倒计时并记录已经登录过;如果不是第一次登录,就直接跳转到 MainActivity。

    上面的代码假设 WelcomeActivity 中有一个 textView 用于显示倒计时。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(6条)

报告相同问题?

问题事件

  • 系统已结题 1月5日
  • 已采纳回答 12月28日
  • 创建了问题 12月27日

悬赏问题

  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
  • ¥15 帮我写一个c++工程
  • ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
  • ¥15 关于smbclient 库的使用
  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?