Ich gehe zu g Ive Sie ein bisschen verstehen, dann Code. Kontext ist eine häufige Frustration für neue Android-Programmierer.
Es gibt tatsächlich 4 verschiedene Arten von Context-Objekten. Das ist wichtig zu wissen. Im Allgemeinen, wenn Sie Benutzersteuerelemente ausführen, möchten Sie den Aktivitätskontext, in dem das Benutzersteuerelement gehostet wird. Die Antwort von days funktioniert dafür. Grundsätzlich ist das Kontextobjekt ein Aktivitätsobjekt. Es gibt auch Serviceinstanzobjekte mit einem Servicekontext.
Ein anderer Kontexttyp ist Anwendungskontext. Diese
ist, wie Sie sicherstellen, dass jede Klasse in Ihrer Anwendung Zugriff auf den Anwendungskontext hat:
eine Klasse wie folgt erstellen. Das speichert statisch ein Verweis auf es selbst mit einem Accessor:
public class MyApp extends Application{
private static Context applicationContext;
public void onCreate() {
applicationContext = this;
}
public static Context getApplicationContext() {
return applicationContext;
}
}
Ändern Sie bitte Ihre ApplicationManifest.xml den Namen Attribut in der Anwendung Tag enthalten:
<application
android:name="MyApp"
android:allowBackup="true"
android:icon="@drawable/icon"
android:label="@string/app_name"
android:theme="@style/AppTheme">
<activity......
</application>
Dann, wo immer Sie ein Kontextobjekt und don müssen ‚t ein convient Gebrauch haben:
MyApp.getApplicationContext()
Zum Beispiel:
settings_sql(MyApp.getApplicationContext());
Da Sie im Ereignis oncreate der Anwendungsklasse erstellen, können Sie sicher sein, dass es in Ihrer App niemals null sein wird.
nur diese wenigen Werte zu speichern verwenden SharedPreferces –
Entweder übergeben Sie den Kontext als ein Parameter oder erhalten Sie es aus Ihrer Basisaktivität. –