旁聽移動終端程式設計課程收穫

Ajiajiajia發表於2018-03-28

安卓旁聽課程

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

24.在Activity中方也可以對ImagineView進行圖片設定

旁聽移動終端程式設計課程收穫

25.通過seekBar改變圖片的透明度

旁聽移動終端程式設計課程收穫

相關文章