⑴ android如何實現虛擬來電
安卓手機可以下載專門的虛擬來電軟體,藉此實現虛擬來電功能。
⑵ android測試工具ddms和apt的區別
APT是一個eclipse插件,可以實時監控Android手機上多個應用的CPU、內存數據曲線,並保存數據;另外還支持自動獲取內存快照、PMAP文件分析等,方便開發人員自測或者測試人員完成性能測試,快速發現產品問題。
功能:
支持多進程的CPU測試,並提供top和mpsys cpuinfo兩種方式.
支持多進程的內存測試,並支持9種內存類型,測試過程中可動態調整要顯示的內存類型曲線.
支持自動獲取內存快照.
支持PMAP內存分析對比.
DDMS是Android調試工具,它提供截屏,查看線程和堆的信息,logcat,進程,廣播狀態信息,模擬來電呼叫和簡訊,虛擬地理坐標等等。
每一個Android應用都運行在一個Dalvik虛擬機實例里,而每一個虛擬機實例都是一個獨立的進程空間。虛擬機的 線程機制,內存分配和管理,Mutex等等都是依賴底層操作系統而實現的。所有Android應用的線程都對應一個Linux線程,虛擬機因而可以更多的 依賴操作系統的線程調度和管理機制。 DDMS在IDE與設備或模擬器之間的起著中間人的角色。
DDMS啟動時會與ADB之間建立一個device monitoring service用於監控設備。當設備斷開或鏈接時,這個service就會通知DDMS。
當一個設備鏈接上時,DDSM和ADB之間又會建立VM monitoring service用於監控設備上的虛擬機。
通過ADB Deamon與設備上的虛擬機的debugger建立鏈接,這樣DDMS就開始與虛擬機對話了。
⑶ 用Android的模擬器可以測試類似來電顯示這樣的程序嗎
模擬器上可以,真機也行的!它不像JAVA那樣由於廠家添加了很多包,導致的不兼容。寫完也告訴我一下。 查看原帖>>
⑷ android怎樣實現模擬來電功能
我手機諾基亞的……不懂!不過應該是通過軟體來實現的
⑸ 如何使用android DDMS
運行DDMS
DDMS集成在Eclipse中,同時也附帶在SDK下的tools目錄下。DDMS既可以在模擬器中工作也可以在已連接的設備上工作。如果同時連接了設備和運行了模擬器,DDMS默認在模擬器中運行。
從Eclipse打開:點擊* Window > Open Perspective > Other... > DDMS* 。
從命令行打開:在tools目錄下輸入ddms(或./ddms在Mac/Linux)
DDMS怎樣與調試器交互
在安卓平台上,每個應用都運行在自己的進程上,同時每個應用也都運行在自己的虛擬機(VM)上。每個VM公布了唯一的埠號以供調試器連接。
當DDMS啟動後,會連接到adb。當有設備連接上,VM監測服務就在adb和DDMS之間創建,它會通知DDMS
設備上的VM是啟動了還是終止了。一旦VM是運行的,DDMS就獲取VM的進程ID(pid),通過adb和設備上的adb守護進程(adbd)建立到
VM調試器的連接。到此,DDMS就可以使用約定的線協議與VM通信。
DDMS給設備上的每個VM分配一個調試埠。通常,DDMS
分配的第一個可調試埠號是8600,下一個是8601,依次往下類推。當調試器連接到已分配的一個埠時,VM上的所有通信都會被關聯到調試器。一個調
試器只能連接一個單獨的埠,但是DDMS同時可以處理多個連接的調試器。
默認的,DDMS也會監聽DDMS的「基本埠」(默認為
8700)。基本埠是一個埠轉發埠,可以通過8700埠接受來自VM所有調試埠的通信並可以發送信息到調試器。這就允許你將調試器連接到
8700埠,然後可以調試所有設備上的虛擬機。在DDMS設備視圖下,轉發的通信可以被當前所選進程終止。
接下來的屏幕截圖會在
Eclipse中顯示標準的DDMS屏幕視圖。如果你是從命令行啟動的DDMS,截圖會略有不同,但絕大部分功能是相同的。注意這個特殊進
程,com.android.email它在模擬器上運行時的調試埠是8700,而分配給它的埠是8606。這就表明DDMS當前將8606埠轉發
到靜態調試埠8700。
http://docs.eoeandroid.com/images/debug-ddms.png圖1.DDMS截圖
如果你不用Eclipse和ADT,請閱讀 Configuring your IDE to attach to the debugging port來獲取更多連接到調試器的信息。
提示:你可以在File > Preferences中設置一系列的個人使用配置。配置保存在$HOME/.android/ddms
了解Dalvik的調試問題*
在Dalvik虛擬機中調試的應用和在其他虛擬機中的應用一樣運行。然而,當單步跳出同步代碼時,「當前位置」指針可能一下跳到方法中的最後位置
使用DDMS
下一部分講述怎麼使用DDMS和DDMS圖形用戶界面中的各個選項和面板。Eclipse版本和命令行版本界面有較小的不同,但是功能上是相同的。要獲得運行中的DDMS的信息,參見前一部分的文檔,Running DDMS.
查看進程的堆使用情況
DDMS允許查看進程堆內存的使用情況。在程序的特定執行時間跟蹤堆使用情況是非常有用的信息。
查看堆使用的步驟:
1.在設備選項,選擇要查看堆使用信息的進程。2.點擊 Update Heap 按鈕獲取進程的堆信息。3.在堆選項中,點擊Cause
GC來激活垃圾收集,它會讓堆數據收集變得可用。當操作完成,會看到一組對象類型和每種類型已分配的內存。再次點擊Cause
GC就可以刷新數據。4.點擊一個對象類型列表中看到一個條形圖顯示對象的數量分配給一個特定的內存位元組大小。
跟蹤對象的內存分配
DDMS提供一個很有用的功能,它跟蹤正在分配內存的對象和查看那些類和線程正分配對象。這樣,在應用中執行特定操作時你就可以實時跟蹤哪些對象正在被分配資源。分析影響到應用性能的內存使用是很有價值的信息。
跟蹤內存的對象分配:
1.在設備選項,選擇需要跟蹤內存分配的進程。2.在分配內存選項,點擊Start
Tracking按鈕開始分配跟蹤。這時,任何在應用中的操作都會被跟蹤。3.點擊Get Allocations來查看從點擊Start
Tracking按鈕以來已經分配了的對象列表。再點擊Get
Allocations就會將已分配的新對象添加到列表中。4.如果要停止跟蹤或清除數據後重新開始,點擊Stop
Tracking按鈕。5.點擊列表中的特定行就可以看到更詳細的信息,比如已分配的對象的方法和代碼行號。
使用模擬器或設備的文件系統
DDMS提供了文件系統選項,它允許查看、復制和刪除設備上的文件。這個功能對於檢查應用創建的文件或向設備中導入文件和從設備導出文件來說,非常有用。
使用模擬器或設備文件系統:
1.在設備選項,選擇要查看文件系統的模擬器。2.要從設備中復制文件,先在文件瀏覽中定位文件,然後點擊Pull file按鈕。3.要把文件復制到設備中,點擊文件瀏覽選項中的Push file按鈕
查看線程信息
DDMS中的線程選項顯示了所選進程中正在運行的線程信息。
1.在設備選項,選擇要查看的線程所在的進程。2.點擊Update Threads按鈕。3.在線程選項就可以看到所選進程的線程信息了
開始方法分析
方法分析是一種對方法的某些數據進行跟蹤的手段,例如:調用次數、執行時間和執行方法所用時間。如果想更精確的控制在那些地方收集分析數據,使用
startMethodTracing()和stopMethodTracing()方法。要獲得更多關於產生跟蹤日誌的信息,請查看Profiling
and Debugging UIs.
在DDMS中開始方法分析之前,注意以下限制情況:
安卓1.5版本的設備不支持
安卓2.1和更早的版本必須已插入SD卡,並且應用有寫SD卡的許可權
安卓2.2和以後的設備不需要已插入SD卡。跟蹤日誌文件直接輸出到開發設備上。
開始方法分析:
1.在設備選項,選擇要進行方法分析的進程2.點擊Start Method Profiling按鈕。3.與應用進行交互,開始要分析的方法4.點擊
Stop Method Profiling按鈕。DDMS停止分析應用並打開Traceview,它包含了在點擊Start Method
Profiling和Stop Method Profiling之間方法分析收集到的信息.
使用網路通信工具
在安卓4.0中,DDMS(Dalvik調試監控服務)包含了詳細的網路使用選項,可以跟蹤應用的網路請求。使用這個工具,可以監測應用何時以及如何傳輸數據,並且能根據這個適當的優化底層代碼。在使用前,也可以通過添加標簽到網路套介面來區分不同的通信類型。
在DDMS中,這些標簽代表的堆棧信息以圖表形式顯示,如圖2:
http://docs.eoeandroid.com/images/developing/ddms-network.png
圖2.網路使用表
監測每次連接數據傳輸的頻率和傳輸的數據量,可以確定應用的那些地方可以優化以至於可以更省電。通常,應該找可以延遲的短的峰值或者會導致傳輸延遲,提前清空它們。
為了更好的確認導致傳輸峰值的原因,TrafficStats API 允許使用 setThreadStatsTag()方法在線程中標識數據傳輸,接著用tagSocket()和untagSocket()可以手動標識(或去標識)不同的套介面。例如:
TrafficStats.setThreadStatsTag(0xF00D);TrafficStats.tagSocket(outputSocket);//
Transfer data using socketTrafficStats.untagSocket(outputSocket);
或者,平台中的Apache HttpClient 和URLConnection 的API在活動的標識(被getThreadStatsTag()確定過的標識)上會自動標識內部套介面。當通過活動池回收時,這些API會正確的標識/去標識套介面。
TrafficStats.setThreadStatsTag(0xF00D); try { // Make network request
using HttpClient.execute() } finally {
TrafficStats.clearThreadStatsTag();}
在安卓4.0上支持套介面標識,但顯示套介面標識的實時狀態只在安卓4.0.3或更高版本的設備上才支持。
使用日誌
LogCat集成在DDMS中,可以輸出使用 Log 類列印的消息和其它系統的消息,例如異常拋出時的堆棧跟蹤消息。參閱Reading and Writing Log Messages 獲得更多關於將消息記錄到LogCat的信息。
當設置完日誌後,使用下列按鈕就可以用LogCat來過濾特定消息:
Verbose
Debug
Info
Warn
Error
也可以通過自定義設置的過濾器來獲得更詳細的信息,例如可以用日誌標簽或進程ID來生成日誌信息。使用過濾器的增、刪和改按鈕來管理自定義的過濾器。
模擬電話操作和位置
模擬器控制選項可以模擬手機的語音和數據網路狀態。如果你想在不同網路環境下測試應用的健壯性,這會很有用。
改變網路狀態、網速和網路延遲
模擬器控制選項卡的電話狀態部分可以改變手機的網路狀態、網速和網路延遲。下列選項可供使用並且設置後立即有效:
Voice - unregistered home roaming searching denied
Data - unregistered home roaming searching denied
Speed - Full GSM HSCSD GPRS EDGE UMTS HSDPA
Latency - GPRS EDGE UMTS
模擬來電或簡訊
模擬器控制選項卡的電話部分可以模擬電話和簡訊。這對測試應用在回應來電和簡訊方面的健壯性很有用。有如下操作:
Voice - 在 Incoming number 框輸入號碼,點擊Call就給模擬器或電話設備撥打電話。點擊Hang up按鈕就掛掉電話。
SMS - 在 Incoming number 框輸入號碼在Message 輸入簡訊內容,點擊Send按鈕發送簡訊。
設置電話位置
如果應用需要使用電話位置,使用DDMS可以給電話設備或AVD(安卓虛擬設備)設置模擬位置。如果想測試應用不同方面的跟位置有關的特性又不必實際改變物理位置,這會很有用。下面是可用的定位數據類型:
Manual - 通過手動指定的十進制或六十進制的經度和緯度值來設置位置
GPX - GPS 交互文件
KML - Keyhole 標記語言文件
要獲得更詳細的模擬位置數據的信息,請查看Location Strategies
⑹ 「手機設置」中的「假來電」是什麼意思
「假來電」即是虛擬來電,也是一種安卓APP。
是一個模模擬實來電情形的軟體,能夠幫虛擬出一個來電,在固定的時間響起,按接聽鍵還計時間,看起來和真的來電話一樣。
主要用在找不到合適的理由閃人的場合或假裝很忙。
可以設置來電聯系人,來電號碼,來電時間,來電鈴聲或振動。
假來電:
假來電是一款Android平台模擬來電呼叫的手機趣味軟體。
假來電具有以下功能:
1、 定義顯示在來電介面的呼叫者的姓名與號碼。
2、 選擇模擬來電的時間,可以在任意時間模擬來電。
3、自定義鈴聲和振動模式。
4、把來電記錄到通話記錄里。
5、從聯系人中挑選呼叫者。
6、可以將模擬來電加入電話呼叫記錄,讓模擬來電看起來更加真實。
7、完全免費。