五、项目结构

2018-06-14  本文已影响0人  秋风潇潇1992

常用包名定义及含义

image

MyActivity的父类封装

package com.company.test.ui;

import android.content.Context;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.KeyEvent;

import com.company.test.R;

public class MyActivity extends AppCompatActivity {

    public static Context mContext;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_my);
        mContext = this;
    }

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

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_BACK){
            animFinish();
        }

        return super.onKeyDown(keyCode, event);
    }

    private void animFinish(){
        finish();
    }

    //activity进入  从右边进入
    public void overridePendingTansitionEnter(){
        this.overridePendingTransition(R.anim.in_form_right,R.anim.out_right_to_left);
    }

    //activity退出
    public void overridePendingTansitionExit(){
        this.overridePendingTransition(R.anim.in_form_right,R.anim.out_right_to_left);
    }
}

SafeThread父类封装

package com.company.test.thread;

import android.util.Log;

/**
 * 所有线程内的基类
 */
public class SafeThread extends Thread {

    private static final String TAG = "SafeThread";

    //可以作为线程运行标示 避免重复启动
    protected boolean isRunFlg = false;

    public void setRunFlg(boolean flag) {
        isRunFlg = flag;
    }

    public void safeStart(){
        if (isRunFlg)
            return;
        setRunFlg(true);
        start();
    }

    public void safeStop(){
        if (!isRunFlg) return;
        setRunFlg(false);
        tryJoin();
    }

    public void tryJoin(){
        try {
            interrupt();
            join();
        }catch (InterruptedException e){
            Log.i(TAG, "tryJoin: ---" + e.getMessage());
        }
    }
}

通讯过程

上一篇 下一篇

猜你喜欢

热点阅读