草庐IT

Annotations

全部标签

java - Android Studio 支持@IntRange 和@FloatRange 等注解,为什么没有@DoubleRange 注解

我读了这个article今天在AndroidStudio上支持注解并开始在我的代码中使用这些注解,这里是一个例子:publicfinalstaticclassGoogleMapsZoomLevel{publicstaticfinalintMIN_ZOOM_LEVEL=0;publicstaticfinalintMAX_ZOOM_LEVEL=21;..publicGoogleMapsZoomLevel(@IntRange(from=MIN_ZOOM_LEVEL,to=MAX_ZOOM_LEVEL)intzoomLevel){if(zoomLevelMAX_ZOOM_LEVEL){thro

Android Studio 始终排除构建/源文件夹

我正在使用注释处理器在androidstudio中生成代码并遇到了t他的问题是,每次构建androidstudio都会将以下行重新添加到模块的.iml文件中(我时不时地手动删除它):有人知道防止这种情况发生的设置或方法吗?我可能正在考虑从文件中删除这一行的gradle任务,但我从来没有做过这样的事情。有人能指出我正确的方向吗?我使用的是测试版更新channel中最新的androidstudio版本,即0.8.2提前致谢!编辑:澄清一下:一切正常,但androidstudio在编辑器中显示了很多错误,我无法正确使用“查找用法”和“跳转到定义”等功能。 最佳答案

java - 调用 Class.isAnnotationPresent(...) 有多昂贵?

我想知道此操作在以下运行时的开销有多大:JVM8达尔维克艺术有关给定类(target=TYPE)的注释的信息在编译时可用,所以我猜它可以以某种方式缓存。但另一方面,我听说Dalvik在注释方面的表现很差。如果我可以在编译时检查和缓存信息(使用一些代码生成插件),我应该这样做,还是会过度优化? 最佳答案 略读sourcecode,它看起来像isAnnotationPresent(...)调用getAnnotation(...),后者调用initAnnotationsIfNecessary()。initAnnotationsIfNece

java - 在运行期间或之前用日志记录替换 java 注释

我很好奇是否可以在类或方法上使用注解,在运行期间或运行之前用注释字符串的记录替换注释。例如,如果在android上:@LogCommentsclassMyActivityextendsActivity{@OverridepublicvoidonCreate(Bundleb){super.onCreate(b);//setsomelocalvarsinta=1;intb=2;}}会翻译成类似的东西classMyActivityextendsActivity{@OverridepublicvoidonCreate(Bundleb){super.onCreate(b);Log.d("TAG"

带有 AndroidAnnotations 的 Android Studio -> 这些类型将不会进行注释处理

我不确定是AndroidStudio(0.1.9)还是AndroidAnnotation问题,但是,最近我无法制作和编译我的AndroidAnnotations项目。好的,所以我尝试制作项目,这是我在“消息”窗口中得到的:Information:Round1:Information:inputfiles:{com.antyzero.sidereelo.ui.activity.SplashActivity}Information:annotations:[com.googlecode.androidannotations.annotations.EActivity,java.lang.O

android - 如何在代码中找到所需的 Android Marshmallow 运行时权限?

我正在准备我的应用以Android6.0Marshmallow为目标平台。将目标api设置为23时,应用程序会在启动时立即崩溃。logcat输出中没有有用的信息。(它给出了一个“请求的窗口不存在”IllegalStateException,但仍然没有像类名或行号这样真正有用的东西。)这很好(不是真的),我最终将其缩小到我的启动Activity,我在其中获取用户的设备IMEI代码(TelephonyManager.getDeviceId())。需要添加运行时权限请求。我明白这一点。但是,该应用程序有大约60个类,涵盖众多Activity,因此需要整理大量代码。我怎样才能搜索代码以找到所有

Java - 使用注释和拦截方法?

有没有简单的方法拦截java中的方法。我需要为所需的方法添加注释,以便在通过该方法之前调用一段逻辑。publicvoidverifyActivity(){//Assetifyouareonawrongpage}@VerifyActivitypublicvoidtestLogin(){//Loginformyautomatetest}@VerifyActivitypublicvoidtestSomethingElse(){//TestsomeotherUIAutomationstuff}编辑:Android应用推荐的guice库不包含AOP。是否可以在不添加任何库的情况下使用反射来实现这

android - 使用 App Engine 项目更改 Android 的 "Annotation Processor Factory"的位置

我正在使用基于Github的AppEngine项目开发Android。我下载了该项目,并弹出了一个似乎基于原始创建者的Eclipse配置的错误。Eclipse正在原始创建者拥有他的Eclipse文件夹的路径中寻找“注释处理器工厂”。我有要查找的文件,但对我来说,起始路径是Desktop\eclipse\plugins,而不是Eclipse查找的C:\ProgramFiles\Eclipse\Eclipse-3.7.1.classic\plugins。有什么方法可以改变它以使其正常工作吗?我已经看过,但似乎找不到任何关于此的信息。 最佳答案

android - 注释导入在干净时给出错误

我这里有一个奇怪的情况。我的应用程序在android中使用注释。我不得不直接使用一些需要注释类的方法。但是每当我清理我的项目或开始我的eclipse导入时都会给我错误。importcom.black.devil.app.view.CustomDetailsItemView_cannotberesolved有没有人遇到过这个问题,或者知道如何解决它。目前,在清理我的项目或启动eclipse之后,我删除了所有导入,然后再次重新导入帮助我解决了我的错误。但是我每次清理/启动eclipse时都需要这样做。任何永久解决方案。我不知道要发布什么代码,所以告诉我是否需要发布其他任何东西。谢谢黑魔王。

Java 文件 : Suppressing hardcoded text warnings

由于TextView中的某些分隔符(例如...+","+...),我收到了硬编码文本警告。(“不要连接文本...”)我尝试同时使用SupressLint和SupressWarnings:@SuppressWarnings("HardcodedText")@SuppressLint("HardcodedText")但它不起作用。我怎样才能阻止这些警告? 最佳答案 您要禁止的lint检查的名称是SetTextI18n,而不是HardcodedText。你也可以使用//noinspectionAndroidLintSetTextI18n仅