仿造微信,第一次进入去引导界面,否则进启动界面。

  1. package edu.hpu.init;
  2.  
  3. import edu.hpu.logic.R;
  4.  
  5. import android.app.Activity;
  6.  
  7. import android.content.Intent;
  8.  
  9. import android.content.SharedPreferences;
  10.  
  11. import android.os.Bundle;
  12.  
  13. import android.os.Handler;
  14.  
  15. import android.os.Message;
  16.  
  17. public class TellActivity extends Activity {
  18.  
  19. 	boolean isFirstIn = false;
  20.  
  21. 	private static final int GO_HOME = 1000;
  22.  
  23. 	private static final int GO_GUIDE = 1001;
  24.  
  25. 	// 延迟3秒
  26.  
  27. 	private static final long delayTime = 3000;
  28.  
  29. 	private static final String spName = "first_pref";
  30.  
  31. 	private Handler mHandler = new Handler() {
  32.  
  33. 		@Override
  34.  
  35. 		public void handleMessage(Message msg) {
  36.  
  37. 			switch (msg.what) {
  38.  
  39. 			case GO_HOME:
  40.  
  41. 				goHome();
  42.  
  43. 				break;
  44.  
  45. 			case GO_GUIDE:
  46.  
  47. 				goGuide();
  48.  
  49. 				break;
  50.  
  51. 			}
  52.  
  53. 			super.handleMessage(msg);
  54.  
  55. 		}
  56.  
  57. 	};
  58.  
  59. 	@Override
  60.  
  61. 	protected void onCreate(Bundle savedInstanceState) {
  62.  
  63. 		super.onCreate(savedInstanceState);
  64.  
  65. 		setContentView(R.layout.splash);
  66.  
  67. 		init();
  68.  
  69. 	}
  70.  
  71. 	private void init() {
  72.  
  73. 		// 读取SharedPreferences中需要的数据
  74.  
  75. 		// 使用SharedPreferences来记录程序的使用次数
  76.  
  77. 		//接口,MODE_PRIVATE指定该SharedPreferences数据只能被本应用程序读、写
  78.  
  79. 		SharedPreferences preferences = getSharedPreferences(
  80.  
  81. 				spName, MODE_PRIVATE);
  82.  
  83. 		SharedPreferences.Editor editor;
  84.  
  85. 		editor = preferences.edit();
  86.  
  87. 		// 取得相应的值,如果没有该值,说明还未写入,用true作为默认值
  88.  
  89. 		isFirstIn = preferences.getBoolean("isFirstIn", true);
  90.  
  91. 		// 判断程序第几次运行,如果是第一次运行则跳转到引导界面,否则跳转到主界面
  92.  
  93. 		if (!isFirstIn) {
  94.  
  95. 			mHandler.sendEmptyMessageDelayed(GO_HOME, delayTime);
  96.  
  97. 		} else {
  98.  
  99. 			// 使用Handler的postDelayed方法,3秒后执行GuideActivity
  100.  
  101. 			mHandler.sendEmptyMessageDelayed(GO_GUIDE, delayTime);
  102.  
  103. 			editor.putBoolean("isFirstIn", false);
  104.  
  105. 			editor.commit();
  106.  
  107. 		}
  108.  
  109. 	}
  110.  
  111. 	private void goHome() {
  112.  
  113. 		Intent intent = new Intent(this, StartActivity.class);
  114.  
  115. 		startActivity(intent);
  116.  
  117. 		this.finish();
  118.  
  119. 	}
  120.  
  121. 	private void goGuide() {
  122.  
  123. 		Intent intent = new Intent(this, GuideActivity.class);
  124.  
  125. 		startActivity(intent);
  126.  
  127. 		this.finish();
  128.  
  129. 	}
  130.  
  131. }
  132.  

Android判断界面的更多相关文章

  1. Android判断网络是否打开,并打开设置网络界面

    由于Android的SDK版本不同所以里面的API和设置方式也是有少量变化的,尤其是在Android 3.0 及后面的版本,UI和显示方式也发生了变化,现在就以打开网络设置为例,同大家分享一下: 1. ...

  2. Android典型界面设计(5)——使用SlidingMenu和DrawerLayout分别实现左右侧边栏

    一.问题描述 侧边栏是Android应用中十分常见的界面效果,可随主屏在左侧或右侧联动,是特别适应手机等小屏幕特性的典型界面设计方案之一,常用作应用的操作菜单,如图所示 实现侧边栏可以使用第三方组件s ...

  3. Android判断当前网络是否可用--示例代码

    Android判断当前网络是否可用--示例代码 分类: *07 Android 2011-05-24 13:46 7814人阅读 评论(4) 收藏 举报 网络androiddialogmanagern ...

  4. [android] 切换界面的问题

    1. 界面重复创建的问题 2. 中间容器每次切换,都会清空容器中的子对象问题 3. 点击返回键的处理 解决重复创建的问题: 传递Class字节码对象,利用泛型来规定对象 判断界面是否存在,如果存在重复 ...

  5. Android流行界面结构——Fragment通过ViewPager(带指示器)嵌套Fragment结构的创建方法详解

    原创文章,转载请注明出处http://www.cnblogs.com/baipengzhan/p/6287213.html 当前Android流行界面结构的一种——Fragment通过ViewPage ...

  6. (转载)Android引导界面实现

    Android引导界面实现 Android   2014-07-10 14:47:36 发布 您的评价:       4.0   收藏     3收藏 ViewPager类提供了多界面切换的新效果,是 ...

  7. Android 判断一个 View 是否可见 getLocalVisibleRect(rect) 与 getGlobalVisibleRect(rect)

    Android 判断一个 View 是否可见 getLocalVisibleRect(rect) 与 getGlobalVisibleRect(rect) [TOC] 这两个方法的区别 View.ge ...

  8. Android判断Touch为滑动事件还是操作控件

    Android判断Touch为滑动事件还是操作控件 因为在项目中要判断WebView是否处于滚动状态,但它不像ListView有onScrollStateChanged方法来监听,要实现就得手动监听它 ...

  9. 转:Android 判断用户2G/3G/4G移动数据网络

    Android 判断用户2G/3G/4G移动数据网络 在做 Android App 的时候,为了给用户省流量,为了不激起用户的愤怒,为了更好的用户体验,是需要根据用户当前网络情况来做一些调整的,也可以 ...

随机推荐

  1. 选择 GCD 还是 NSTimer ?

    我们常常会延迟某件任务的执行,或者让某件任务周期性的执行.然后也会在某些时候需要取消掉之前延迟执行的任务. 延迟操作的方案一般有三种: 1.NSObject的方法: 2.使用NSTimer的方法: 3 ...

  2. ios开发时候,出现A valid provisioning profile for this executable was not found 错误

    今天一大早起来,做ios的开发,发现了一下错误:A valid provisioning profile for this executable was not found 错误的产生是在开发模式下产 ...

  3. start mysqld on Mac server

    #!/bin/sh # Source the common setup functions for startup scripts test -r /etc/rc.common || exit 1 . ...

  4. web开发学习之旅---css第一天

    一.css全称 Cascade Style Sheet层叠样式表 二.css引入方式 行内样式:<h2 style="color:#0F0">Hello World&l ...

  5. 20151221jquery学习笔记--验证插件

    验证插件(validate.js),是一款验证常规表单数据合法性的插件.使用它,极大的解放了在表单上繁杂的验证过程,并且错误提示显示的完善也增加了用户体验.一. 使用 validate.js 插件官网 ...

  6. WPF:保存窗口当前状态截图方法

    在制作软件使用手册或者操作示范市,比较常用方式有截图和视频制作.如果软件内置当前状态的截图和操作视频的导出功能,则将极大简化这方面的工作.使用wpf编写的UI界面,截图的导出功能逻辑相对简单,通用的实 ...

  7. asp.net:用类来后台绑定数据源

    //封装成一个 using System;using System.Collections.Generic;using System.Linq;using System.Web;using Syste ...

  8. jsonp调用webapi和mvc

    webapi代码如下: public string Get(int id) { var callback = HttpContext.Current.Request["callback&qu ...

  9. C#中2、8、16进制 有符号转换10进制正负数

    曾经让我苦想的其他进制转有符号整型问题,结果自己想到方法解决后才发现原来如此简单. 1.Int16(2个byte长度 ) : 方法 :Convert.ToInt16(进制编码,进制) a.16进制转1 ...

  10. Java实战之01Struts2-05contextMAP、EL、OGNL

    十五.contextMap 1.动作类的生命周期 明确:动作类是多例的,每次动作访问,动作类都会实例化.所以是线程安全的.与Struts1的区别是,struts1的动作类是单例的. 2.请求动作的数据 ...