activity概念:
作為四大元件之一,一般乙個使用者互動介面對應乙個activity。乙個應 用至少包含乙個activity。activity是context的子類,同時實現了window.callback和keyevent.callback, 可以處理與窗體使用者互動的事件。
activity生命週期:
官方文件圖:
生命週期方法:oncreate(),onstart(),onresume(),onpause(),onstop(),ondestory(),onrestart();
基本生命週期:oncreate->onstart->onresume->onpause->onstop->ondestory
是不是少了乙個onrestart()方法呢?沒錯,我們看上圖onrestart()方法在activity呼叫onstop後,但是沒有執行ondestroy,在再次啟動此activity時就會呼叫onrestart()。
橫豎屏切換生命週期:
1、清單檔案裡的activity不配置 android:configchanges屬性時,切屏會重新呼叫各個生命週期,豎屏切橫屏生命週期只呼叫1次,橫屏切豎屏,生命週期會呼叫2次。
2、清單檔案裡的activity配置android:configchanges=」orientation」時,切橫屏,切豎都重新呼叫各個生命週期,而且只呼叫一次。
3、配置android:configchanges=」orientation|keyboardhidden」時,切屏不會重新呼叫各個生命週期,只會執行onconfigurationchanged方法。
activity啟動方式:
顯式啟動:
內部跳轉,activity在當前應用中
intent intent = new intent();
intent.setclass(xxactivity.class);
context.startactivity(intent);
外部跳轉,呼叫外部程式的activity
intent intent = new intent();
intent.setclassname(包名.xxactivity.class);
context.startactivity(intent);
隱式啟動:
intent intent = new intent();
intent.setaction(xx);//xx代表某個activity在清單檔案中配置的 action資訊
intent.setdata(yy);//yy代表某個activity在清單檔案中配置的 data資訊
context.startactivity(intent);
activity啟動模式(launchmode):
1、standard:每次啟用activity都會建立新的activity例項,並放入任務棧中。
2、singletop:如果任務棧的棧頂中恰好存在activity的例項,就不在建立新的activity例項,會重用該例項;否則,即使任務棧中即使存在activity例項,但不在棧頂,都會建立新的activity例項。
3、singletask:如果任務棧中存在activity的例項,就會重用該例項,而且會把該例項回到棧頂,因此會移出它上面的例項;如果不存在,才會重新建立例項。
4、singleinstance:該模式會在乙個新的任務棧中建立activity例項,並讓多個應用共享該例項。一旦activity例項存在於某個任務棧中,任何應用啟用該activity都會重用該任務棧中的例項。
android基礎知識
1.android paint和color類 要繪圖,首先得調整畫筆,待畫筆調整好之後,再將影象繪製到畫布上,這樣才可以顯示在手機螢幕上。android 中的畫筆是 paint類,paint 中包含了很多方法對其屬性進行設定,主要方法如下 setantialias 設定畫筆的鋸齒效果。setcolo...
Android 基礎知識
我們是 h是對應 2560 1440 xxh是對應 1920 1080 1dp 3px xh是對應 1280 720 1dp 2px h是對應 800 480 m是對應 480 320 bg splash.png error failed to read png signature file doe...
Android基礎知識
android 教程 菜鳥教程 android 知識體系文件新增鏈結描述 android 頁面布局 共六種 線性布局linearlayout 布局tablelayout 相對布局relativelayout 層布局framelayout 絕對布局absolutelayout 網格布局gridlayo...