Android实现倒计时跳转Activity

原创 2016年05月30日 21:02:14

现在的APP大部分打开时的欢迎界面都有广告,倒计时结束进入主界面,今天就自己试试实现了一下,主要用到有:

Intent意图,实现页面跳转

CountDownTimer倒计时器,不言而喻

Handler:消息处理类,将跳转意图发送到消息队列,可以设置延迟

完整代码如下:

package com.example.sharedpreferences;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.os.Handler;
import android.view.Window;
import android.view.WindowManager;
import android.widget.TextView;

public class Welcome extends Activity {
	private static final String MY_DB_FirstCheck = "my_db";
	private TextView countdown;

	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		this.requestWindowFeature(Window.FEATURE_NO_TITLE);
		this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
				WindowManager.LayoutParams.FLAG_FULLSCREEN);
		setContentView(R.layout.welcome_layout);
		countdown = (TextView) findViewById(R.id.TView_countdown);

		final SharedPreferences sharedpreferences = getSharedPreferences(
				MY_DB_FirstCheck, Context.MODE_PRIVATE);

		/**
		 * Check if this is user's first visit;
		 */

		final boolean hasVisited = sharedpreferences.getBoolean("hasVisited",
				false);
		/**
		 * Default preference is 'false',if 'sharedpreferences' hasn't the
		 * String 'hasVisited'.
		 */

		countdowntimer = new MyCountdownTimer(3000, 1000);
		countdowntimer.start();
		handler.postDelayed(new Runnable() {

			@Override
			public void run() {
				if (!hasVisited) {
					/**
					 * Show Login Activity.
					 */
					Intent intent = new Intent();
					intent.setClass(Welcome.this, Login.class);
					startActivity(intent);
					/**
					 * Commit change: change state to 'true'.
					 */
					Editor edit = sharedpreferences.edit();
					edit.putBoolean("hasVisited", true);
					edit.commit();
				} else {
					Intent intent = new Intent();
					intent.setClass(Welcome.this, MainActivity.class);
					startActivity(intent);
				}
				finish();
			}
		}, 3000);
	}

	private Handler handler = new Handler();
	private MyCountdownTimer countdowntimer;

	/**
	 * Rewrite 'CountDownTimer' method.
	 * 
	 * @param millisInFuture
	 *            倒计时总数,单位为毫秒。
	 * @param countDownInterval
	 *            每隔多久调用onTick一次
	 * @author DaiZhenWei
	 * 
	 */
	protected class MyCountdownTimer extends CountDownTimer {

		public MyCountdownTimer(long millisInFuture, long countDownInterval) {
			super(millisInFuture, countDownInterval);
		}

		@Override
		public void onTick(long millisUntilFinished) {
			countdown.setText("Close(" + millisUntilFinished / 1000 + ")");
		}

		@Override
		public void onFinish() {
			countdown.setText("Turning");
		}

	}
}

注意:finish()必须写在Runnable()中,写在方法外围会造成欢迎界面闪退,之后直接进入主界面

今天就写到这里,明天准备把倒计时那里加上点击事件,实现跳过等待时间的过程,暂时还没有想法,明天继续!

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Android关于界面一定时间无操作自动跳转到指定界面的实现

最近在做一个售货机的项目,当界面停留一定时间无操作需要自动跳转到主页播放宣传广告。下面把我实现的方式贴出来,经测试完美地实现所需功能。 主要用到的功能,自定义一个定时器CountTimer继承Coun...

Android自定义倒计时控件

最近越来越多的APP都是用手机号注册,一是为了方便用户记忆,二是为了增加用户账户的安全性。在我们进行交易操作或者修改密码等操作的时候,这时候需要输入短信验证码。这个控件会需要有倒计时的功能,这里主要总...

Android 倒计时功能的实现(CountDownTimer)

 CountDownTimer 结构 继承关系 public abstract class CountDownTimer extends Object     java.lang.Ob...

广告倒计时欢迎界面的实现

今天更新了一个App,打开这个App后弹出的页面是一个广告倒计时的页面,倒计时完毕后进入主界面。于是我闲着没事儿简易实现了一下这个功能,如图: 实现这个效果也很容易,在相应布局问下中添加TextVi...

Android倒计时控件,Splash界面5秒自动跳转

现在很多app的首页都有一个倒计时控件,比如说3秒或者5秒自动跳转界面,或者点击控件直接跳过首先,自定义控件CircleProgressbar(参考网上资料) package com.zhoujian...

Android实现计时与倒计时的几种方法

方法一 Timer与TimerTask(Java实现) public class timerTask extends Activity{ private int recLen = 11...

Android学习之路-----倒计时欢迎界面(更有条理)

广告倒计时欢迎界面的实现,倒计时欢迎界面 今天更新了一个App,打开这个App后弹出的页面是一个广告倒计时的页面,倒计时完毕后进入主界面。于是我闲着没事儿简易实现了一下这个功能,如图:  ...
  • K_Men
  • K_Men
  • 2016-09-06 17:27
  • 3235

android启动页广告欢迎界面

这个广告界面主要做的就是倒计时功能,当然,中间也出现了一些问题,秉着遇到问题解决问题的原则,慢慢的做出来了,可能也不太完善,先这样。 之前做的app启动页与主界面做在一个activity中了,通过vi...

自定义控件之仿启动页右上角的圆形跳过按钮倒计时功能

说明下:此文有用到严振杰大神的部分代码,加上自己对其代码的探究。最后来写的这边博文。这篇博文初学自定义控件的工程师可以看看。里面讲解的很详细,也算是自己对自定义控件的一个总结探索吧。如有讲解不对地方,...

Android启动页解决方案

启动页几乎成为了每个app的标配,有些商家在启动页中增加了开屏广告以此带来更多的收入。目前启动页的广告都有倒计时的功能,那么我们在倒计时的过程中能做些什么呢?这篇文章主要包括以下两方面内容 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)