当前位置: 首页 > 面试题库 >

如何在Android中使用assert?

有骏奇
2023-03-14
问题内容

我想assert obj != null : "object cannot be null"在Android设备上使用。该断言似乎不起作用,因此我在网上搜索后发现了这种本地解决方案

亚行外壳setprop debug.assert 1

它确实可以在我的本地计算机上运行。

我想使用我的Eclipse项目运行此命令(因此它将在源代码控件中)。我该怎么做?


问题答案:

断言无法在Android中运行,因为大多数情况下,一个人不是在调试模式下运行,而是运行一些优化的代码。因此,正确的解决方案是使用如下代码手动引发异常:

if (obj==null) throw new AssertionError("Object cannot be null");

应该注意的是,根据设计,断言仅用于调试代码,而不用于发布时间代码。因此,这可能不是抛出Assert的最佳用途。但这就是您仍然可以做到的方式,所以…



 类似资料:
  • 我试图使用VectorDrawable作为单选切换按钮,但在API 17级设备中出现了“invalid drawable tag vector”错误。 我在一个片段中使用它,我在包装片段的活动中将setCompatVectorFromResourcesEnabled设置为true。 另外,我设置了 在build.gradle 这是视图xml, 这是一个矢量图像内容 有什么方法可以在android中

  • 问题内容: 在Smack 4.1之前,必须依靠aSmack。从4.1开始,Smack将在Android上本地运行。我有几个“入门”问题。 问题1: 如何在Eclipse的Android项目中包含Smack 4.1? https://github.com/igniterealtime/Smack/wiki/Smack-4.1-Readme-and-Upgrade- Guide上 的说明似乎适用于An

  • 问题内容: 我问这个问题是因为我是Java和Android的新手,我花了数小时试图找出答案。答案来自一系列相关的答案,所以我想我会把自己学到的东西记录下来,以供其他可能挣扎的人使用。查看答案。 我正在使用Android Studio 2.1.2,并且我的Java设置如下: 问题答案: 注意:这个答案虽然在技术上是正确的,但是现在已经过时了 现在可通过Android Gradle插件4.0.0+获得

  • 它以异步方式运行。完成操作后,我想为TextView详细信息分配名称和填充。 在这种情况下,如何使用?

  • 问题内容: 我有点困惑,因为我不知道如何在这里解释该教程:http : //developer.android.com/training/basics/data- storage/databases.html#DbHelper 到目前为止,我的代码如下所示: 我的解释是否正确,或者Helper类中的前6个变量不在Contract类中?还是助手类不是合同类的内部类? 希望你能帮我 问题答案: 您的合

  • HomeFragment.java fragment_home 我看了其他问题。但我的应用程序不起作用。所以我想知道我是否需要修理我的主activity。所以我附上了主activity。 mainactivity.java 对不起,我英语不好。所以在翻译的帮助下...我第一次问了stackoverflow。 我在为韩国人做一个应用程序。但我在碎片上有些问题。 如果输入了webview,App将被关