一.Android基礎
- MainActivity類最終繼承于Activity(在以前是直接繼承于,現在的版本中是先繼承于AppCompatActivity,再通過一系列繼承,最終到Activity)。其中的onCreate方法是重寫的回調方法。回調方法即:不是我們主動調用的方法,而是系統在一定條件下自動調用的,特點是基本都以on開頭。如onCreate()方法,它在目前類(Activity)對象建立的時候自動調用
- 顯示頁面的入口函數為setContentView(int layoutResId),函數傳進一個資源ID(包括布局、圖檔等)。原本模闆代碼寫的是:
這裡activity_main為指定布局檔案(activity_main.xml)在R所對應的變量,加載布局檔案,并顯示到視窗中。
注:這裡布局檔案都在res資源目錄下
- 關于尺寸:在布局檔案中,除了字型大小,其他的都以dp作為機關,字型大小的機關用sp
二.四大元件及相關
四大元件包括:activity、service、contentprovider、broadcast receiver
1. Activity
定義:用來提供一個能讓使用者與之互動的界面
請求源:手機螢幕
生命周期包括:
onCreate()
onStart()
onResume()
onPause()
onStop()
onRestart()
onDestroy()
1.1 Intent和IntentFilter的了解
- Intent(意圖對象)是Activity、Service和BroadcastReceiver這三個元件之間進行通信的信使
- Intent還可以攜帶資料
1.1.1 Intent的分類
舉例:比如分享圖檔或者文章時,系統會列出分享目标(包括QQ、微信好友、微信朋友圈等),不确定的跳轉即為隐式意圖。
1.1.2 IntentFilter-----意圖過濾器
- 在配置Activity時,可以為Activity指定一個IntentFilter配置
- 如果你的Activity希望其他應用可以通路到,需要配置<intent-filter>
- 如果想啟動其他應用的界面(Activity),那麼必須使用隐式意圖,并且需要在目标界面配置<intent-filter>
舉例:我們手機桌面系統也是一個Activity,并且對目标程式(桌面上的程式圖示–一個個Activity)配置了隐式意圖,這樣就實作了由桌面Activity(launcher)跳轉打開其他的應用Activity。配置代碼如下:
<activity
android:name=".MainActivity"
android:label="@string/app_name">
<!--讓目前Activity稱為首頁面Activity-->
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
1.1.3 相關API
-
Intent:意圖
Intent(Context packageContext,Class<?> cls):用于建立顯式意圖對象(其中Class為顯式指定的Activity的Class)
Intent(String action):用于建立隐式意圖對象
putExtra(String name,Xxx value):儲存額外資料
Xxx getXxxExtra(String name):擷取額外資料
setData(Uri data):設定有特定格式的uri資料
-
Activity:活動
startActivity(Intent intent):一般啟動Activity
startActivityForResult(int reqCode,Intent intent):帶回調啟動Activity
onActivityResult(int reqCode,int resultCode,Intent data):回調方法
setResult(int resultCode,Intent data):設定要傳回的結果
finish():結束目前Activity
getIntent():得到啟動Activity的意圖
-
Activity生命周期方法
onCreate()
onStart()
onResume()
onPause()
onStop()
onRestart()
onDestroy()
-
View:代表視圖的根基類
setOnClickListener(OnClickListener listener):設定點選監聽
setOnLongClickListener(OnLongListener listener):設定長按監聽
-
SmsManager:發送短信的工具類
static SmsManager getDefault():得到目前對象
sendTextMessage(…):發送短信