Android Studio中的日誌輸出

2021-08-28 02:18:36 字數 2242 閱讀 8192

在程式開發過程中,我們經常需要輸出某些值,通常我們可以通過system.out.println等相關的方法輸出,例如下面的**

button logbutton = findviewbyid(r.id.logbutton);

logbutton.setonclicklistener(new view.onclicklistener()

});輸出結果如下圖所示:

我們可以在android studio提供logcat檢視輸出的結果。

其實在android api中,提供了乙個日誌工具類android.util.log,通過這個類我們可以以不同的級別輸出日誌,android的log等級通常有六類,按照日誌級別由低到高分別是verbose、debug、info、warning、error、assert。

日誌的級別及輸出方法如下表所示:

級別輸出方法

verbose

log.v

debug

log.d

info

log.i

warn

log.w

error

log.e

assert

log.wtf

注:verbose這個單詞的含義是冗長的囉嗦的。

這些方法通常有兩個過載的版本,如下所示:

static int  v(string tag, string msg)

static int  v(string tag, string msg, throwable tr)

下面給出乙個樣例**:

log.v("mainactivity","log.v輸入日誌資訊");

輸出結果如下圖所示:

我們可以logcat在logcat中對日誌進行過濾,如下圖所示:

此外,我們還可以通過android studio中file選單下的settings,設定不同級別log的顏色,如下圖所示:

注意:設定時,請先取消inherit values from的複選。

下面我來研究一下如何控制日誌的輸出。

通常我們希望只有在除錯的時候輸出日誌,正式發布時,不輸出日誌資訊,這樣能夠保證系統的安全性。我們可以借助gradle的變數定義來完成這個功能。

這樣我們就可以通過buildconfig.show_log獲取變數值,控制日誌的輸出,**如下:

button logbutton = findviewbyid(r.id.logbutton);

logbutton.setonclicklistener(new view.onclicklistener()

}});

關於gradle的知識,後面我們還會詳細講解,這裡要說明的是,**中匯出充斥著這樣的判斷,將會是**很難維護,通常情況下我們會頂乙個工具類,完成日誌的輸出。

log有個比較糟糕的地方在於只能輸出字串,功能相對比較弱雞。我們可以採用第三方的類庫完成日誌輸入,比如說com.orhanobut:logger。

我們可以通過project structure引入com.orhanobut:logger,如下圖所示:

也可以直接在gralde加入引用,引用成功後,我可以可以使用logger輸出日誌,**如下所示:

button logbutton = findviewbyid(r.id.logbutton);

logbutton.setonclicklistener(new view.onclicklistener()

}});

輸出如下圖所示:

(張偉:2023年9月13日)

Androidstudio中Asset的建立和引用

一 建立 這樣就在main資料夾下建立了乙個和res資料夾同級的assets資料夾了 二 使用 1.載入assets目錄下的網頁 載入assets win8 demo 目錄下的index.html網頁 webview.loadurl file android asset win8 demo inde...

android studio 中的編碼問題

在 android studio 中直接建立專案和匯入其他專案都會有乙個檔案編碼設定的問題,在 android studio version 1.2.0 中設定檔案的編碼,只需要兩步 1.開啟setting editor file encoding 進行編碼設定 2.開啟module的 build....

Android Studio中的SVN使用

開發時遇到要使用android studio as 所以學習了一下as中的svn使用 1.新增svn步驟很多,不在詳細介紹,詳情可以參考 過程很詳細 這裡簡單說下需注意的地方 黑色代表和伺服器同步 2.使用svn show history 時顯示問題 暫時仍不會使用,沒有像eclipse那樣帶有增刪...