Articles of 注释

使用AndroidAnnotations与Scala和Gradle

使用Scala编程语言和Gradle构build系统可以使用AndroidAnnotations吗? 当我尝试将AndroidAnnotations集成到我现有的Android / Scala / Gradle项目中时,编译失败,因为生成的下划线类(例如MyActivity_)无法find。 这里有一些有用的出发点和参考: http://www.scala-lang.org/node/4773(2010-01-06 ) http://www.scala-lang.org/sid/5(2010-01-27 ) http://code.google.com/p/androidannotations/wiki/Configuring(2011-07-28 ) http://docs.jboss.org/hibernate/validator/4.1/reference/en-US/html/ch08.html#d0e2816(2010 ?) 使用Ant的Java 6注释处理configuration (2010-09-05) http://download.oracle.com/javase/6/docs/technotes/tools/solaris/javac.html#processing http://ant.apache.org/manual/Tasks/apt.html 从Gradle构build脚本生成JPA2元模型 (2011-06-22) http://download.oracle.com/javase/1.5.0/docs/guide/apt/GettingStarted.html

如何使用@ ActivityInfo.ScreenOrientation

我试图创build一个方法,返回给我的屏幕取决于依赖的设备是手持式还是平板电脑。 public int getScreenOrientation(boolean isTablet){ if(isTablet){ return ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE; } else { return ActivityInfo.SCREEN_ORIENTATION_PORTRAIT; } } 但是,当我使用setRequestedOrientation(getScreenOrientation)); 我得到一个lint错误Must be one of: ActivityInfo.SCREEN_ORIENTATION_………其中我可以压制,但看起来不干净的代码。 所以我发现, getRequestedOrientation使用@ActivityInfo.ScreenOrientation注解。 所以我试图自己使用它: @ActivityInfo.ScreenOrientation public int getScreenOrientation(boolean isTablet){ . . . } 但IDE给了我一个错误,指出无法findAnnotation @ActivityInfo.ScreenOrientation 。 但是它在官方的android源代码中被公开。

告诉Proguard在方法上保留注释

我使用我自己的注释: @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.METHOD, ElementType.TYPE}) public @interface Loggable { } 并使用Proguard进行混淆。 我在Proguardconfiguration中使用-keepattributes *Annotation*来保留注释。 在运行时,当我使用someClass.getAnnotation(Loggable.class)从注释类中检索注解时,所有东西都可以使用 – 我检索了注释的非空实例。 但是,当我想要应用相同的一些类的注释方法 ,我从someMethod.getAnnotation(Loggable.class)检索null。 Proguard是从方法中删除注释吗? 我怎么告诉它不这样做? 我正在使用Proguard 4.7。

我如何定义一个自定义的注解(例如。@ Background)

任何人都可以build议一个适当的命令来定义在JAVA(Android)的自定义注释。 所以如果我使用@Background注解来注解一个方法,这个方法应该在后台线程上工作。

Android中的JPA注释

我们有一个在服务器端使用JPA/Hibernate的项目,映射的实体类在它们自己的Library-Project中,并使用Annotations映射到数据库。 我想在Android项目中使用这些类 – 有什么方法可以忽略Android中的注释,将这些类用作标准的POJO ?

Android工作室+ Gradle + Android注解

我正在尝试将AndroidAnnotations添加到具有Gradle构build系统的Android Studio项目中。 有没有人做过这个? 谁能帮我这个? 我甚至不知道从哪里开始。 我知道如何将库添加到gradle,但AndroidAnnotations需要2个jar文件,我不知道该怎么办。

@IndDef注释和从其他代码返回值不能被注释或如何暂时禁用注释从而影响代码?

我在我的代码中使用Android支持注释的 IntDef (但是我的问题范围更广,请继续阅读:)如下所示: public class UiLockMode { @IntDef({DEFAULT, NONE, VISIBLE, TRANSPARENT}) @Retention(RetentionPolicy.SOURCE) public @interface AllowedValues {} public static final int DEFAULT = 0; public static final int NONE = 1; public static final int VISIBLE = 2; public static final int TRANSPARENT = 3; } 接下来,我得到了一些其他的注释方法: protected void setLockMode(@UiLockMode.AllowedValues int lockMode) { … 在这一点上都很好,但是,每当我想从其他方法传递返回值到setLockMode() ,就像从setLockMode()实现,问题就出现了: […]

这个文本字段没有指定一个inputType或一个提示

我得到警告,“这个文本字段没有指定一个inputType或一个提示”当我修改一个教程代码的副本(下) <EditText android:id="@+id/edit_message" android:layout_width="wrap_content" android:layout_height="wrap_content" android:hint="@string/edit_message" android:layout_weight="1" /> 这工作正常,只有在创build新的空行时才会出现警告 我已经修改了一个朋友的几条注释,解释了它的每个部分,但是每当我在上面添加一行(即使是一个空行,在这种情况下,它是一个注释行)我收到上述错误 <!–edit text creates a text input box–> <EditText android:id="@+id/edit_message" <!– edit_message is a variable, defined in strings.xml–> <!– determines the width of the textField, in this case 0dp means "however long the text is" IE: it will grow to fit however many characters the user […]

Kotlin注解处理会忽略具有相似名称的项目

我最近把我的大部分项目都转换成了kotlin。 现在我遇到了几个似乎与注释库有关的不寻常的错误。 不用说,它并没有在Java中发生。 我将描述这些案例 – 一个在匕首,另一个在Butterknife。 1.在具有相同名称的不同模型中使用2个@Provides方法时。 例如在具有“provideFooOrBar”方法的文件“FooProvider.kt”中 @Module class FooProvider(private val view: FooActivity) { … @Provides @FooScope fun provideView() = view @Provides @FooScope fun provideFooOrBar() = Foo() } 和另一个文件“BarProvider.kt”具有相同的方法名称 @Module class BarProvider(private val view: BarActivity) { … @Provides @BarScope fun provideView() = view @Provides @BarScope fun provideFooOrBar() = Bar() } 在这种情况下,Dagger无法生成一些工厂库,并且出现以下编译错误: Error:(27, 32) error: […]

Android支持注释 – 如何使用IntDef / StringDef(Typedef注释)与generics列表?

最近我开始使用android的支持库IntDef / StringDef(Typedef Annotations)。 我遵循在Android工程项目网站的文档,无法find那里或在任何其他相关教程如何使用IntDef / StringDef typedef注释与generics数组。 例如,假设我有以下代码片段: public static final String MEDIA_IMAGE = "image"; public static final String MEDIA_TEXT = "text"; public static final String MEDIA_LINK = "link"; public static final String MEDIA_AUDIO = "audio"; public static final String MEDIA_VIDEO = "video"; public static final String MEDIA_VOICE = "voice"; @StringDef ({MEDIA_IMAGE, MEDIA_TEXT, MEDIA_LINK, […]