天天看點

安卓開發-學習筆記

一.Android基礎

  1. MainActivity類最終繼承于Activity(在以前是直接繼承于,現在的版本中是先繼承于AppCompatActivity,再通過一系列繼承,最終到Activity)。其中的onCreate方法是重寫的回調方法。回調方法即:不是我們主動調用的方法,而是系統在一定條件下自動調用的,特點是基本都以on開頭。如onCreate()方法,它在目前類(Activity)對象建立的時候自動調用
  2. 顯示頁面的入口函數為setContentView(int layoutResId),函數傳進一個資源ID(包括布局、圖檔等)。原本模闆代碼寫的是:

這裡activity_main為指定布局檔案(activity_main.xml)在R所對應的變量,加載布局檔案,并顯示到視窗中。

注:這裡布局檔案都在res資源目錄下

  1. 關于尺寸:在布局檔案中,除了字型大小,其他的都以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(…):發送短信