當前位置:首頁 » 安卓系統 » androidactivity測試

androidactivity測試

發布時間: 2022-07-28 18:46:50

❶ Android Activity生命周期都該做哪些事情

一、基礎
1.1自己創建的activity必須要繼承類Activity(或其子類)。在activity里,為了實現activity各種狀態的切換,你必須實現指定的回調方法。以下是最為重要的兩個回調方法
onCreate():
這是必須實現的回調方法,啟動一個 activity時會首先調用此方法。因此,在onCreate()的方法體里,你應該初始化該activity必要的控制項。值得注意的是,在這里你必須調用setContentView(View view)方法去呈現用戶的界面。
onPause():
在用戶將要離開activity時調用此方法(指的是此時activity處於半透明狀態且沒有獲取用戶的焦點)。通常在這樣的狀態下,你需要處理用戶數據的提交、動畫處理等操作。
1.2銷毀activity
你可以調用finish()方法去銷毀一個activity。同樣得,你可以調用finishActivity()方法去銷毀一個你剛剛啟動的activity。
tips:
在多數情況下,你是不需要顯式地調用finish…()方法去銷毀一個activity。在將要討論到的activity生命周期里,你可以知道,Android系統會為你管理activity的生命周期,所以你並不需要顯式銷毀activity(即調用finish類方法)。顯式地調用finish類方法,會對用戶的體驗產生不利的影響,除非你確實是不希望用戶返回到此activity(界面),才去顯式調用finish類方法。

二、認識activity的生命周期
2、1
Activity的生命周期對它的任務、backstack和與此有關聯的activity有著直接的影響。因此想開發出一個健壯的有彈性的Android程序,你需要學會如何去管理activity的生命周期(即調用各種回調方法)。
activity的生命周期主要包含一些三種狀態:
(1)運行態(Resumedstate)
此時Activity程序顯示在屏幕前台,並且具有焦點,可以與用戶的操作進行交互,如向用戶提供信息、捕獲用戶單擊按鈕的事件並做處理。
(2)暫停態(PausedState)
此時Activity程序失去了焦點,並被其他處於運行態的otherActivity取代在屏幕顯示,但otherActivity程序並沒有覆蓋整個屏幕或者具有半透明的效果—此狀態即為暫停態。處於暫停態的Activity仍然對用戶可見,並且是完全存活的(此時Activity對象存留在內存里,保留著所有狀態與成員信息並保持與窗口管理器的連接)。如果系統處於內存不足的情況下,會殺死這個Activity。
(3)停止態(StoppedState)
當Activity完全被另一個otherActivity覆蓋時(此時otherActivity顯示在屏幕前台),則處於停止態。處於停滯態的Activity依然是存活的(此時Activity對象依然存留在內存里,保留著所有的狀態和與成員信息,但沒有與窗口管理器保持連接),而且它對用戶是不可見的,如果其他地方需要內存,系統會銷毀這個Activity。

處於暫停態(PausedState)或者停止態(Stopped State)的Activity,系統可以通過調用finish()方法或者直接終止它的進程來銷毀此Activity(從內存中清楚此Activity對象)。被finish()或者銷毀的Activity再重新打開時,是需要再次初始化此Activity的。

2、2
當一個Activity從一種狀態轉到另一種狀態時,會通過調用回調方法來通知這種變化。這些回調方法都是可以重寫的,你可以根據程序的的需要來選擇重寫對應的回調方法。以下列出了Activity生命周期里的基本回調方法:

public class ExampleActivity extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// The activity is being created.
}
@Override
protected void onStart() {
super.onStart();
// The activity is about to become visible.
}
@Override
protected void onResume() {
super.onResume();
// The activity has become visible (it is now "resumed").
}
@Override
protected void onPause() {
super.onPause();
// Another activity is taking focus (this activity is about to be "paused").
}
@Override
protected void onStop() {
super.onStop();
// The activity is no longer visible (it is now "stopped")
}
@Override
protected void onDestroy() {
super.onDestroy();
// The activity is about to be destroyed.
}
}
筆記:在方法體里,必須先調用父類對應的實現方法super.Xxx(),再執行其他的操作(如上面代碼所示)。為了習慣,下面也提供一些代碼來測試一些這些方法的使用,在博客的最後面。

總的來說,這些回調方法定義了Activity整個生命周期。在生命周期里通過重寫這些回調方法,,你可以監控以下下三個嵌套的方法循環。

完整存活的時間:
Activity的完整存活的時間是自第一次調用onCreate()開始,直至調用onDestroy()為止。Activity在onCreate()中設置所有「全局」狀態以完成初始化,而在onDestroy()中釋放所有系統資源。例如,如果Activity有一個線程在後台運行從網路下載數據,它會在onCreate()創建線程,而在 onDestroy()銷毀線程。

可見狀態的時間:
Activity的可見狀態是自onStart()調用開始直到相應的onStop()調用結束。在此期間,用戶可以在屏幕上看到Activity,盡管它也許並不是位於前台或者也不與用戶進行交互。在這兩個方法之間,我們可以保留用來向用戶顯示這個Activity所需的資源。例如,當用戶不再看見我們顯示的內容時,我們可以在onStart()中注冊一個BroadcastReceiver來監控會影響UI的變化,而在onStop()中來注消。onStart() 和 onStop() 方法可以隨著應用程序是否為用戶可見而被多次調用。

顯示在前台的時間:
Activity的前台顯示是自onResume()調用起,至相應的onPause()調用為止。在此期間,Activity位於前台最上面並與用戶進行交互。Activity會經常在暫停和恢復之間進行狀態轉換——例如當設備轉入休眠狀態或者有新的Activity啟動時,將調用onPause() 方法。當Activity獲得結果或者接收到新的Intent時會調用onResume() 方法。

❷ Android studio怎麼創建測試類

1、在android
studio中進行打開一個項目的文件,然後在java的文件下進行創建一個activity的文件,進行選中目錄文件。
2、進行點擊android
studio軟體菜單的「file」的選項。
3、就會彈出了下拉的菜單中,進行選擇菜單中的「new」的選項。
4、點擊完new的選項,就會彈出了下一級的菜單中進行選擇一個為「activity」的選項。
5、在activity中提供了多個activity的模板的文件,可以進行使用這些模板進行創建activity的文件。
6、就會彈出了一個activity的窗口的,在activity
name的名稱中進行輸入昵稱,然後直接進行點擊「finish」的選項。
7、這樣在項目中的activity的創建成功了,這個activity的登錄界面就創建成功了。

❸ android中如何對一個包含調用資料庫的activity進行單元測試啊

定義一個Test測試工程,在新建里有一個Android Test Object,裡面指定你要測試的工程,以後就自己網路一下它怎麼用吧,它可以對Android資料庫的操作進行測試。

❹ android單元測試:要測試的activity不是第一個啟動的,是在首頁中點擊一個按鈕跳轉到第二個畫面才啟動的。

可以在首頁的 onCreate 方法里直接用代碼跳轉到要測試的頁面。當然,是臨時代碼,記得要刪除它。

❺ 如何判斷android的activity是否運行

當前的Activity只會有一個的
首先你要知道Activity的四種狀態:
Active/Runing 一個新 Activity 啟動入棧後,它在屏幕最前端,處於棧的最頂端,此時它處於可見並可和用戶交互的激活狀態。
Paused 當 Activity 被另一個透明或者 Dialog 樣式的 Activity 覆蓋時的狀態。此時它依然與窗口管理器保持連接,系統繼續維護其內部狀態,所以它仍然可見,但它已經失去了焦點故不可與用戶交互。
Stoped 當 Activity 被另外一個 Activity 覆蓋、失去焦點並不可見時處於 Stoped 狀態。
Killed Activity 被系統殺死回收或者沒有被啟動時處於 Killed 狀態。

protected void onStart() 該方法在 onCreate() 方法之後被調用,或者在 Activity 從 Stop 狀態轉換為 Active 狀態時被調用,一般執行了onStart()後就執行onResume()。
protected void onResume() 在 Activity 從 Pause 狀態轉換到 Active 狀態時被調用。

❻ Android怎麼直接發AT命令測試

一、准備測試環境及測試文件
1、安裝Java JDk,設置好環境變數
2、安裝Android SDK,設置好環境變數(詳細步驟略)
3、准備被測apk及測試所需的一些工具
二、啟動模擬器,並解鎖
批處理腳本
emulator -avd Galaxy4.2 ::啟動模擬器
ping -n 90 127.0.0.1>nul ::等待模擬器啟動成功,-n 90 為等待時間,建議設置大一點
adb shell input keyevent 82 ::模擬器打開後都會鎖屏,adb模擬鍵盤輸入,解鎖
ping -n 2 127.0.0.1>nul
三、腳本參數初始化
代碼如下:
set appName=TestAndroid.apk ::被測程序名稱
set pkgName=com.example.testandroid ::被測程序包名
set openName=com.example.testandroid.MainActivity ::被測試程序主activity
set "times=%1" ::測試次數,腳本傳入參數
x blat.exe C:\Windows\System32\ /Y ::將郵件工具復制到系統文件夾下,需關閉360衛士
四、循環執行安裝打開關閉卸載
echo 測試開始>source.txt ::創建一個source文件記錄日誌
for /l %%a in (1,1,%times%) do (
adb install TestAndroid.apk ::安裝apk
adb shell am start -W -n %pkgName%/%openName% ::打開apk
call cmd /c close.bat %pkgName% ::關閉apk
adb uninstall %pkgName% ::卸載apk
adb logcat -d |findstr "^D/k.*}\>" ::過濾logcat,獲取需要的內容
adb logcat -c ::清除logcat日誌
taskkill /f /im adb.exe)>>source.txt ::結束adb進程,防止佔用source文件
::每次操作日誌都記錄在source中
五、處理source.txt提取關鍵信息,並發送郵件
六、設置windows定時任務,參數填寫為測試次數,完成。

❼ 如何判斷android activity是否運行

判斷android activity是否運行(可見)方法如下:
public static boolean isActivityRunning(Context mContext,String activityClassName){
ActivityManager activityManager = (ActivityManager) mContext.getSystemService(Context.ACTIVITY_SERVICE);
List<RunningTaskInfo> info = activityManager.getRunningTasks(1);
if(info != null && info.size() > 0){
ComponentName component = info.get(0).topActivity;
if(<span style="font-family: Arial, Helvetica, sans-serif;">activityClassName</span>.equals(component.getClassName())){
return true;
}
}
return false;
}

❽ 安卓自動化測試怎麼獲取當前正在運行activity

android開發中獲取當前的Activity有多種情況; 在Activity中,this就是當前的Activity,例如this.startActivity。 在Fragment中可以通過 getActivity()來得到當前裝載這個Fragment的Activity。 通過Activity堆棧來獲取當前顯示的這個ActivityAc。詳細的可以看看安卓巴士教程:http://www.apkbus.com/thread-462912-1-1.html

❾ 如何測試android activity的生命周期

1 一個activity從創建到顯示調用順序
2 按返回鍵退出activity
3 從應用管理中「強行停止」
4 按返回退出後長按home鍵調出應用 或 點擊應用重新進入
5 按主頁鍵退出 然後長按home鍵調出應用 或 點擊應用重新進
6 finish()操作
7 menu,submenu,dialog顯示並返回
8 切換到另一個activity
9 8步驟後 按返回鍵
10 9步驟後 切換到同一個activity
11 10步驟後 按主頁鍵返回
12 11步驟後 重新點擊應用進入
13 應用中來電
14 13步驟 後掛斷返回應用
15 當activity2 設置 android:theme="@android:style/Theme.Dialog" 切換到activity2顯示
16 15步驟後 按返回鍵返回

熱點內容
固態硬碟緩存系統 發布:2025-01-21 07:15:05 瀏覽:350
修改linuxroot密碼 發布:2025-01-21 07:10:00 瀏覽:782
命題庫文件夾 發布:2025-01-21 07:09:53 瀏覽:160
壁紙老是變大怎麼辦安卓 發布:2025-01-21 07:09:14 瀏覽:662
卡爾頓麵包腳本策劃 發布:2025-01-21 06:34:45 瀏覽:264
界面像電腦一樣的伺服器 發布:2025-01-21 06:29:52 瀏覽:990
匿名祝福源碼 發布:2025-01-21 06:29:13 瀏覽:349
雲識別系統登陸密碼是多少 發布:2025-01-21 06:23:39 瀏覽:369
stl源碼剖析中文 發布:2025-01-21 06:14:17 瀏覽:345
我的世界手機版為什麼連不上伺服器 發布:2025-01-21 06:14:17 瀏覽:454