2016-04-25 10 views
0

Ich bin ein ziemlich .NET-Typ, der sich in Xamarin entwickelt. Ich habe jedoch ein Stück Java-Code für Android in die Hände bekommen, das ich gerne in C# implementieren würde. Das Problem ist, dass das Projekt in Eclipse entwickelt und dann nach Android Studio portiert wurde und jetzt nicht kompiliert werden kann..get() - und .put() -Methoden von Eclipse nach Android Studio migriert

Ich habe alle Probleme mit Gradle, aber jetzt bin ich mit einigen generierten Annotationen und .put() und .get() Methoden fest, die nicht referenziert werden können. Es gibt viele Dinge, die den folgenden ähneln:

Eine normale Schnittstelle wie MySharedPreferences hat seine generierte versiegelte (endgültige) Klasse Gegenstück MySharedPreferences_. Dies wird dann im Code verwendet:

import com.someproject.MySharedPreferences_; 

... 

public class SomeAndroidClass { 
    public MySharedPreferences_ prefs; 

    public SomeMethod() { 
     String x = prefs.someValue().get; 
     ... 
     prefs.someValue().put("abc"); 
    } 
} 

Nun, dies nicht kompiliert werden kann, weil die MySharedPreferences_ Klasse wird nicht von Android Studio erzeugt. Ich versuchte, den Unterstrich loszuwerden und stattdessen die MySharedPreferences Schnittstelle zu verwenden. Aber dann hatte ich Probleme, die .get() und .put() Methoden referenzieren. Kann mir bitte jemand helfen, mit diesem Problem umzugehen?

EDIT

Hinzufügen der build.gradle Datei:

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

repositories { 
    maven { url "http://dl.bintray.com/populov/maven" } 
    mavenCentral() 
    mavenLocal() 
} 

apply plugin: 'com.android.application' 
apply plugin: 'android-apt' 
def AAVersion = '4.0.0' 

android { 
    compileSdkVersion 23 
    buildToolsVersion "23.0.3" 

    defaultConfig { 
     applicationId "com.testproject.smartconfig" 
     minSdkVersion 15 
     targetSdkVersion 23 
     versionCode 1 
     versionName "1.0" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

dependencies { 
    apt "org.androidannotations:androidannotations:$AAVersion" 
    compile "org.androidannotations:androidannotations-api:$AAVersion" 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    testCompile 'junit:junit:4.12' 
    compile 'com.android.support:appcompat-v7:23.3.0' 
    compile 'fr.avianey.com.viewpagerindicator:library:[email protected]' 
} 

apt { 
    arguments { 
     androidManifestFile variant.outputs[0]?.processResources?.manifestFile 
    } 
} 
+0

Zeigen Sie Ihre build.gradle-Datei an. Ist das AndroidAnnotations? –

+0

Welcher? Im Android-Studio gibt es zwei - für das Projekt und das App-Modul. – Storm

+0

Das App-Modul eins –

Antwort

Verwandte Themen