当前位置: 首页 > 知识库问答 >
问题:

理解@SuppressLint(“NewApi”)注释

祁远
2023-03-14

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

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")是什么意思?

共有3个答案

姬银龙
2023-03-14

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

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

楚良平
2023-03-14

来源:点击这里

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

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

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

吕皓
2023-03-14

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

当代码中的某些内容不是最佳的或可能崩溃时,Lint会告诉您。通过在那里传递NewApi,您将抑制所有警告,这些警告将告诉您是否正在使用在minSdkVersion

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

 类似资料:
  • 问题内容: 我是一个Android初学者。在尝试管理活动生命周期的代码时,我遇到了新问题。 我对代码理解得很好,但是在ActionBar SuppressLint中却给出了错误。当我双击它时,正在添加。这是什么意思? 问题答案: 是Android Lint工具使用的注释。 当代码中的某些内容不是最佳的或可能崩溃时,Lint会告诉您。通过传递,您将抑制所有警告,这些警告会告诉您是否正在使用在您的设备

  • 我在这里使用教程来理解JAXB。 当编写器开始创建文档的根时,编写器开始如下: 尽管我将手动生成我的类,而不是让Eclipse来完成,但我将为我的jar文件提供一个(不是打包在里面,而是打包在包含jar文件的文件夹中),以便当我的应用程序启动时,它将验证XML文档是否已被篡改。 因此,在XSD文件中,targetNamespace将是de.vogella。xml。jaxb。模型,因为它在上面被声明

  • imi 中内置了一个注解管理器,通过它可以轻松获取到类、方法、属性、常量中的注解。 类:\Imi\Bean\Annotation\AnnotationManager 用法 获取注解使用点 AnnotationManager::getAnnotationPoints($annotationClassName, $where = null): array 参数名称 说明 annotationClass

  • 如果我有用@component注释标记的bean。而是不同文件夹中的两个bean。一个在com.mycompany.core.bean1中,另一个在com.mycompany.dao.bean2中。当我试图在Bean2中自动连接bean1时,就像: 我需要在bean2中导入带有bean1的包吗?还是它会自己扫描它? UPD:我知道同名的问题。但问题是完全不同的。所以请注意我的问题,如果你现在它,不

  • Web 应用可同时包括注解和 web.xml/web-fragment.xml 部署描述符。如果没有部署描述符,或有一个但其 metadata-complete 没有设置为true,web.xml、web-fragment 和注解如果在应用中使用则必须被处理。下表描述了是否处理注解和 web.xml 的 fragment。 TABLE 8-1 Annotations and web fragmen

  • 根据Hibernate留档,注释的解释如下: 在嵌入式id对象中,关联表示为关联实体的标识符。但您可以通过@MapsId注释将其值链接到实体中的常规关联。@MapsId值对应于包含关联实体标识符的嵌入式id对象的属性名称。在数据库中,这意味着客户。用户和客户ID。userId属性共享相同的基础列(本例中为user\u fk)。 它还说: 虽然JPA不支持Hibernate,但它允许您将关联直接放置