1. 程式人生 > >Android 學習筆記--Activity

Android 學習筆記--Activity

    在噹噹上買的 郭霖大哥的《第一行程式碼 Android》已經到手了,今天有時間,就翻了翻,今天記錄的內容也是來自該書。

    14年來深圳,10月份在深圳開始了Android實習,時間過的很快,不知不覺在現在的公司已經2年了,學到了很多,也越來越知道還有很多的不足,需要系統的學習下java和Android。

    當你對某一方面的知識缺乏時,常常會感到心有餘而力不足,那種感覺是很痛苦的,所以是時候給自己補充補充,積累下知識的時候了。

    16年就剩下2個月了,希望自己能多堅持,多學習,多記錄~

------------------------

    Android Activity的重新理解

1、隱藏標題欄

     在onCreate( )中新增,  

     requestWIndowFeature(WIndow.FEATURE_NO_TITLE);

 

 

 

    該行程式碼一定要在setContentView( )之前執行,不然會報錯。

 

2、menu的使用

    現在的專案還沒使用過menu,暫時先記錄下, 

     i:在res/menu資料夾下,建立menu的xml檔案;

   

    <menu ...> 
          <item
               android:id="@+id/add_item"
               android:title ="ADD"
             />
    </menu></span>

 

     ii:重寫 onCreateOptionsMenu( )方法;

 

       

 public boolean onCreateOptionsMenu(Menu menu) {
         getMenuInflater().inflate(R.menu.main,menu);
         return true;
  }

 

 

 

     iii: 重寫 onOptionsItemSelected() 方法;

 

3、Intent的使用

     i:  Intent的顯示使用 

         Intent(Context packageContext,Class<?> cls) 這是應該是用的最多的一個,

        第一個引數Context要求提供一個啟動活動的上下文,第二個引數Class則是指定要啟動的目標活動。

     ii: Intent的隱示使用

      之前就接觸過直接通過 intent來拉起應用,只是沒有過多的瞭解。

     原來在AndroidMainfest.xml中的 相應activity中的 intent-filter中新增特定的 action和category,其它應用就能根據該特定action 和category來啟動該應用。

   

4、返回資料給上一個activity

     i.  startActivityForResult(intent,1);

    ii.  setResult(RESUTLT_OK,intent);

    iii. 重寫onActivityResult();

 

5、activity的生命週期

   i.只有一點需要注意, onPause()方法的主要區別在於,如果啟動的新activity是一個對話方塊的activity,那麼onPause()方法會得到執行,而onStop()方法並不會執行。

 

6、activity被回收了,重啟時恢復之前的資料

   i.重寫 onSaveInstanceState()方法,將資料儲存到 bundle;

   ii. 在onCreate()中獲取bundle;

 

7、activity的啟動模式

   i.standard

  ii.singleTop

  iii.singleTask

 iii. singleInstance

 

8、最佳實踐總結

   i、知道當前是哪個活動