Activity的總結

  1. 隱式意圖和顯式意圖
    顯式:【啓動自己程序內部的界面】

        startActivity(new Intent(this , xxx.class));
    

    隱式: 【一般是用來啓動其他應用程序的界面】






        startActivity(intent);
        intent.setAction("包名.ACTIONNAME");
        //如果分類中有默認的,那麼此處可以不用寫category
        intent.setData(Uri.parse(""));
        startActivity(intent);
    
  2. 數據傳遞
    簡單數據:
    Intent intent = new Intent(this , xxx.class);
    intent.putExtra(“name” , “zhangsan”);
    startActivity(intent);

        --------------------------------------------
    
        Intent intent = getIntent(); 
        intent.getStringExtra("name");
    

對象數據:
1 . Serializable
2 . Parcelable

啓動界面等待結果:
1. startActivityForResult(requestCode , intent);
2. 下一個界面設置返回的數據
setResult(resultCod , data);
3. 關閉下一個界面
finish();
4. 重寫onActivityResult()接收數據

requestCode:
請求碼, 用來區分當前的界面有多個請求出去,當
數據返回的時候可以用請求碼去判別到底是誰返回了數據
resultCod:
結果碼, 下一個界面可能返回不同類型的數據,
那麼可以根據結果碼去判定。

  1. 生命週期
    onCreate【創建】—onStart【可見】–onResume【獲取焦點】 - onPause【失去焦點】 — onStop 【不可見】–onDestroy【銷燬】

  2. 啓動模式

standard
singleTop
只要當前啓動的界面有實例位於棧頂,那麼將不會再次創建實例。
singleTask
如果啓動的界面在棧中存在實例,那麼將直接複用該實例,並且:
把該實例與棧頂之間的其他實例全部移除掉。
singleInstance
界面的實例將存放在一個獨立的棧中,並且這個棧有且只能有它自己一個人。
以後要想顯示該界面,那麼僅僅是需要切換顯示不同的任務棧即可。

思維導圖地址:

http://naotu.baidu.com/file/08dea9e3d2e558030c38c155a9fcec1c?token=ea791326e9b8fd9d

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