亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Android-重識Activity

難度入門
時長 1小時13分
學習人數
綜合評分9.70
93人評價 查看評價
9.8 內容實用
9.7 簡潔易懂
9.6 邏輯清晰
  • 在activity銷毀的時候保存一些狀態信息onSaveInstanceState()方法
    查看全部
  • 進行橫豎屏切換時會將此activity先銷毀掉,即經歷onPause->onStop->onDestroy方法,然后重新執行此activity的onCreate->onStart->onResume方法。
    查看全部
  • 啟動系統中的activity (1)瀏覽器 Intent imoocIntent = new Intent(); imoocIntent.setAction(Intent.ACTION_VIEW); //intent-filter中的action為Intent.ACTION_VIEW的activity都會收到啟動命令 Uri url = Uri.parse("http://www.xianlaiwan.cn"); imoocIntent.setData(url); startActivity(imoocIntent); (2)相冊 Intent glaryIntent = new Intent(); glaryIntent.setAction(Intent.ACTION_GET_CONTENT); glaryIntent.setType("image/*"); startActivity(glaryIntent); (3)發送短信 Intent messageIntent = new Intent(); messageIntent.setAction(Intent.ACTION_SEND); messageIntent.setType("text/plain"); messageIntent.putExtra(Intent.EXTRA_TEXT, "I am xzhang76"); //"I am xzhang76"為發送內容 startActivity(messageIntent); (4)打電話 Intent callIntent = new Intent(); callIntent.setAction(Intent.ACTION_VIEW); Uri number = Uri.parse("tel:15850590250"); callIntent.setData(number); startActivity(callIntent);
    查看全部
  • Activity啟動的兩種方式 1. 匿名啟動 (1)首先Manifest中要對被啟動的activity加一個intent-filter,指定其action <activity android:name="com.example.activitydemo.ThirdActivity" android:theme="@android:style/Theme.DeviceDefault.Dialog"> <intent-filter > <action android:name="xzhang76"/> <category android:name="android.intent.category.DEFAULT"/> </intent-filter> </activity> (2)匿名啟動上面的activity,注意setAction()指定的action Intent thirdIntent = new Intent(); thirdIntent.setAction("xzhang76"); startActivity(thirdIntent);
    查看全部
  • 聲明周期應用場景 1. 創建一個MediaPlayer實例,并播放音樂。 private MediaPlayer mMediaPlayer; mMediaPlayer = MediaPlayer.create(MainActivity.this, R.raw.zhang); 2. 音樂暫停 if(mMediaPlayer.isPlaying()){ mMediaPlayer.pause(); position = mMediaPlayer.getCurrentPosition(); } 放在onPause()中執行。 3. 繼續播放 if(position!=0){ mMediaPlayer.seekTo(position); mMediaPlayer.start(); } 放在onResume()中執行。 4. 銷毀MediaPlayer if(mMediaPlayer!=null){ mMediaPlayer.release(); mMediaPlayer = null; } 放在onDestory()中執行 在onDestory()方法中,做一些activity收尾工作,比如handler和broadcast回收。
    查看全部
  • 重識activity 1. 進行橫豎屏切換時會將此activity先銷毀掉,即經歷onPause->onStop->onDestroy方法,然后重新執行此activity的onCreate->onStart->onResume方法。 2. 在橫豎屏切換添加狀態的保存和恢復 (1)重寫onSaveInstanceState()方法 protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); outState.putString("name", "xzhang76"); } 這個方法會在onPause()之后調用,用來保存狀態到Bundle對象中。 (2)在橫豎屏切換之后,會再次調用onCreate()方法 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mTv = (TextView) findViewById(R.id.textView); if(savedInstanceState != null){ mTv.setText(savedInstanceState.getString("name")); } } 通過Bundle對象savedInstanceState就可以將保存的狀態取出來。 (3)現在的執行順序就變成 切屏=> onPause->onSaveInstanceState->onStop->onDestroy,onCreate->onStart->onResume
    查看全部
  • 1. 單個activity的生命周期 (1)顯示狀態: onCreate()、onStart()、onResume() (2)不可見狀態 onPause()——部分可見、onStop()——全部不可見 (3)銷毀狀態 onDestory() (4)需要注意當頁面部分可見時,調用onPause(),再回去的話調用onResume() 當頁面全部不可見時,調用onPause(),再調用onStop() 2. 多個activity的生命周期交互——A->B->A (1)A->B A: onCreate()->onStart()->onResume() 切換之后 A:onPause() B: onCreate()->onStart()->onResume() A: onStop()全部不可見 注意A并沒有onDestroy() (2)B->A B: onPause() A: onRestart()->onStart()->onResume() //注意如果從onStop()回來就會調用onRestart() B: onStop()->onDestory() 3. 為什么在切換Activity時要先調用onPause() onPause()會將當前activity先暫停住,假設當前activity是一個videoPlayer在播放,如果不調用onPause()就調用下一個activity的onCreate()->onStart()->onResume(),就會導致videoPlayer還在后臺播放(有聲音)。 4. 為什么在切換activity時先調用下一個activity的onCreate()->onStart()->onResume(),然后才調用onStop() 這是一種保護機制。 因為調用onStop()會將當前activity置于完全不可見狀態,如果先執行當前activity的onStop()再執行下一個activity的onCreate(),萬一下一個activity閃退了,那么將會顯示為黑屏。 android設計如下: 下一個activity調用onCreate()->onStart()->onResume()之后,表示它已經正常了,就會通知上一個activity去調用onStop().
    查看全部
  • 重現
    查看全部
  • 2:生命周期 { 1:一個Activity生命周期 onCreate----->onStart---->onResumed---->onPause---->onStop---->onRestart---->onDestroy 2:多個Activity生命周期的交互 第一個頁面 onCreate----->onStart---->onResumed---->onPause 第二個頁面 onCreate----->onStart---->onPause 第一個頁面 ---->onStop 從第二個頁面返回第一個頁面(隱藏狀態會onRestart) 第二個頁面 ---->onPause 第一個頁面 ---->onRestart---->onStart---->onResumed 第二個頁面 ---->onStop }
    查看全部
  • onDestroy onDestroy onDestroy 重要的事情說三遍 不是onDestory
    查看全部
  • 在一個Aactivity基礎上打開Bactivity,會先A_pause,再創建B_create_start_resume,再調用A_stop,back時,會先B_pause,再A_restart_start_resume,再B_stop_destory
    查看全部
  • 打開瀏覽器
    查看全部
  • Intent intent = new Intent(); intent.setAction(Intent.ACTION_VIEW); Uri url = Uri.parse("網址"); intent.setData(url); startActivity(intent);
    查看全部
  • Intent intent = new Intent(); intent.setAction(Intent.ACTION_VIEW); Uri url = Uri.parse("tel:電話號碼"); intent.setData(url); startActivity(intent); 打電話
    查看全部
  • 發送短信: intent.setAction(Intent.ACTION_SEND) intent.setType("text/plain) intent.putExtra(Intent.EXTRA_TEXT,"XXX")
    查看全部

舉報

0/150
提交
取消
課程須知
需要完成<<Android攻城師>>課程
老師告訴你能學到什么?
將學到: 1:Activity的生命周期與交互 2:切換屏幕 3:應用場景 4:啟動方式

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!