标签: android-annotations

RequiresApi vs TargetApi android注释

什么区别RequiresApiTargetApi

kotlin中的样本:

@RequiresApi(api = Build.VERSION_CODES.M)
@TargetApi(Build.VERSION_CODES.M)
class FingerprintHandlerM() : FingerprintManager.AuthenticationCallback()
Run Code Online (Sandbox Code Playgroud)

注意:FingerprintManager.AuthenticationCallback需要apiM

注2:如果我不使用TargetApi lint失败并出错 class requires api level 23...

android kotlin android-annotations android-support-library

88
推荐指数
5
解决办法
3万
查看次数

匕首和黄油刀与Android注释

我正在评估Android应用程序的依赖注入(DI)框架.最有力的竞争者是:Dagger(有Butter Knife)和Android Annotations.据我所知,Dagger和ButterKnife来自同一个源头,他们相互补充.这是我正在寻找的关键矩阵:

  1. 易于使用(我们的构建基于Gradle,我们使用Android Studio IDE)
  2. 测试支持(我们使用Robotium进行功能测试,使用RoboLectric进行单元测试)
  3. 性能(DI框架使用反射,哪一个更快?)

android dependency-injection android-annotations dagger butterknife

63
推荐指数
4
解决办法
3万
查看次数

枚举和android注释intDef

我有一个枚举:

public enum AppEnums {
    SERVICE_ERROR,
    CONNECTION_ERROR;
}
Run Code Online (Sandbox Code Playgroud)

我想在Android Annotation的intDef中使用它:

@IntDef({AppEnums.CONNECTION_ERROR, AppEnums.SERVICE_ERROR})
public @interface ServiceErrors {
}
Run Code Online (Sandbox Code Playgroud)

错误显示:

找到不兼容的类型,必填:'long'

我能用这种不相容的方法做些什么?

我不想手动处理AppEnum参数的值,Enum通常会自动创建值.AppEnums.CONNECTION_ERROR.ordinal()返回enum参数的int值,但这里不起作用.

java enums android android-annotations android-support-library

38
推荐指数
2
解决办法
2万
查看次数

Spring Rest模板用法导致EOFException

java.io.EOFException在Android上使用Spring REST模板时收到了.

stacktrace原因如下:

Caused by: java.io.EOFException
at libcore.io.Streams.readAsciiLine(Streams.java:203)
at libcore.net.http.HttpEngine.readResponseHeaders(HttpEngine.java:560)
at libcore.net.http.HttpEngine.readResponse(HttpEngine.java:813)
at libcore.net.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:274)
at libcore.net.http.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:486)
at org.springframework.http.client.SimpleClientHttpResponse.getRawStatusCode(SimpleClientHttpResponse.java:49)
at org.springframework.http.client.SimpleClientHttpResponse.getStatusCode(SimpleClientHttpResponse.java:55)
at org.springframework.http.client.BufferingClientHttpResponseWrapper.getStatusCode(BufferingClientHttpResponseWrapper.java:47)
at com.company.util.LoggingClientHttpRequestInterceptor.intercept(LoggingClientHttpRequestInterceptor.java:33)
at org.springframework.http.client.InterceptingClientHttpRequest$RequestExecution.execute(InterceptingClientHttpRequest.java:81)
at com.company.api.interceptor.AuthTokenInterceptor.intercept(AuthTokenInterceptor.java:51)
at org.springframework.http.client.InterceptingClientHttpRequest$RequestExecution.execute(InterceptingClientHttpRequest.java:81)
at org.springframework.http.client.InterceptingClientHttpRequest.executeInternal(InterceptingClientHttpRequest.java:67)
at org.springframework.http.client.AbstractBufferingClientHttpRequest.executeInternal(AbstractBufferingClientHttpRequest.java:46)
at org.springframework.http.client.AbstractClientHttpRequest.execute(AbstractClientHttpRequest.java:63)
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:475)
... 14 more
Run Code Online (Sandbox Code Playgroud)

另一个类似的堆栈跟踪:

org.springframework.web.client.ResourceAccessException: I/O error: null; nested exception is java.io.EOFException
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:490)
at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:438)
at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:414)
at com.company.api.ApiClient_.logLoginAttempt(ApiClient_.java:299)
at com.company.security.CompanyAuthenticationService$2.onCreateCall(CompanyAuthenticationService.java:206)
at com.company.api.SafeApiCall.doInBackground(SafeApiCall.java:49)
at com.company.api.SafeApiCall.doInBackground(SafeApiCall.java:22)
at android.os.AsyncTask$2.call(AsyncTask.java:287)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
at java.util.concurrent.FutureTask.run(FutureTask.java:137)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
at java.lang.Thread.run(Thread.java:856) …
Run Code Online (Sandbox Code Playgroud)

spring android eof android-annotations

36
推荐指数
2
解决办法
2万
查看次数

Android Studio:使用AndroidAnnotations

所以我想尝试新的Android Studio并导入我的eclipse项目(我生成了一个gradle构建文件).工作得很好.

唯一似乎不起作用的库是AndroidAnnotations.我在File> Settings> Compiler> Annotation Processing下选择了androidannotations-2.7.jar文件.

作为生产源目录,我选择了"gen".但是不会生成像MainActivity_这样的生成文件.我错了什么?

android intellij-idea android-annotations android-studio

19
推荐指数
2
解决办法
2万
查看次数

将AndroidAnnotation与Intellij IDEA 12集成

我无法配置我的IDE(Intellij IDEA 12)来使用AndroidAnnotations(http://androidannotations.org/)以前的配置截图与jetbrains刚发布的新ide不同.有人可以给我一步一步的配置.

android intellij-idea android-annotations

16
推荐指数
1
解决办法
3557
查看次数

无法使用AndroidAnnotations库在AndroidStudio中制作项目

我已经看过几个关于在Android Studio中使用AndroidAnnotations框架编译Android应用程序的讨论和博客,特别是这个,但没有一个帮助我开始.

我正在使用Android Studio 0.8.9,我指向下载的Gradle 2.1二进制文件.我正在使用Ubuntu 14.04.

gradle编译过程说我在给定位置缺少AndroidManifest.xml的副本(请参阅下面的输出)虽然我在使用文件浏览器导航到此文件夹时找到了它.

另请注意,为了删除警告,我更换了

variant.processResources.manifestFile
Run Code Online (Sandbox Code Playgroud)

通过

variant.outputs.processResources.manifestFile
Run Code Online (Sandbox Code Playgroud)

在gradle脚本中.

这是我的gradle构建脚本:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.13.2'
        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.3'
    }
}

apply plugin: 'android'

repositories {
    mavenCentral()
}

configurations {
    apt
}

dependencies {
    compile fileTree(include: '*.jar', dir: 'libs')
    compile files('libs/androidsvg-1.2.1.jar')
    compile 'com.android.support:appcompat-v7:20.0.0'
    compile 'org.androidannotations:androidannotations-api:3.0'
    apt 'org.androidannotations:androidannotations:3.0'
}

android {
    compileSdkVersion 20
    buildToolsVersion "20.0.0"

    defaultConfig {
        minSdkVersion 9
        targetSdkVersion 20
    }

    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs …
Run Code Online (Sandbox Code Playgroud)

android gradle android-annotations android-studio

16
推荐指数
1
解决办法
1万
查看次数

Android - jmdns没有发现设备

我正在尝试实现一个类来发现网络上的服务.我曾尝试使用Android的NSD,它确实发现服务很好,但它只支持16级及以上的API级别,而且我似乎无法检索服务信息中的txtRecord字段(由于某种原因它返回null).原来这是一个已知问题......

所以现在我正在尝试使用jmDNS,它似乎根本找不到服务.这是我的班级(我正在使用AndroidAnnotations框架)MDnsHelper:

@EBean
public class MDnsHelper implements ServiceListener {

public static final String SERVICE_TYPE = "_http._tcp.local";

Activity activity;
private JmDNS jmdns;
private MulticastLock multicastLock;
WifiManager wm;
InetAddress bindingAddress;
boolean isDiscovering;

public void init(Activity activity) {
    this.activity = activity;
    isDiscovering = false;
    wm = (WifiManager) activity.getSystemService(Context.WIFI_SERVICE);
    multicastLock = wm.createMulticastLock(activity.getPackageName());
    multicastLock.setReferenceCounted(false);
}

@Background
public void startDiscovery() {
    if (isDiscovering)
        return;
    System.out.println("starting...");
    multicastLock.acquire();
    try {
        System.out.println("creating jmdns");
        jmdns = JmDNS.create();
        System.out.println("jmdns created");
    } catch (IOException e) {
        e.printStackTrace(); …
Run Code Online (Sandbox Code Playgroud)

android mdns jmdns android-annotations android-nsd

15
推荐指数
1
解决办法
6554
查看次数

"AndroidAnnotaions"可靠吗?

" AndroidAnnotations "可靠吗?我已经搜索了它,但找不到很多文章(评论或教程).

我一直在考虑在我的项目中使用这个库,该项目已经有很多用户.在采用它之前,我需要一个良好的声誉.所以我的担心主要是,

  • 有没有使用这个图书馆的名牌产品?
  • 我可以说它足够稳定,可以用于我的大项目吗?
  • 它会保持良好吗?(错误修复等)

提前致谢.

android android-annotations

14
推荐指数
1
解决办法
1144
查看次数

自更新到ADT 22以来,AndroidAnnotations上的ClassNotFoundException生成了类

这个项目在更新到ADT22之前创造了奇迹.我已经失去了一天,因为我不知道我必须下载构建工具,而且我担心因为这个原因我将失去另一个.

当我尝试构建两天前工作的相同代码时,我遇到了这个异常:

com.cidaut.blueparking fatal error : Unable to instantiate activity \
    ComponentInfo{com.cidaut.blueparking/com.cidaut.blueparking.SplashScreen_}: \
    java.lang.ClassNotFoundException: \
    Didn't find class "com.cidaut.blueparking.SplashScreen_" on path: \
    /data/app/com.cidaut.blueparking-1.apk
java.lang.RuntimeException: Unable to instantiate activity \
    ComponentInfo{com.cidaut.blueparking/com.cidaut.blueparking.SplashScreen_}: \
    java.lang.ClassNotFoundException: \
    Didn't find class "com.cidaut.blueparking.SplashScreen_" on path: \
    /data/app/com.cidaut.blueparking-1.apk

  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2106)
  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
  at android.app.ActivityThread.access$600(ActivityThread.java:141)
  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
  at android.os.Handler.dispatchMessage(Handler.java:99)
  at android.os.Looper.loop(Looper.java:137)
  at android.app.ActivityThread.main(ActivityThread.java:5041)
  at java.lang.reflect.Method.invokeNative(Native Method)
  at java.lang.reflect.Method.invoke(Method.java:511)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
  at dalvik.system.NativeStart.main(Native Method)

Caused by: java.lang.ClassNotFoundException: \
    Didn't find class "com.cidaut.blueparking.SplashScreen_" on path: \ …
Run Code Online (Sandbox Code Playgroud)

android classnotfoundexception eclipse-adt android-annotations

14
推荐指数
2
解决办法
7193
查看次数