簡體   English   中英

如何使用Android App Widget進行調試?

[英]How to debug with Android App Widget?

對於普通的Activity,我可以設置一些斷點並在Eclipse中單擊F11進行調試。 但是,當我開發app小部件時,它無法正常工作。 那么,我該如何調試?

在這里你可以找到一個很好的答案:

調試窗口小部件代碼所需的全部內容與您對普通應用程序的操作幾乎相同。 只需按照以下步驟操作:

1.在eclipse菜單上按“debug”(或“運行”它似乎沒關系)

2.將小部件apk同步並安裝到您的模擬器/設備上后,將您的eclipse工作區切換到DDMS模式。 您可以通過按右上角的“DDMS”標記按鈕來執行此操作,或者如果找不到它,則可以通過轉到“Window-> Open Perspective-> DDMS”來執行此操作。

3.從顯示的進程列表中選擇窗口小部件的進程名稱。 默認情況下,此列表顯示在DDMS窗口的左上角。 (見下面的截圖)。 如果您無法在列表中看到窗口小部件的進程名稱,則窗口小部件可能尚未添加到主屏幕。 所以,這樣做。

4.按下進程列表上方的綠色調試按鈕(參見下面的屏幕截圖)

5.這就是它。 現在,如果您在代碼中放置了斷點,那么執行一些執行該代碼的操作。

在此輸入圖像描述

我假設“App Widget”是指用戶可以通過長按背景牆紙添加到主屏幕的小部件?

如果您的AndroidManifest.xml文件設置正確,您就可以像調試任何其他Android應用程序一樣調試這些小部件。

但請注意,您需要先將小部件添加到主屏幕。

完成后,您應該會在Eclipse中的DDMS模式透視圖下看到您的窗口小部件進程。 您可以附加調試器並調試代碼。

Android Studio

這很簡單。 只需在您的類中設置extends AppWidgetProvider調試點。

從這里...

  1. 啟動模擬器通過USB線連接手機
  2. 像往常一樣選擇Debug圖標。
  3. 等待您的應用開始
  4. 轉到主屏幕
  5. 添加您的窗口小部件轉到屏幕,其中已經有您的窗口小部件

從這一點來看,如果你在onUpdate(...)方法中有一個斷點,那么你的小部件調試就會開始

日食

StarsSky的回答

Android Studio

我沒有找到一種“結構化”的方式來顯式調試App Widget。

我的解決方法:

確保你的項目中有一個Activity - 通常你至少會有一個Setting活動,但如果沒有,只需做一個不需要做任何事情的虛擬Activity。

在您的清單中,添加此活動並將其標記為啟動活動:

<activity android:name=".activity.SettingActivity"
    android:label="@string/setting_name">
    <intent-filter>
        <action android:name="android.intent.action.MAIN"/>
        <category android:name="android.intent.category.LAUNCHER"/>
    </intent-filter>
</activity>

現在你應該把你的斷點放在你想調試的地方,然后用你的應用程序啟動你的應用程序 在此輸入圖像描述 按鈕。 現在整個應用程序的代碼都在調試會話下,調試器將在任何斷點處停止,包括小部件。

注意:在生產之前,如果您不是要直接從設備啟動板啟動此活動,請從清單中刪除啟動意圖過濾器

        <activity android:name=".activity.**SettingActivity**"
        android:label="@string/setting_name">
        <!--<intent-filter>-->
            <!--<action android:name="android.intent.action.MAIN"/>-->
            <!--<category android:name="android.intent.category.LAUNCHER"/>-->
        <!--</intent-filter>-->
    </activity>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM