Session helfen Ihnen, wenn Benutzerdaten außerhalb der Anwendung zu speichern, so dass, wenn Sie das nächste Mal Nutzer verwenden Ihre Anwendung wünschen, können Sie leicht wieder seinen Einzelheiten und führen entsprechend.
Dies kann auf viele Arten erfolgen. Aber die einfachste und schönste Weg dies zu tun ist durch die Gemeinsame Einstellungen.
Gemeinschafts-Einstellungen
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);
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 aufgeführt -
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
|
Session Management durch gemeinsame Einstellungen
Um die Sitzungsverwaltung von gemeinsam genutzten Einstellungen durchführen, müssen wir die Werte oder Daten in gemeinsam genutzten Präferenzen in der gespeicherten überprüfen onResume Methode. Wenn wir die Daten nicht haben, werden wir die Anwendung von vorne beginnen, da es neu installiert. Aber wenn wir die Daten erhalten, werden wir von der, wo der Benutzer überlassen es zu starten. Es wird im folgenden Beispiel veranschaulicht:
Beispiel
Das folgende Beispiel demonstriert die Verwendung von Sitzungsverwaltung. Es Kästen einer einfachen Anwendung, die Sie zum ersten Mal anmelden können.Und dann, wenn Sie die Anwendung beenden, ohne sich abzumelden, werden Sie wieder an denselben Ort gebracht werden, wenn Sie die Anwendung erneut zu starten. Aber wenn man von der Anwendung abmelden, werden Sie zurück in das Hauptanmeldebildschirm gebracht werden.
Um bei diesem Beispiel zu experimentieren, müssen Sie diese auf einem Gerät oder einem Emulator laufen.
Schritte | Bezeichnung |
---|---|
1 | Sie werden Android Studio IDE verwenden, um ein Android-Anwendung unter einem Paket com.example.sairamkrishna.myapplication schaffen ;. 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 Session-Code hinzufügen. |
3 | Erstellen Neue Aktivitäten und nennen es als second.java.Edit diese Datei, um die Fortschritte Code hinzufügen, um Session-Code hinzufügen. |
4 | Ändern Sie Datei res / layout / activity_main.xml zum jeweiligen XML-Code hinzufügen. |
5 | Ändern Sie Datei res / layout / second_main.xml zum jeweiligen XML-Code hinzufügen. |
7 | 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. |
Hier beträgt der Gehalt an MainActivity.java.
package com.example.sairamkrishna.myapplication; import android.content.Context; import android.content.Intent; 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; Intent in; 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(); in = new Intent(MainActivity.this,second.class); startActivity(in); } }); } @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); } }
Hier beträgt der Gehalt an second_main.java.
package com.example.sairamkrishna.myapplication; import android.app.Activity; import android.content.Context; import android.content.SharedPreferences; import android.os.Bundle; import android.view.View; import android.widget.Button; import static com.example.sairamkrishna.myapplication.R.id.button3; /** * Created by Sairamkrishna on 4/7/2015. */ public class second extends Activity { Button bu=null; Button bu2=null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.second_main); bu=(Button)findViewById(R.id.button2); bu2=(Button)findViewById(R.id.button3); } public void logout(View view){ SharedPreferences sharedpreferences = getSharedPreferences(MainActivity.MyPREFERENCES, Context.MODE_PRIVATE); SharedPreferences.Editor editor = sharedpreferences.edit(); editor.clear(); editor.commit(); } public void close(View view){ finish(); } }
Hier beträgt der Gehalt an activity_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="login" android:id="@+id/button" android:layout_below="@+id/editText3" android:layout_centerHorizontal="true" android:layout_marginTop="50dp" /> </RelativeLayout>
Hier beträgt der Gehalt an activity_welcome.xml.
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Logout" android:onClick="logout" android:id="@+id/button2" android:layout_gravity="center_horizontal" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="191dp" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Close" android:onClick="close" android:id="@+id/button3" android:layout_below="@+id/button2" android:layout_centerHorizontal="true" android:layout_marginTop="69dp" /> </RelativeLayout>
Hier beträgt der Gehalt an strings.xml.
<resources> <string name="app_name">My Application</string> <string name="hello_world">Hello world!</string> <string name="action_settings">Settings</string> </resources>
Hier beträgt der Gehalt an 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" > <Aktivität 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> </ Tätigkeit> <Aktivität android: name = ".second"> </ Tätigkeit> </ application> </ manifest>
Lassen Sie uns versuchen, um Ihre Anwendung auszuführen. Ich nehme an, Sie AVD geschaffen hatte, während sie Umgebungskonfiguration. 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 Werkzeugleiste. Android-Studio installiert die App auf Ihrem AVD und startet es und wenn alles in Ordnung ist mit der Einrichtung und Anwendung, wird es folgende Emulator-Fenster anzuzeigen -
Geben Sie Ihren Benutzernamen und Ihr Passwort ein (geben Sie, was Sie wollen, aber denken Sie daran, was Sie eingeben), und klicken Sie auf Login-Button. Es ist in der Abbildung unten dargestellt -
Sobald Sie auf Login-Button klicken, gelangen Sie zu dieser Begrüßungsbildschirm gebracht werden. Jetzt Ihren Login-Daten in gemeinsam genutzten Präferenzen gespeichert.
Klicken Sie nun auf Beenden ohne Logout Button und Sie werden würde als Bild unten gezeigt werden zurück zum Home-Bildschirm und den Vorzug gebracht Datei ausgegeben werden
Wenn Sie myPref.xml Datei als Notiz-Datei öffnen, wäre es wie folgt
Wenn Sie auf Logout-Button klicken, wird es Präferenzwerte zu löschen. und wenn Sie andere Werte als Eingänge eingegeben haben, wird es diese Werte als Präferenz in XML eingeben
0 التعليقات:
Kommentar veröffentlichen