Android APP —— “时光摄影” 的搭建手记(二)


编写简易的欢迎页面Activity

                                                                                                                                                    —— 记录一下 TimeTask 类的简单使用

1. TimeTask 和 Intent 

    这节记录一下简易欢迎页面的编写过程。设计思路如下:


    
    如上图所示,本部分的工作一共涉及到两个Activity:WelcomeActivity和MainActivity,前者是欢迎页面,后者是APP的主页,跳转的前提是等待1s。等待打算用TimeTask类实现,跳转用Intent类实现。

    TimeTask是Android提供的定时器,由于继承了Runnable接口(如下所示),因此可以实现多线程,在实现TimeTask类时,需要重写抽象方法run(),如下下图所示。

    Android APP —— “时光摄影” 的搭建手记(二)_第1张图片

Android APP —— “时光摄影” 的搭建手记(二)_第2张图片

             主要程序如下:
        TimerTask task = new TimerTask(){
            @Override
            public void run(){
<span style="white-space:pre">		</span>//要重写的部分
            }
        };
        Timer timer = new Timer();
        timer.schedule(task, 1000); //计时1s


   Intent 类是Activity要执行操作的一种抽象描述,通常情况下被用于联系上下文环境,比如最长用的就是从当前Activity跳转到另一个Activity。主要的代码如下:

        Intent intent = new Intent();
 <span style="white-space:pre">	</span>intent.setClass(WelcomeActivity.this, MainActivity.class);
 <span style="white-space:pre">	</span>WelcomeActivity.this.startActivity(intent);
 <span style="white-space:pre">	</span>finish();

    上述代码第一行实例化一个Intent类,得到的Intent类对象赋值给intent句柄;
    第二行的setClass()方法定义了当前Activity和接下来要跳转的Activity,也就是出发地和目的地;
    第三行的startActivty() 开始下一个Activity;
    第四行 finish()的作用是结束当前的Activity。

    将上面4行代码复制到重写的run方法里,就能实现等待1s后跳转的功能了。


2. 实现步骤


    首先,新 建一个Empty Activity(空白的Activity),命名为Welcome,点击Finish,如下图所示:

Android APP —— “时光摄影” 的搭建手记(二)_第3张图片


    新建好Welcome Activity后,再新建一个MainActivity。

    在WelcomeActivity中的onCreate()方法中,添加如下代码:

        TimerTask task = new TimerTask(){
            @Override
            public void run(){
                Intent intent = new Intent();
                intent.setClass(WelcomeActivity.this, MainActivity.class);
                WelcomeActivity.this.startActivity(intent);
                finish();
            }
        };
        Timer timer = new Timer();//计时1s
        timer.schedule(task, 1000);

     
    然后,分别为WelcomActivity和MainActvity设置页面的布局,布局文件分别如下:

    activity_welcome:     
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".WelcomeActivity">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:textStyle="bold"
        android:textSize="50sp"
        android:gravity="center"
        android:text="Welcome to Tmp Demo!"/>

</RelativeLayout>



    activity_main.xml :
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.a10405.tmp.MainActivity">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:text="Main Activity"/>

</RelativeLayout>



    最后,需要修改一下AndroidManifest.xml配置文件,将WelcomeActvity设置为APP的首页,如下所示:

Android APP —— “时光摄影” 的搭建手记(二)_第4张图片

    修改后的AndroidManifest.xml如下:

<span style="font-size:14px;"><?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.a10405.tmp">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".WelcomeActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <!--<activity android:name=".WelcomeActivity" />-->
        <activity android:name=".MainActivity"></activity>
    </application>

</manifest></span>



    之后,编译并真机调试了,程序等待1s后会跳转到MainActivity。


   

你可能感兴趣的:(android)