Android:APP实践:起点 -2020-06-12

2020-06-17  本文已影响0人  勇往直前888

创建工程

这个过程主要是定义包名,应用名字等等。

企业微信截图_b1fcf263-b493-4a29-a75d-890eec6693d9.png 企业微信截图_e3a130e2-91b8-4127-a8d9-ef00150a82cf.png 企业微信截图_2fa4dbd5-7570-4a75-b226-5345c6b809ef.png

程序入口

企业微信截图_34814c78-720a-427e-a1bf-233faf219ace.png 企业微信截图_abf79706-e6b8-408f-bbe5-9c371c95ba4b.png 企业微信截图_f9550d90-5e13-4b33-a09d-a3d984f6b639.png
package com.kjtpay.app;

import android.app.Application;
import android.os.Looper;
import androidx.multidex.MultiDexApplication;
import android.os.Handler;

/**
 * 程序入口
 */
public class CashierApplication extends MultiDexApplication {

    private static Application mInstance;
    private static Handler mHandler;

    public static Application getApplication() {
        return mInstance;
    }

    public static Handler getHandler() {
        if (null == mHandler) {
            synchronized (Handler.class) {
                mHandler = new Handler(Looper.getMainLooper());
            }
        }
        return mHandler;
    }

    @Override
    public void onCreate() {
        super.onCreate();

        // 保存实例
        mInstance = this;

        // 第三方初始化
        sdkInitial();

        // 初始化接口
        initial();
    }

    // 初始化三方库
    private void sdkInitial() {
        
    }
        
    // 初始化接口
    private void initial() {
        
    }
}

基类Activity

企业微信截图_b206e651-b335-4e5d-a037-6da02c4e55cb.png 企业微信截图_bf8cd38a-d497-4bcb-812c-80c14ead45d4.png 企业微信截图_726aa0f0-6967-47fa-ac9e-0c135b626c1e.png
package com.kjtpay.app.base;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;

/***
 *  activity 基类
 * */
public abstract class BaseActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }

    @Override
    protected void onResume() {
        super.onResume();
    }

    @Override
    protected void onPause() {
        super.onPause();
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
    }

    public boolean isLiving() {
        return (!isDestroyed() && !isFinishing());
    }
}

什么也没做,留着以后慢慢加内容

广告页

在展示首页之前,往往有些活动介绍,或者说是广告。所以,第一个展示的页面,往往不是首页,而是一般被称为splash的广告页。

企业微信截图_ae3d62f8-d508-466e-a16e-d25f9fb5d183.png 企业微信截图_30856327-1002-4ad3-9641-b61fa1b1cbde.png 企业微信截图_5547d8c6-d698-4e59-950a-0bb988945e73.png 企业微信截图_a8d1aa48-a3ae-4af6-abe8-a023406698b8.png

对于android.intent.action.MAIN和android.intent.category.LAUNCHER的理解

首页

默认生成的MainActivity只有一个Hello World字符串,大多数情况下并不符合需求。所以一般会删除,重新生成一个。

企业微信截图_8560ffeb-e786-4c83-9f47-4ae6a6bac2df.png
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
public class HomeActivity extends BaseActivity {

    private static final String SOURCE_NAME = "source_name";

    /***
     *  跳转到首页,并指明来源名字
     * */
    public static void launch(Context context, String sourceName) {
        if (null != context) {
            Intent intent = new Intent();
            intent.setClass(context, HomeActivity.class);
            intent.putExtra(SOURCE_NAME, sourceName);
            if (!(context instanceof Activity)) {
                intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            }
            context.startActivity(intent);
        }
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_home);

        // 展示来源名字
        Intent intent = getIntent();
        String  sourceName = intent.getStringExtra(SOURCE_NAME);
        Toast.makeText(HomeActivity.this, "从页面"+sourceName+"跳转过来", Toast.LENGTH_LONG).show();
    }
}
public class SplashActivity extends BaseActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_splash);

        // 跳转到首页
        HomeActivity.launch(SplashActivity.this, "闪屏广告页");
    }
}
企业微信截图_97bb20b4-cc05-47ba-a4fc-102c244754ac.png
上一篇下一篇

猜你喜欢

热点阅读