Android Session Ledelse Tutorial

Session hjelpe deg når vil lagre brukerdata utenfor programmet, slik at når neste gang brukeren bruke programmet, kan du enkelt få tilbake sine detaljer og utføre tilsvarende.

Dette kan gjøres på mange måter. Men den mest enkleste og fineste måten å gjøre dette på er gjennom du Delt Preferences
.

Delt Preferences

Delt Innstillinger lar deg lagre og hente data i form av nøkkelen, verdi-par. For å kunne bruke felles preferanser, må du ringe en metode getSharedPreferences () som returnerer en SharedPreference eksempel peker til filen som inneholder verdiene av preferanser
SharedPreferences sharedpreferences = getSharedPreferences (MyPREFERENCES, Context.MODE_PRIVATE).;

Du kan lagre noe i sharedpreferences ved hjelp SharedPreferences.Editor klasse. Du vil ringe redigeringsmetode SharedPreference eksempel og vil motta den i en editor objekt. Syntaksen er −
Editor redaktør = sharedpreferences.edit (); editor.putString ("nøkkel", "value"); editor.commit ();

Bortsett fra putString metode, det finnes metoder tilgjengelig i redaktøren klasse som tillater manipulering av data i felles preferanser. De er oppført som følger −
Sr.NoMode og description1 gjelder ()

Det er en abstrakt metode. Det vil forplikte endringene tilbake fra redaktør til sharedPreference objektet du ringer
2 klart ()

Det vil fjerne alle verdier fra redaktøren
3 fjerne (String nøkkel )

Det vil fjerne verdien som nøkkelen har gått som en parameter
4 putLong (String nøkkel, lang verdi)

Det vil spare en lang verdi i en preferanse redaktør
5 putInt (String nøkkel, int verdi)

Det vil spare et heltall i en preferanse redaktør
6 putFloat (String nøkkel, float verdi) Anmeldelser

Det vil spare en dupp verdi i en preferanse redaktør

Session Ledelse gjennom Delt Preferences

For å utføre økten ledelse fra felles preferanser, trenger vi å sjekke verdiene eller dataene som er lagret i felles preferanser i onResume
metode. Hvis vi ikke har data, vil vi starte programmet fra begynnelsen som det er nylig installert. Men hvis vi fikk data, vil vi starte fra der brukeren forlot det. Det er vist i eksempelet nedenfor:

Eksempel

Eksempelet nedenfor viser bruken av Session Management. Det kasser en enkel applikasjon som lar deg logge inn for første gang. Og så når du avslutter programmet uten å logge ut, du vil bli brakt tilbake til samme sted hvis du starter programmet på nytt. Men hvis du logge ut fra programmet, vil du bli brakt tilbake til hovedpåloggingsskjermen.

For å eksperimentere med dette eksempelet, må du kjøre dette på en faktisk enhet eller i en emulator.
StepsDescription1You vil bruke android studio IDE å lage en Android-applikasjon under en pakke com.example.sairamkrishna.myapplication;. Mens du oppretter dette prosjektet, må du Target SDK og kompilere med på den nyeste versjonen av Android SDK til å bruke høyere nivåer av APIs.2Modify src /MainActivity.java fil for å legge fremgang kode for å legge økten code.3Create Ny aktivitet og det navnet som second.java.Edit denne filen for å legge fremgang kode for å legge økt code.4Modify res /layout /activity_main.xml fil for å legge respektive XML code.5Modify res /layout /second_main.xml fil for å legge respektive XML code.7Run søknaden og velge en som kjører Android-enhet, og installere programmet på den og verifisere resultatene

Her er innholdet i MainActivity.java
pakken com.example.sairamkrishna.myapplication;.. import android.content .Context, import android.content.Intent, import android.content.SharedPreferences, importere android.support.v7.app.ActionBarActivity, importere android.os.Bundle, importere android.view.Menu, importere android.view.MenuItem; import android.view.View, import android.widget.Button, import android.widget.EditText, import android.widget.Toast; public class MainActivity strekker ActionBarActivity {EditText ed1, ED2, ED3; Button b1; Intent i; public static endelige String MyPREFERENCES = "MyPrefs"; public static endelige String Name = "nameKey"; public static endelige String Phone = "phoneKey"; public static endelige String E = "emailKey"; SharedPreferences sharedpreferences; Override Beskyttet 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 (ny View.OnClickListener () {Override public void onClick (Vis v) {String n = ed1.getText () toString ();.. String ph = ed2.getText () toString (); String e = ed3.getText () toString ();. SharedPreferences.Editor redaktør = sharedpreferences.edit (); editor.putString (navn, n); editor.putString (Phone, ph), editor.putString (e-post, e), editor. forplikte (); i = new Intent (MainActivity.this, second.class), startActivity (i);}}); }Override Public boolean onCreateOptionsMenu (Meny menyen) {//Blås menyen; dette legger til elementer i handlingsfeltet hvis det er til stede. . getMenuInflater () blåse (R.menu.menu_main, menyen); return true; }Override Public boolean onOptionsItemSelected (MENUITEM element) {//Håndtak handlingen bar varen klikk her. Handlingsfeltet vil //automatisk håndtere klikker på Hjem /Opp-knappen, så lenge //som du angir en forelder aktivitet i AndroidManifest.xml. int id = item.getItemId (); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) {return true; } Returnere super.onOptionsItemSelected (element); }}

Her er innholdet i second_main.java
pakken com.example.sairamkrishna.myapplication;. import android.app.Activity, import android.content.Context; import android.content .SharedPreferences, importere android.os.Bundle, importere android.view.View, importere android.widget.Button, importere statisk com.example.sairamkrishna.myapplication.R.id.button3; /** * Laget av Sairamkrishna på 4 /7/2015. * /public class andre strekker Aktivitet {Button bu = null; Button BU2 = null; Override Beskyttet 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 utlogging (Vis vis) {SharedPreferences sharedpreferences = getSharedPreferences (MainActivity.MyPREFERENCES, Context.MODE_PRIVATE); SharedPreferences.Editor redaktør = sharedpreferences.edit (); editor.clear (); editor.commit (); } Public void close (Vis visning) {finish (); }}

Her er innholdet i activity_main.xml
< RelativeLayout xmlns:. android = "http://schemas.android.com/apk/res/android~~number=plural" xmlns: verktøy = "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" verktøy: kontekst = ". MainActivity" > < TextView android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "Delt Preference" android: id = "+ id /textView" android: layout_alignParentTop = "true" android: layout_centerHorizontal = "true" android: Tekststørrelse = "35dp" /> < TextView android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "Guider Point" android: id = "+ id /textView2" android: layout_below = "+ id /textView" android: layout_centerHorizontal = "true" android: Tekststørrelse = "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 = "Navn" 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 = "E-post" /> < Button android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "Logg inn" android: id = "+ id /knapp" android: layout_below = "+ id /editText3" android: layout_centerHorizontal = "true" android: layout_marginTop = "50dp" /> < /RelativeLayout >

Her er innholdet i activity_welcome.xml
< xml version = "1.0" encoding =.? "utf-8"> < RelativeLayout xmlns:? android = "http://schemas.android.com/apk/res/android" android: orientering = "vertikal" android: layout_width = "match_parent" android: layout_height = " match_parent "> < Button android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "Logg ut" android: onclick = "logg" android: id = "+ id /knappen2" 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 /knappen2 "android: layout_centerHorizontal =" true "android: layout_marginTop =". 69dp "/> < /RelativeLayout >

Her er innholdet i strings.xml
< resources > < string name = "APP_NAME" > My Application < /string > < string name = "hello_world" > Hei, verden <! /string > < string name = "action_settings" > Innstillinger < /string > < /ressurser >

Her er innholdet i AndroidManifest.xml
. <? xml version = "1.0" encoding = "utf-8" > < manifest xmlns:? android = "http://schemas.android.com/apk/res/android" pakken = "com.example.sairamkrishna.myapplication" > < søknad android: allowBackup = "true" android: icon = "@ Mipmap /ic_launcher" android: label = "@ streng /APP_NAME" android: tema = "@ stil /AppTheme" > < aktivitet android: ". MainActivity" name = android: label = "@ streng /APP_NAME" > < intent-filter > < handling android: name = "android.intent.action.MAIN" /> < kategori android: name = "android.intent.category.LAUNCHER" /> < /intent-filter > < /aktivitets > < aktivitet android: ". sekund" name = > < /aktivitets > < /søknad > < /manifest >

La oss prøve å kjøre programmet. Jeg antar at du hadde opprettet AVD mens du gjør oppsett miljø. For å kjøre programmet fra Android studio, åpne en av prosjektets aktivitets filer, og klikk Kjør ikonet fra verktøylinjen. Android studio installerer programmet på AVD og starter den, og om alt er bra med set-up og anvendelse, vil det vise følgende Emulator vindu −

Skriv inn ditt brukernavn og passord (skriv noe du vil, men husk hva du skriver)
, og klikk på login-knappen. Det er vist på bildet nedenfor −

Så snart du klikker på login-knappen, vil du bli brakt til denne velkomstskjermen. Nå påloggingsinformasjon lagres i felles preferanser.

Nå klikker du på Avslutt uten logout
knappen og du vil bli brakt tilbake til startskjermen og i preferanse filen ut put ville bli som vist nedenfor image

Hvis du åpner myPref.xml fil som notatfil, ville det være som følger

Hvis du klikker på 'Logg ut', det vil slette preferanseverdier. og hvis du har angitt ulike verdier som innganger, vil det gå inn disse verdiene som preferanse i XML