1. 程式人生 > 實用技巧 >第二天了

第二天了

英語

  • result n.結果,成績

  • canceled v.取消

  • normal n.正常、標準

  • dialog n.對話;會話

  • theme n.主題

  • start vt.開始、啟動

程式碼

intent

向下一個活動傳遞資料

  • 在ManinActivity中

  • String data = "hello chuandiActivity";
    Intent intent = new Intent(MainActivyty.this,chuandiActivity.class);
    intent putExtra("extra_data",data);
    startActivity(intent);
  • 在對應的類中

  • Intent intent = getIntent();
    String data = intent.getStringExtra("extra_data");
    Log.d("chuandiActivity",data);
  • Extra

    • putExtra()方法接收兩個引數,第一個引數是鍵,第二個是要傳遞的資料

    • 假如傳遞的型別是String則用getStringExtra()傳入對應鍵值,即可獲得對應資料。

  • getIntent

    • 用於獲取啟動對應類的Intent

向上一個活動傳遞資料

  • 在MainActivity中

    • Intent intent = new Intent(MainActivity.this,schuangActivity.class);
      startActivityForResult(intent,1);
  • 在對應的類中

  • Intent intent = new Intent();
    intent.putExtra("data_return","Hello MainActivity");
    setResult(RESULT_OK,intent);
    finsh();
  • sartActivityForResult(Intent intent, int requestCode)

    • 第一個引數:一個Intent物件,用於攜帶資料跳轉至下一個介面使用putExtra(A,B)方法。

    • 第二個引數:如果>0,當活動結束時requestCode將歸還在onActivityResult()中。以便確定返回的資料是哪個Activity中返回的,用來表示目標活動。

  • setResult()方法

    • 第一個引數用於向上一個活動返回處理結果 一般只用 RESULT_OK或RESULT_CANCELED

    • 第二個引數則把帶有引數的intent傳回去

  • 由於之前用的是startActivityForResult()方法來啟動對應的活動,所以在該對應活動銷燬時會回撥上一個活動的onActivityResult()方法所以我們要在MainActivity中重寫該方法來得到返回的資料

  •   @Override
    protected void onActivityResult(int requestCode,int resultCode,Intent data){
    switch(requestCode){
    case 1 :
    if(resultCode == RESULT_OK){
    String returnedData;
    returnedData = data.getStringExtra("data_return");
    Log.d("MainAvtivity",returnedData);
    }
    break;
    defult;
    }
    }
  • onActivityResult()方法帶有三個引數

    • 第一個引數requestCode是我們啟動活動時傳入的請求碼

      第二個引數resultCode是發回資料時傳入的處理結果

      第三個引數則是攜帶資料的Intent

活動的生存期

  1. onCreate() 這個方法會在活動第一次被建立的時候呼叫

  2. onStart() 這個方法在獲得由不可見變為可見的時候呼叫

  3. onResume()這個方法在活動準備好和使用者進行互動的時候呼叫,此時活動處於棧頂並處於執行

  4. onPause()這個方法在系統準備去啟動或者恢復另一個活動是呼叫,通常會在其中將一些消耗CPU的資源釋放掉,以及儲存一些關鍵資料,這個方法執行速度要快不然會影響新棧頂活動的使用

  5. onStop()這個方法在活動完全不可見的時候呼叫

  6. onDestroy()這個方法在活動被銷燬前呼叫,之後活動變為銷燬狀態

  7. onRestart()這個方法 活動由停止狀態變為執行狀態之前呼叫。

  也不知道是咋,一天就學了兩個小時多,才學了這麼一丟丟唉唉,不知道是現在時代的節奏太快了還是咋,自己就很急,迫切的想要掌握這項技能,但是找不到地方入手,也不知道過程應該按怎樣的順序去前進,現在連Android學到終點應該是啥樣子也不知道。沒有方向沒有目標,也不是沒有去找就是找不到,網上的文章各種各樣的,百度一搜Android學習的大綱,一大堆培訓機構的廣告跳出來,之前Java基礎的時候急於求成,因為學校的課已經結束了,老師有些沒講,自己也只是看看書自學了一丟丟,就隨隨便便算結束,開始Android的學習。今年十九,就感覺自己時間不多,不知道是不是網路的緣故,總覺得二十出頭就應該很有錢,我是個大專的,專升本肯定是要去考的,不知道是不是因為自己所在環境的問題,周圍的朋友總是很有錢,不用去學習,天天打完遊戲就是蹦迪,有買不完的面板,喝不完的酒。很想讓自己靜下心來一步步的學習,但是自己老是太浮躁。只能在很浮躁的時候,用遊戲來消磨時光。也不知道咋說,至少每次學一點點知識,按書裡面的程式碼敲著,然後自己理解透了終歸有一點點的小成就感。