Android bietet viele Möglichkeiten zum Speichern von Daten einer Anwendung.Einer der auf diese Weise geteilt Preferences aufgerufen. Gemeinschafts-Einstellungen können Sie in Form von Schlüssel-Wert-Paar zu speichern und Abrufen von Daten.
Zur geteilten Einstellungen verwenden, müssen Sie sich auf ein Verfahren getSharedPreferences nennen (), die eine SharedPreference Instanz, die auf die Datei, die die Werte der Präferenzen zurückgibt.
SharedPreferences sharedpreferences = getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE);
Der erste Parameter ist der Schlüssel und der zweite Parameter ist der Modus.Neben privaten andere Zimmer verfügbar sind Modi, die nachstehend aufgeführt sind:
Sr.No | Modus und Beschreibung |
---|---|
1 | MODE_APPEND
Damit werden die neuen Einstellungen mit den bereits vorhandenen Präferenzen anhängen
|
2 | MODE_ENABLE_WRITE_AHEAD_LOGGING
Datenbank geöffnet Flagge. Wenn es gesetzt ist, wäre es Schreibfreigabe Ahead Logging standardmäßig
|
3 | MODE_MULTI_PROCESS
Diese Methode wird zur Modifikation der Einstellungen zu überprüfen, selbst wenn die sharedpreference weise bereits geladen
|
4 | MODE_PRIVATE
Durch Setzen dieses Modus kann die Datei nur mit aufrufende Anwendung abgerufen werden
|
5 | MODE_WORLD_READABLE
Dieser Modus ermöglicht andere Anwendung, um Präferenzen zu lesen
|
6 | MODE_WORLD_WRITEABLE
Dieser Modus ermöglicht andere Anwendung, um Präferenzen zu schreiben
|
Sie können etwas in den sharedpreferences durch Verwendung SharedPreferences.Editor Klasse zu speichern. Sie werden die Bearbeitungsmethode SharedPreference Instanz aufrufen und es wird in einem Editor-Objekt zu erhalten. Die Syntax ist -
Editor editor = sharedpreferences.edit(); editor.putString("key", "value"); editor.commit();
Abgesehen von der putString Verfahren gibt es Verfahren, in dem Editorklasse, die Manipulation der Daten in gemeinsam genutzten Präferenzen ermöglicht erhältlich. Sie werden wie folgt aufgelistet:
Sr. NO | Modus und Beschreibung |
---|---|
1 | apply ()
Es ist eine abstrakte Methode. Es werden Ihre Änderungen vom Editor in die sharedPreference Objekt Sie anrufen zurück zu begehen
|
2 | clear ()
Es werden alle Werte aus dem Editor zu entfernen
|
3 | zu entfernen (String key)
Es wird der Wert, dessen Schlüssel als Parameter übergeben worden zu entfernen
|
4 | putLong (String key, long-Wert)
Es wird ein langer Wert im Einstellungseditor speichern
|
5 | putInt (String key, int value)
Es wird ein Integer-Wert in einem Einstellungseditor speichern
|
6 | putFloat (String key, Float-Wert)
Es wird eine Float-Wert in einem Einstellungseditor speichern
|
Beispiel
Dieses Beispiel zeigt die Verwendung des freigegebenen Einstellungen. Es zeigen einen Bildschirm mit einigen Textfeldern, deren Wert gespeichert werden, wenn die Anwendung geschlossen ist, und wenn er wieder geöffnet wird zurückgebracht.
Um bei diesem Beispiel zu experimentieren, müssen Sie diese auf einem Gerät auf, nachdem die Entwicklung der Anwendung gemäß den folgenden Schritten ausgeführt:
Schritte | Bezeichnung |
---|---|
1 | Sie werden Android-Studio verwenden, um ein Android-Anwendung unter einem Paket com.example.sairamkrishna.myapplication erstellen.Bei der Erstellung dieses Projekt, stellen Sie sicher SDK Ziel und Kompilieren Sie mit der neuesten Version des Android SDK zu höheren Ebenen der APIs verwenden. |
2 | Ändern src / MainActivity.java-Datei, um die Fortschritte Code hinzufügen, um die Spinnfortschrittsdialogfeld angezeigt werden soll. |
3 | Ändern Sie Datei res / layout / activity_main.xml zum jeweiligen XML-Code hinzufügen. |
4 | Führen Sie die Anwendung, und wählen Sie einen laufenden Android-Gerät und installieren Sie die Anwendung und überprüfen Sie die Ergebnisse. |
Im Anschluss ist der Gehalt des modifizierten MainActivity.java.
package com.example.sairamkrishna.myapplication; import android.content.Context; import android.content.SharedPreferences; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class MainActivity extends ActionBarActivity { EditText ed1,ed2,ed3; Button b1; public static final String MyPREFERENCES = "MyPrefs" ; public static final String Name = "nameKey"; public static final String Phone = "phoneKey"; public static final String Email = "emailKey"; SharedPreferences sharedpreferences; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ed1=(EditText)findViewById(R.id.editText); ed2=(EditText)findViewById(R.id.editText2); ed3=(EditText)findViewById(R.id.editText3); b1=(Button)findViewById(R.id.button); sharedpreferences = getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE); b1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String n = ed1.getText().toString(); String ph = ed2.getText().toString(); String e = ed3.getText().toString(); SharedPreferences.Editor editor = sharedpreferences.edit(); editor.putString(Name, n); editor.putString(Phone, ph); editor.putString(Email, e); editor.commit(); Toast.makeText(MainActivity.this,"Thanks",Toast.LENGTH_LONG).show(); } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } }
Im Folgenden ist der Gehalt des modifizierten Haupttätigkeit Datei res / layout / activiy_main.xml.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Shared Preference " android:id="@+id/textView" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:textSize="35dp" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Tutorials Point" android:id="@+id/textView2" android:layout_below="@+id/textView" android:layout_centerHorizontal="true" android:textSize="35dp" android:textColor="#ff16ff01" /> <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/editText" android:layout_below="@+id/textView2" android:layout_marginTop="67dp" android:hint="Name" android:layout_alignParentRight="true" android:layout_alignParentEnd="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" /> <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/editText2" android:layout_below="@+id/editText" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_alignParentRight="true" android:layout_alignParentEnd="true" android:hint="Pass" /> <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/editText3" android:layout_below="@+id/editText2" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_alignParentRight="true" android:layout_alignParentEnd="true" android:hint="Email" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Save" android:id="@+id/button" android:layout_below="@+id/editText3" android:layout_centerHorizontal="true" android:layout_marginTop="50dp" /> </RelativeLayout>
Im Anschluss ist der Gehalt des modifizierten Inhalt der Datei res / Werte / strings.xml.
<resources> <string name="app_name">My Application</string> <string name="hello_world">Hello world!</string> <string name="action_settings">Settings</string> </resources>
Im Anschluss ist der Inhalt Standarddatei AndroidManifest.xml.
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.sairamkrishna.myapplication" > <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
Lassen Sie uns versuchen, um Ihre Anwendung auszuführen. Ich nehme an, Sie Ihre aktuelle Android-Gerät mit dem Computer verbunden haben. Um die App vom Android-Studio, öffnen Sie eine der Aktivität Dateien Ihres Projekt auszuführen, und klicken Sie auf
Ausführen-Symbol in der Symbolleiste. Vor dem Start der Anwendung wird Android Studio Display folgende Fenster, um eine Option, wo Sie Ihre Android-Anwendung ausgeführt werden soll.
Wählen Sie Ihr Mobilgerät als Option und prüfen Sie dann Ihr mobiles Gerät die folgenden Bildschirm anzuzeigen wird -
Jetzt nur noch in einigen Text in das Feld setzen. Wie ich etwas zufälligen Namen und andere Informationen, und klicken Sie auf die Schaltfläche Speichern.
Nun, wenn Sie Taste Speichern drücken, wird der Text in den gemeinsam genutzten Einstellungen gespeichert werden. Drücken Sie jetzt Zurück-Taste und beenden Sie die Anwendung. Öffnen Sie es nun wieder, und Sie werden den ganzen Text Sie zurück in Ihre Anwendung geschrieben haben, zu sehen.
0 التعليقات:
Kommentar veröffentlichen