2013-05-17 49 views
29

我是一個機器人的初學者。在嘗試管理活動生命週期的代碼時,我遇到了一件新事物。瞭解@SuppressLint( 「NewApi」)標註

package com.example.activitylaunch; 

import android.os.Build; 
import android.os.Bundle; 
import android.annotation.SuppressLint; 
import android.app.ActionBar; 
import android.app.Activity; 
import android.view.Menu; 
import android.widget.TextView; 

@SuppressLint("NewApi") 
public class MainActivity extends Activity { 

TextView mTextView; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    mTextView = (TextView) findViewById(R.id.text_message); 

    if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) 
    { 
     ActionBar actionBar = getActionBar(); 
     actionBar.setHomeButtonEnabled(false); 
    } 
    } 

@Override 
public void onDestroy(){ 
    super.onDestroy(); 
    android.os.Debug.stopMethodTracing(); 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.main, menu); 
    return true; 
} 

} 

我很好的理解了代碼,但是它在ActionBar SuppressLint中給出了一個錯誤。當我雙擊它時,正在添加@SuppressLint("NewApi")@SuppressLint("NewApi")是什麼意思?

+1

相關問題:http://stackoverflow.com/questions/14341042/what-is-better-suppresslint-or-targetapi – laalto

回答

56

@SuppressLint("NewApi")是被Android棉絨工具中使用的註釋。

林特會告訴你什麼時候在你的代碼是不是最佳的或可能會崩潰。通過傳遞NewApi那裏,你壓制所有警告,將如果您使用的minSdkVersion

見皮棉檢查的完整列表之後引入的任何API告訴你 - 包括「NewApi」 - 在這裏:http://tools.android.com/tips/lint-checks

9

來源:click here

除了您的Android應用程序滿足其功能要求測試,以確保您的代碼有沒有結構性問題是很重要的。結構不良的代碼會影響Android應用程序的可靠性和效率,並使代碼更難以維護。例如,如果您的XML資源文件包含未使用的名稱空間,則佔用空間並導致不必要的處理。其他結構性問題(如使用目標API版本不支持的棄用元素或API調用)可能會導致代碼無法正確運行。

Android SDK提供了一個名爲lint的代碼掃描工具,可以幫助您輕鬆識別和糾正代碼結構質量問題,而無需執行應用程序或編寫任何測試用例。該工具檢測到的每個問題都會報告一條描述消息和一個嚴重級別,以便您可以快速確定需要進行的關鍵改進的優先級。您還可以配置問題的嚴重性級別以忽略與您的項目無關的問題,或者提高嚴重性級別。該工具具有命令行界面,因此您可以輕鬆將其集成到自動化測試過程中。

lint工具會檢查您的Android項目源文件是否存在潛在錯誤,並針對正確性,安全性,性能,可用性,可訪問性和國際化優化方面的改進。您可以從命令行或從Eclipse環境運行lint

+4

-1這個回答談論什麼是林特的目的,但沒有提到任何關於OP的問題 - 爲什麼要加入NewApi的抑制。 – CJBS

+0

對這個問題一無所知。 –