41

我是安卓初学者。在尝试管理活动生命周期的代码时,我遇到了一个新事物。

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")

4

3 回答 3

81

@SuppressLint("NewApi")是 Android Lint 工具使用的注解。

每当您的代码中的某些内容不是最佳的或可能崩溃时,Lint 都会告诉您。通过NewApi那里,您将禁止所有警告,这些警告会告诉您是否使用了在您使用之后引入的任何 APIminSdkVersion

在此处查看 Lint 检查的完整列表 - 包括“NewApi”:http ://tools.android.com/tips/lint-checks

于 2013-05-17T04:51:57.743 回答
9

来源:点击这里

除了测试您的 Android 应用程序是否满足其功能要求之外,确保您的代码没有结构问题也很重要。结构不佳的代码会影响您的 Android 应用程序的可靠性和效率,并使您的代码更难维护。例如,如果您的 XML 资源文件包含未使用的名称空间,这会占用空间并导致不必要的处理。其他结构问题,例如使用不推荐使用的元素或目标 API 版本不支持的 API 调用,可能会导致代码无法正确运行。

Android SDK 提供了一个名为的代码扫描工具lint,可以帮助您轻松识别和纠正代码结构质量问题,而无需执行应用程序或编写任何测试用例。该工具检测到的每个问题都会通过描述消息和严重性级别进行报告,以便您可以快速确定需要进行的关键改进的优先级。您还可以配置问题的严重性级别以忽略与您的项目无关的问题,或提高严重性级别。该工具具有命令行界面,因此您可以轻松地将其集成到您的自动化测试过程中。

lint工具会检查您的 Android 项目源文件是否存在潜在错误,并针对正确性、安全性、性能、可用​​性、可访问性和国际化进行优化改进。您可以从命令行lint或 Eclipse 环境运行。

于 2013-05-28T08:43:02.353 回答
0

该注释指示 Lint 应忽略注释元素的指定警告。lint 应该忽略的一组警告(由 lint 问题 ID 标识)。指定无法识别的名称不是错误。

查看详情:https ://developer.android.com/reference/android/annotation/SuppressLint

于 2021-10-16T12:23:44.490 回答