我正在编写我的第一个Android应用程序,我很自由地使用junit.framework.Assert中的asserts()
我想找到一种方法来确保断言只被编译到调试版本中,而不是发布版本中.
我知道如何从清单查询android:debuggable属性,所以我可以创建一个变量,并在以下fashon中完成此操作:
static final boolean mDebug = ...
if(mDebug)Assert.assertNotNull(view);
有一个更好的方法吗?即我不想在每个断言中使用if().
谢谢
我得到以下选项,如"添加方法合同'setDisplayHomeAsUpEnabled'",我知道检查是因为NPE可以扔掉getSupportActionBar()但我想知道方法合同的实际使用
如果我在该选择上按Enter键,我将得到:
任何分享?任何帮助?它会赞赏:)
将项目升级为使用API级别为27.0.0(Android 8.1)的Android Studio 3.0之后,我收到了许多与片段中使用getActivity()有关的新的掉线警告(我认为这很好)。
例子:
((AppCompatActivity) getActivity()).setSupportActionBar(toolbar);
getActivity().getMenuInflater().inflate(R.menu.pavingreport_dialog_menu, menu);
Run Code Online (Sandbox Code Playgroud)
这两个示例都抱怨存在空异常。
例:
Method invocation 'getMenuInflater' may produce 'java.lang.NullPointerException'
Run Code Online (Sandbox Code Playgroud)
我知道我可以通过将活动添加为字段并在onCreate或其他过程中对其进行初始化来解决此问题,但这只会删除警告...
问题: