Android 火車票訂購APP之延時頁(1)

我終於對Android下手啦!
早就想做一款APP啦!順便熟悉一下數據結構。
首先,我下載了AS,剛創建了一個工程,就爆紅了,真的難受,好像是什麼appt2的問題,上網查了以後,找到一個文件加了一句代碼,錯誤成警告了,後來還是老出錯,我直接卸載了AS,用IDEA編的,其實差不多,到現在還沒出過什麼不可抗的問題。

一開始,做了幾個頁面後安裝到真機後直接閃退,後來發現是忘了在Androidmanifest.xml裏面註冊頁面,我是真的傻。。。

第一步,我做了一個延時頁面來掩蓋開始app的白色背景。
那麼軟件在打開時的白色或黑色背景的設置是在values/styles.xml中設置background,我們把它設置爲drawable中我們設好的圖片,然後再進入我們的第一個延時頁,把這個頁面的背景也設爲剛剛的圖片,我們就能實現沒有白屏的延時頁。

在這裏插入圖片描述

我們在WelActivity.java的代碼:

package com.dianmo.flash;

import android.app.Activity;
import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.os.Handler;
import android.support.annotation.Nullable;
import android.support.v4.app.ActivityCompat;
import android.view.Window;
import android.view.WindowManager;
import android.widget.TextView;

public class WelActivity extends Activity {
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);


        final int REQUEST_EXTERNAL_STORAGE = 1;
        String[] PERMISSIONS_STORAGE = {
                "android.permission.READ_EXTERNAL_STORAGE",
                "android.permission.WRITE_EXTERNAL_STORAGE",
                "android.permission.MOUNT_UNMOUNT_FILESYSTEMS"};

//上面的語句爲我們的軟件設置讀寫權限,在Androidmanifest.xml中也要添加
        //以上是兼容Android6.0運行時權限解決方案
        
        try {
            //檢測是否有寫的權限
            int permission = ActivityCompat.checkSelfPermission(this,
                    "android.permission.WRITE_EXTERNAL_STORAGE");
            if (permission != PackageManager.PERMISSION_GRANTED) {
                // 沒有寫的權限,去申請寫的權限,會彈出對話框
                ActivityCompat.requestPermissions(this, PERMISSIONS_STORAGE,REQUEST_EXTERNAL_STORAGE);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }



//去掉信息欄
        this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
        setContentView(R.layout.activity_welcome);

        new Handler().postDelayed(new Runnable()
        {
            //封裝的run()方法,用在
            @Override
            public void run()
            {
//頁面跳轉
                Intent intent = new Intent(WelActivity.this,MainActivity.class);
//保存跳轉信息
                startActivity(intent);
//進入第二個界面前銷燬當前的活動,"finish()"銷燬活動
                WelActivity.this.finish();
            }
//這裏的數字爲延時時長
        }, 1500);
    }
}

下篇我們說登錄以及註冊頁面的設計和邏輯。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章