編輯:Android開發實例
1. UiObejct.getFromParent()的用法:從這個名字就知道,就是從當前對象的父對象中查找想要的子對象,該子對象和當前對象應該是同一層級。
如上圖所示:Max inactivity before lock是已知條件,4 minutes是我想動態獲取的內容。那應該怎麼做呢?
先看看結構:TableLayout(curent index is 2) - TableRow(has several indexes) - TextView(has 2 indexes)。
1.先獲取TableLayout index為2的那個對象
2.遍歷TableLayout裡面的TableRow,獲取TableRow(i)裡頭的TextView(0)的text
3.當TextView(1)的text內容為“Max inactivity before lock”,則可以確定我們所要的那個TableRow了。(其實就是找對應的index)
4.然後我們就使用當前對象的getFromParent()方法去查找TextView(1)的text,這樣就可以取到我們想要的值了。
代碼如下:
//下面2步是獲取TableLayout下面TableRow的數量
UiObject allPasswordPolicies = new UiObject(new UiSelector().className("android.widget.TableLayout").index(2));
int pwdcount = allPasswordPolicies.getChildCount();
//遍歷每一個TableRow
for(int i = 0; i < pwdcount; i++) {
UiObject passcodePolicyName = allPasswordPolicies.getChild(new UiSelector().className("android.widget.TableRow").index(i).childSelector(new UiSelector().className("android.widget.TextView").index(0)));
//查找TableRow中index為0的TextView的值等於"Max inactivity before lock"的對象
if(passcodePolicyName.getText().contains("Max inactivity before lock")) {
//使用getFromParent()和getText()方法獲取當前對象同級的TextView,index為1的那個對象的text值。passcodePolicyName.getFromParent等同於TableRow(1)對象
String actualValue = passcodePolicyName.getFromParent(new UiSelector().className("android.widget.TextView").index(1)).getText();
if(actualValue.equals(expectedValue)) {
System.out.println(policyName + " check: Pass.");
} else {
System.out.println(policyName + " check: Failed.");
}
}
}
Android應用程序可以在許多不同地區的許多設備上運行。為了使應用程序更具交互性,應用程序應該處理以適合應用程序將要使用的語言環境方面的文字,數字,文件等。在本章中,我
可以顯示在的Android任務,通過加載進度條的進展。進度條有兩種形狀。加載欄和加載微調(spinner)。在本章中,我們將討論微調(spinner)。Spinner 用
可以顯示在的Android任務,通過加載進度條的進展。進度條有兩種形狀。加載欄和加載微調(spinner)。在本章中,我們將討論微調(spinner)。Spinner 用
Android平台有三種網絡接口可以使用,他們分別是:java.net.*(標准Java接口)、Org.apache接口和Android.net.*(Androi