安卓旁聽課程
1.".setXXX"後出現活動方法--多型的體現
2.Manifest.xml配置檔案
- pakage--路徑
- icon--圖示
- 根據圖示的不同解析度,mipmap自動分配
- label--這個app的名字
系統過濾器--intent--意圖--將需求過濾的越精確越好
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
複製程式碼
- Actions--intent需要做的事情
- 比如撥打某個電話號碼,開啟一個 URL,編輯某些資料。一個 action 是一個簡單字串常量描述應該完成的事情。
- Date--intent需要使用的資源
- 在 Android 中它會用一個 URI(唯一資源識別符號) 或者 Uri 物件來表示。資料型別需要根據 action 而變
這樣,action和data組合在一起,Android就能夠知道這個intent是幹什麼的以及用什麼來幹 的問題了
Extra--一種傳遞給intent的包含額外資訊的鍵值儲存物件,以便讓intent用於完成特定的動作
比方說,如果事先準備一些東西的話,人才能更好地完成某個任務,Android 也是同樣的。一個好的 intent 總是需要準備好必要的附屬物(extra)。
例項化的時候用 intent 的建構函式
3.位元組碼檔案
java源程式檔案 .java java的位元組碼檔案 .class
跳轉介面的三種方式
Itent myintent = new Intent();
- myintent.setClass(MainActivity.this,secondActivity.class);
- myintent.setComponent(MainActivity.this,secondActivity.class);
- 如上圖中所示
4.兩個Activity中資料的傳輸
兩種方式
- Bundle物件--用於儲存資料
- OnclickListenner在多個包中都有,在View檢視包裡面也有這個方法,檢視包!檢視包!
5.Log
6.Intent--鬆繫結(即:呼叫)
- 一種執行時繫結機制,能在程式執行的過程中連線兩個不同的元件
- 通過intent傳達意圖,Android會根據請求的內容選擇適當的元件來響應
【操作名詞】
- componentName--元件名字
- action--我想開啟一個網站
- 制定 我們要做什麼 動作
- 用來表現意圖的行動
- “做”俯臥撐、“寫”一封情書
- category--類別:用來表示動作的類別--更加進一步精確的描述action的特徵
- data--表示動作要操作的資料(一個具體的網址)
- extras--附加資訊
- type--資料型別,對於data事例的描寫
點選一個Button跳轉進入百度首頁例項?
顯示intent (直接)
指定componentName屬性的Intent
呼叫setComponent(ComponentName)或者setClass(Context,class)來指定
隱式intent
沒有指定componentName,用過action來描述
IntentFilter意圖過濾器
7.Uri物件-統一的資源定位符
8.報錯問題
1.因為同時存在了多個 startActivity,需注意開啟介面的重複性
java.lang.NullPointerException:
Attempt to invoke virtual method 'java.lang.String[] android.os.Bundle.getStringArray(java.lang.String)'
on a null object reference.
複製程式碼
11.
每次動態新增完選單項,記得新增相應的id
order--顯示順序
12.一個監聽器 監聽 了 所有的按鈕,View.getid可以得知當前是哪一個具體的button被點選
所以用switch語句
item.getItemid()就獲得了具體物件是哪一個
13.Activity的四種launchMode
決定是否生成新的Activity例項,是否重用已存在的Activity例項,是否和其他Activity例項公用一個task裡
補充知識點--task:task是一個具有棧結構的物件,一個task可以管理多個Activity,啟動一個應用,也就是建立一個與之對應的task
https://blog.csdn.net/liuhe688/article/details/6754323
14.注意Menu的選單項的id不能重複,不然會出現空指標異常
15.在Activity中佈局檔案中物件的獲取--findviewbyid
16.獲取上下文選單
17.OnClickListener()
通過其屬於哪一個包下,確定不同的OnClickListener()
View中的?
View.OnClickListener(){......}
複製程式碼
Dialog中的?
18.Dialog
19.chechBox需要放到RadioGroup中存放--才能獲取選中的資訊
20.關於Fragment和Activity之間onCreateOptionsMenu的問題
借鑑:http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/1120/2025.html
21.回撥--父類自動呼叫
比如:OnCreat()方法
22. 基於?的問題,需要了解一下:LayoutInflater和findViewById() 的區別
- LayoutInflater作用類似於findViewById()
- LayoutInflater是在res/layout/下的xml佈局檔案,對於一個沒有被載入或者想要動態載入的介面,都需要使用LayoutInflater.inflate()來載入;
- findViewById()是對於已經載入的介面,就可以使用Activity.findViewById()方法來獲得其中的具體widget控制元件(如Button、TextView等)。
定義變數後,變數是空的,必須進行賦值,在OnCreate中findViewbyId