編輯:關於Android編程
layoutopt
工具會用於查找所有這樣的問題,和除此之外更多的問題)lint
。 如果在你的path上已經配置了 SDK 的tools/
目錄,您可以使用“lint
”來調用它。只需指向一個特定的 Android 項目目錄。你也可以指向一個隨機的目錄,(如果它不是一個 Android 的項目)將以遞歸方式搜索,並將檢查該目錄下的所有項目。(你還可以指定通過空格分隔的多個項目)。$ lint /src/astrid/
Scanning GreenDroid-GoogleAPIs: ..
Scanning stream: ...
Scanning api: ...........................
Scanning GDCatalog: .......................
Scanning GreenDroid: ...........................................................
Scanning tests: ...
Scanning filters: ....
Scanning tests: .....
Scanning astrid: ....................................................................................................................................................
Scanning simple: .......
api/res/values-ca: Error: Locale ca is missing translations for: sync_SPr_bgwifi_key, sync_SPr_forget_key, sync_SPr_interval_values, sync_SPr_logged_in_prefix... (2 more) [MissingTranslation]
astrid/res/values-ca: Error: Locale ca is missing translations for: DLG_cancel, DLG_dismiss, DLG_ok, EPr_deactivated... (117 more) [MissingTranslation]
api/res/values-cs: Error: Locale cs is missing translations for: sync_SPr_bgwifi_key, sync_SPr_forget_key, sync_SPr_interval_values, sync_SPr_logged_in_prefix... (2 more) [MissingTranslation]
(many lines omitted)
43 errors, 466 warnings
$ lint --disable MissingTranslation,UnusedIds,Usability:Icons /src/astrid/
--enable
標志啟用它們。--check
標志指定運行哪些確切的檢查。這讓你可以在代碼庫中查找一個具體的問題,比如:$ lint --check MissingPrefix /src/astrid/
$ lint --list
Valid issue categories:
Correctness
Security
Performance
Usability
Usability:Icons
Accessibility
Internationalization
Valid issue id's:
ContentDescription: Ensures that image widgets provide a contentDescription
DuplicateIds: Checks for duplicate ids within a single layout
StateListReachable: Looks for unreachable states in a
InefficientWeight: Looks for inefficient weight declarations in LinearLayouts
ScrollViewSize: Checks that ScrollViews use wrap_content in scrolling dimension
MergeRootFrame: Checks whether a root <framelayout> can be replaced with a tag </framelayout>
...
--show
命令加上 id 列表或類別 (或不帶參數查看全部)可以獲取指定的問題的解釋:$ lint --show MissingPrefix
MissingPrefix
-------------
Summary: Detect XML attributes not using the Android namespace
Priority: 8 / 10
Severity: Warning
Category: Correctness
Most Android views have attributes in the Android namespace. When
referencing these attributes you *must* include the namespace prefix,
or your attribute will be interpreted by aapt as just a custom
attribute.
--html 文件名
作為參數:$ lint --html /tmp/report.html
$ lint --html /tmp/report.html --url /src/MyProj=http://buildserver/src/MyProj
lint --help
以獲取可用參數的相關信息。lint.xml
的文件中,可以通過命令行工具讀取。因此,您可以在 UI 中忽略警告,並在你的源項目關聯的lint.xml
文件中進行記錄,其他運行著的lint將不會看到你已經忽略的警告(大概是因為已經手動驗證了)。lint.xml
文件中,所以您的團隊中的其他人將會獲得你對這個項目編輯的相同的嚴重性設置。 子頁 (2): 取消 Lint 警告的顯示(Suppressing Lint Warnings) 編寫一個 Lint 檢查(Writing a Lint Check)本文的代碼接著上一篇獲取聯系人信息寫的。在獲取聯系人信息的時候,我發現遍歷Cursor來獲取所有聯系人的信息比較慢,比如我手機上有大約不到四百人的聯系方式,全部遍歷一次大
Android插件化的思考——仿QQ一鍵換膚。今天群友希望寫一個關於插件的Blog,思來想去,插件也不是很懂,只是用大致的思路看看能不能模擬一個,
開始逐漸領略到ItemDecoration的美~今天讓我 使用 ItemDecoration 來完成 可推動的懸浮導航欄的效果,最終實現的效果如下圖:具體實現步驟如下:根
從前幾章我們分別學習了屬性文件存儲輸數據,內儲存存儲數據,和外部儲存存儲數據,今天我們來學習一下android 輕量級數據庫Sqlite數據庫的數據存儲 首先必須了解