Package
在 app 中这个 Package 是唯一的,就像你身份证号码一样。在做 app 自动化时,我们就需要知道他的 Package,我们知道了 Package 那么也就知道我们需要对哪个 app 做自动化。 注意和.apk 文件包名不同。--可以通过 uiautomatorview 工具查找得到,也可以通过 aapt 命令得到
Activity
Android 中,activity 是所有程序的根本,所有程序的流程都运行在 activity 之中,activity 可以算是开发者遇到的最频繁,也是 android 当中最基本的模块之一。在 android 的程序中,activity 一般代表手机屏幕的一屏。如果把手机比作一个浏览器,那么 activity 就相当于一个网页。在 activity 当中可以添加一些 Button、Checkbox 等控件,可以看到 activity 概念和网页的概念相当类似。----一个 activity 可以类比一个 html 页面
一般一个 android 应用是由多个 activity 组成的,这多个 activity 之间可以进行相互跳转。例如,按下一个 Button 按钮后,可能会跳转到其他的 activity,与网页跳转稍微有点不一样的是,activity 之间的跳转有可能返回值。
Tips:activity 的生命周期:即 “产生、运行、销毁”,但是这其中会调用许多方法 onCreate(创建)、onStart(激活)、onResume(恢复)、onPause(暂停)、onStop(停止)、onDestroy(销毁)、onRestart(重启)
aapt
aapt 即 Android Asset Packaging Tool,在 SDK 的 build-tools 目录下。该工具可以查看,创建, 更新 ZIP 格式的文档附件 (zip, jar, apk)。也可将资源文件编译成二进制文件。获取命令如下:
aapt dump badging xxxx.apk
aapt dump badging xxxx.apk | grep "launchable-activity" -----这是每个 app 的启动页面入口
可以把 appt 配置到环境变量(系统变量中的 Path),这样运行便捷一些,appt 路径:\Andriod_SDK\build-tools{version}
Activity 页面布局元素
FrameLayout--类似于一个 div
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
通常用于显示图片用的。