2011-10-12 37 views
0

我有一個Android應用程序,沿着代碼跟幾個「Log.d」調用,以跟蹤應用程序的事件。 爲了啓用或禁用調試消息我稱之爲登錄與庫中的調試模式

if (MyApp.debug) Log.d("Doing something"); 

哪裏MyApp.debug是我在編譯之前更改最終布爾值。

現在我想從應用程序中使用一些類作爲另一個應用程序的庫,所以我將它們複製到一個新的庫項目中。問題是,現在在圖書館我沒有一個MyApp類。

如果庫必須打印調試消息,我該如何從應用程序中進行類似的控制?

在此先感謝

回答

1

我建議把該變量一個名爲Log靜態類,然後你可以在運行時,有活期存款靜態布爾變量來弄清楚它是否應該記錄或不裏。

這樣,你仍然有方便,但它都包含在記錄器內。

例如:

public class Log { 

    public static boolean mustLog = false; 

    // methods etc. 
} 

然後,在你的應用程序,只需使用if(Log.mustLog) ...

希望有所幫助。

0

您可以在圖書館

public Class LogPrefs 
{ 
    public static final boolean enabled = true; 
} 

創建一個不同的自定義類,並設置打開和關閉,因爲你需要。然後只是

if (LogPrefs.enabled) Log.d("Doing something"); 

我總是擦除調試消息,因爲他們往往混亂的屏幕。我保持信息和錯誤信息;最終他們可以在事故發生後恢復並送回。