Package
Package 包。這是在我們的app中這個Package是唯一的,就像你身份證号碼一樣。
在我們做app自動化時,我們就需要知道他的Package,我們知道了Package那麼也就知道我們需要對哪個app做自動化。
注意和.apk檔案包名不同。
通過UIAuto示範不同app的包名
也可通過adb shell pm list package指令查找包名
Activity
Android中,activity是所有程式的根本,所有程式的流程都運作在activity之中,activity可以算是開發者遇到的最頻繁,也是android當中最基本的子產品之一。
在android的程式中,activity一般代表手機螢幕的一屏。如果把手機比作一個浏覽器,那麼activity就相當于一個網頁。
在activity當中可以添加一些Button、Checkbox等控件,可以看到activity概念和網頁的概念相當類似。
一般一個android應用是由多個activity組成的,這多個activity之間可以進行互相跳轉。例如,按下一個Button按鈕後,可能會跳轉到其他的activity,與網頁跳轉稍微有點不一樣的是,activity之間的跳轉有可能傳回值。
Tips:activity的生命周期:即“産生、運作、銷毀”,但是這其中會調用許多方法onCreate(建立) 、onStart(激活) 、onResume(恢複) 、onPause(暫停) 、onStop(停止) 、onDestroy(銷毀) 、onRestart(重新開機)。
Activity擷取
研發提供
aapt
aapt即Android Asset Packaging Tool,在SDK的build-tools目錄下。
該工具可以檢視,建立, 更新ZIP格式的文檔附件(zip, jar, apk)。
也可将資源檔案編譯成二進制檔案。擷取指令如下:
aapt dump badging xxxx.apk
aapt dump badging xxxx.apk | find "launchable-activity"
可以把appt配置到環境變量(系統變量中的Path),這樣運作便捷一些,appt路徑:\Andriod_SDK\build-tools{version}
Activity頁面布局元素
FrameLayout
FrameLayout是最簡單的布局了。
所有放在布局裡的控件,都按照層次堆疊在螢幕的左上角。
後加進來的控件覆寫前面的控件。
LinearLayout
LinearLayout按照垂直或者水準的順序依次排列子元素,每一個子元素都位于前一個元素之後。
如果是垂直排列,那麼将是一個N行單列的結構,每一行隻會有一個元素,而不論這個元素的寬度為多少;如果是水準排列,那麼将是一個單行N列的結構。
如果搭建兩行兩列的結構,通常的方式是先垂直排列兩個元素,每一個元素裡再包含一個LinearLayout進行水準排列。
RelativeLayout
RelativeLayout相對布局允許子元素指定它們相對于其父元素或兄弟元素的位置,這是實際布局中最常用的布局方式之一。
AbsoluteLayout
AbsoluteLayout是絕對位置布局。在此布局中的子元素的android:layout_x和android:layout_y屬性将生效,用于描述該子元素的坐标位置。螢幕左上角為坐标原點(0,0),第一個0代表橫坐标,向右移動此值增大,第二個0代表縱坐标,向下移動,此值增大。在此布局中的子元素可以互相重疊。在實際開發中,通常不采用此布局格式,
TableLayout
TableLayout 為表格布局,适用于N行N列的布局格式。
一個TableLayout由許多TableRow組成,一個TableRow就代表TableLayout中的一行。
TextView
通常用于顯示文字用的。
ImageView
通常用于顯示圖檔用的。