2

Ich verwende Android annotation, um SharedPreferences in Android-Projekt zu erstellen.So greifen Sie auf die Android Annotation sharedPreference zu?

AppPreferences

public interface CommonPref { 
@DefaultString("") 
String deviceId(); 

@DefaultString("NA") 
String clientId(); 

@DefaultString("NA") 
String accessToken(); 

@DefaultString("NA") 
String refreshToken(); 

@DefaultString("NA") 
String devToken(); 
} 

Wenn ich diese Werte aus einer Klasse von android.app.Application erweiterte den Zugriff auf oder füllen versuchen einen Fehler Es ist zu werfen. Hier ist mein Code:

SuppressLint("Registered") 
@EApplication 
public class SampleApp extends Application { 

public static CommonPref_ cprefs; 

@Override 
public void onCreate() { 
    super.onCreate(); 
    cprefs = new CommonPrefs_(this); 
} 

Ich dachte, es zu Applicaiton verwandt ist, weil Android annotation der letzte Prozess ist auszuführen, wenn wir das Projekt erstellen (sein kann, bevor als applicaiton-Dateien).

Ich versuchte, die preference Aktivitäts Datei zuzugreifen, aber es mir denselben Fehler dh Error:(25, 5) error: cannot find symbol class CommonPref_

Die Schritte, die ich gefolgt wird wirft es zu integrieren:

  • heruntergeladen die Abhängigkeiten
  • die Schnittstelle für Einstellungen Schrieb

Fehle ich etwas?

Antwort

0

Verwenden Sie @Pref in der SampleApp-Klasse, anstatt die generierte Präferenz zu instanziieren.

@Pref 
CommonPref_ cprefs; 

Zugang deviceId von

cprefs.deviceId().get(); 
mit