1. 程式人生 > >android studio程式猿必須要會的幾個技巧 知曉當前是那個活動?隨時隨地的退出程式?啟動活動的最佳方法?

android studio程式猿必須要會的幾個技巧 知曉當前是那個活動?隨時隨地的退出程式?啟動活動的最佳方法?

             程式猿必須要會的幾個技巧!!!進入公司前必讀!!!

我們主要介紹以下三個技巧

1.知曉當前是那個活動

你可能會奇怪,我自己編的程式我怎麼可能不知道當前執行的是哪一個程式呢,很不幸的是,當你進入一家企業的時候,更有可能接收的是別人已經寫好的程式碼,需要你去讀,當你需要在介面需要修改某一個小部分的時候,你卻不知道它是那個活動裡的,我到底該在哪裡更改它的內容啊,所以就引出了這個技巧。

這個技巧一共分為三步

第一步,建立一個BaseActivity類,右擊com.example.activity包(根據你自己的情況而來),建立一個Java class,不需要註冊。

第二步,讓這個類繼承AppCompatActivity,並在onCreate中加入

Log.d("BaseActivity",getclass().getSimpleName());

第三步,讓BaseActivity成為所有活動的父類,原來的時候,所有活動繼承的是AppCompatActivity,由於BaseActivity也是繼承的AppCompatActivity, 所以,活動的功能是沒有影響的

2.隨時隨地的退出程式

如果你有好幾個活動都已經層疊在一起了,你需要按好幾次back才能退出,如果我們想要隨時隨地的退出程式該怎麼辦呢?

第一步 新建一個類ActivityCollector作為活動管理器,定義加入方法,移除方法,銷燬所有的方法,當然這些方法都是靜態的,我們呼叫的時候可以直接類名.方法進行呼叫。

public class ActivityCollector {
    public static ArrayList<Activity> activities=new ArrayList<>();
    public static  void addActivity(Activity activity)
    {
        activities.add(activity);
    }
    public static  void removeActivity(Activity activity)
    {
        activities.remove(activity);
    }
    public static void finishAll()
    {
        for(Activity activity:activities)
        {
            if(!activity.isFinishing())
            {
                activity.finish();
            }
        }
    }
}

第二步 在BaseActivity中

onCreate方法中加入

ActivityCollector.addActivity(this);

onDestroy中加入

ActivityCollector.removeActivity(this);

兩個問題

為什麼要寫在BaseActivity中呢?

這裡的BaseActivity就如上文所述,它是所有活動的父類方法,在父類方法中寫入之後,所有的方法都可以應用這個功能,避免了程式碼的重複性,如果不在這裡寫的話,我們就需要在每個活動裡都寫上這麼兩句話,太過繁瑣。

這兩句話是什麼意思呢?

就是在活動建立的時候,把這個活動加入到集合容器當中,當這個活動回收的時候,我們就把它移除。

第三步 如何才能隨時隨地的退出呢,當然就很簡單了,呼叫一個方法就可以了

ActivityCollector.finishAll();

3.啟動活動的最佳方法

假如在公司中,你需要接手一個程式的時候,你不知道上一個活動給我這個活動傳送的資料是哪些,要是把上一個活動的程式碼全讀一遍太浪費時間,當然也可以問同事,這樣就比較麻煩,所以我們就要定義一種啟動活動的最佳方法。

我們所需要做的就是把傳遞的資料和開啟活動一起封裝在一個方法當中

第一步,定義這個方法

public static void actionStart(Context context,String data1,String data2)
    {
        Intent intent=new Intent(context,Secondactivity.class);
        intent.putExtra("param1",data1);
        intent.putExtra("param2",data2);
        context.startActivity(intent);
    }

第二步,呼叫方法

Secondactivity.actionStart(FIrstActivity.this,"data1","data2");

其實就是把所有的東西都封裝在一個方法中,我們想要去查詢的時候,只看這一個方法就行了,省去了很多麻煩。