转自:http://blog.csdn.net/withiter/article/details/14004495,略作修改,欢迎去欣赏原文。
一、简介
打开APP时一般都有个加载页面。当打开APP时,我们需要做很多事情,如检查网络连接,初始化一些配置,检查SD卡状态等。我们可以让这些事情在APP完全打开之前做完,然后在打开的过程中显示一些广告,比如淘宝、京东、搜狐新闻客户端,他们不是放自己的广告就是放别人的广告。
二、实现逻辑:
1、创建两个界面、两个activity文件。
2、设置加载页面为启动界面
3、加载界面对应的java文件中实现:初始化配置等等,及最重要的:延迟跳转。
三、代码实现:
1、创建过程省略。
2、设置加载页面为启动界面:在AndroidMainfest.xml文件中配置。
<activity
android:name="com.example.zzzzzz.LaunchActivity"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
说明两件事:1)<intent-filter>中是用来设置启动项目时,以哪个界面为启动界面。2)又学到设置无标题,除了requestWindowFeature(Window.FEATURE_NO_TITLE);之外的实现方式:AndroidMainfest.xml文件中设置android:theme="@android:style/Theme.NoTitle"(没错,这儿对,上面也对)。
3、延迟跳转
Handler handler = new Handler();
//设置3秒钟延迟执行splashhandler线程。其实你这里可以再新建一个线程去执行初始化工作,如判断SD,网络状态等
handler.postDelayed(new splashhandler(), 3000);
class splashhandler implements Runnable{
public void run() {
// 这个线程的作用3秒后就是进入到你的主界面
<span style="white-space:pre"> </span>startActivity(new Intent(getApplication(),MainActivity.class));
// 把当前的LaunchActivity结束掉
LaunchActivity.this.finish();
}
}
学习下延迟启动线程:handler.postDelayed(new splashhandler(), 3000);