2011-08-03 22 views
6

如何在AVD上模擬滑動手勢(例如,左右)? 有沒有可能? (在Android Developer's Guide - Emulator 我無法找到他們...Android,如何模仿AVD中的滑動手勢?

PS:我有「觸摸屏支持」設置爲我的Android 2.2,API級別8設備設置「是」

+0

用鼠標點擊並按住不起作用? –

+0

雅的那爲我工作 - 點擊並按住 - 拖動左/右 - 放手。 – Jack

+1

它真的不適合我...我使用ViewFlipper水平佈局(在真實設備上,左/右滑動功能...) – MarcoS

回答

4

只需點擊並保持並移動鼠標以創建所需的動作

+2

它不適用於我...... :-(你真的檢查過它是否適合你嗎? – MarcoS

+0

是的,我沒有在模擬器上的任何用戶輸入有任何問題。 –

+1

對不起,我遇到了問題我的軟件,拖動鼠標偉大的工作...: - ((( – MarcoS

2

您可以記錄輸入事件並在模擬器上重播它們,方法是使用adb shell getevent和adb shel sendevent,有點難以理解,並且需要將十六進制值的getevent輸出到十進制,但非常有用。

+0

你的意思是,在十六進制getevent記錄,sendevent只接受十進制??? – MarcoS

4

我知道這是回答,但我回答旨在爲將來的搜索者提供一種非常簡單的方式來模擬觸摸事件。

一個簡單的方法是盲目複製!

而不是讀取getevent輸出並計算出來,然後給sendevent這是真的很慢。只需從具有相同Android版本的真實設備盲目複製手勢,然後盲目地粘貼它們即可。

您可以通過在實際設備複製的觸摸輸入:

1-在亞行的shell中運行dd if=/dev/input/event2 of=/sdcard/left

2-做你想要模擬的手勢(滑動)。

3-這面牆創建一個文件(/sdcad/left)命名文件與你的真實觸摸產生的數據。

4-將文件移動到您的AVD中的任何位置,可以說(/sdcad/left)

5- AVD亞行外殼,運行dd if=/sdcard/left of=/dev/input/event2

中提琴!模擬的觸摸事件將發生。

注意:在我的設備中,有觸摸事件的文件是/dev/input/event2,它可能因設備而異,因此您可以先使用試錯法。

總之,如果你記錄並在同一臺設備上播放:

1- dd if=/dev/input/event2 of=/sdcard/left

2-執行觸摸真正

3- dd if=/sdcard/left of=/dev/input/event2

4-重複步驟3,儘可能多的你需要。

乾杯:)

+1

我不知道這會幫助我??? ....但這給了我一些想法......謝謝你omer ... + 1給你...... – kalandar

0

TL;博士:我想你可能會覺得,當問題是,它只是很慢帶給用戶輸入處理,在線這是行不通的。如果你把它弄亂了10分鐘,但它仍然不起作用,那麼就會出現問題 - 但先給它10分鐘。

這裏是我的經驗,所以你可以看到我是如何來到這個結論:

我從來沒有明確地增加了設備的AVD管理器 - Studio中添加對我來說。

當我運行我的(Hello World)應用程序時,需要很長時間才能出現 - 首先沒有任何事情發生,所以我點擊Studio窗口底部的「Android」,發現它正在記錄什麼它在做。

還有很多延誤。大約一分鐘後,模擬器彈出,它有一條關於丟失備份或類似的信息。又過了一分鐘,我看到它說「充電」,所以我點擊並拖動,但沒有發生任何事情。我試了幾次,最後它通過改變「充電」到「刷卡解鎖」(我認爲 - 就是這樣)來做出迴應。所以我嘗試了多次點擊拖動,但似乎沒有註冊拖動。最後,我注意到當我對它進行拍照時,相機(軟件)按鈕點亮,所以我點擊它,然後進入相機(不確定是否通過拖動或單擊白圈中的小點<),然後從那裏我可以做的東西。