Android Delt Preferences Tutorial

Android gir mange måter å lagre data i et program. En av denne måten kalles Shared Preferences. Delt Innstillinger lar deg lagre og hente data i form av nøkkel, verdi-par.

For å kunne bruke felles preferanser, må du ringe en metode getSharedPreferences () som returnerer en SharedPreference eksempel peker til filen . inneholder verdiene av preferanser
SharedPreferences sharedpreferences = getSharedPreferences (MyPREFERENCES, Context.MODE_PRIVATE);

Den første parameteren er nøkkelen, og den andre parameteren er MODE. Bortsett fra private er det andre modi tilgjengelig som er listet opp nedenfor:
Sr.NoMode og description1 MODE_APPEND

Dette vil legge til de nye preferanser med de allerede eksisterende preferanser
2 MODE_ENABLE_WRITE_AHEAD_LOGGING

Database åpen flagg. Når det er satt, vil det gjøre det mulig skrive fremover logger som standard
3 MODE_MULTI_PROCESS

Denne metoden vil sjekke for modifisering av preferanser selv om sharedpreference eksempel har allerede blitt lastet
4 MODE_PRIVATE

Ved å sette denne modusen, filen kan bare nås ved hjelp av samtaleprogrammer
5 MODE_WORLD_READABLE

Denne modusen lar andre program for å lese preferanser
6 < b> MODE_WORLD_WRITEABLE

Denne modusen lar andre program for å skrive preferanser

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

Eksempel

Dette eksemplet viser bruken av de delte Preferences. Det vises en skjerm med noen tekstfelt, der verdien blir lagret når programmet er lukket og brakt tilbake når den åpnes igjen.

For å eksperimentere med dette eksempelet, må du kjøre dette på en faktisk enhet på etter utvikle programmet i henhold til trinnene nedenfor:
StepsDescription1You vil bruke Android studio for å 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 å vise spinning fremgang dialog.3Modify res /layout /activity_main.xml fil for å legge respektive XML code.4Run programmet og velge en som kjører Android-enhet, og installere programmet på den og verifisere resultatene.

Følgende er innholdet i den modifiserte MainActivity.java. Anmeldelser
pakken com.example.sairamkrishna.myapplication, import android.content.Context, import android.content.SharedPreferences, importere android.support.v7.app.ActionBarActivity, importere 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 strekker ActionBarActivity {EditText ed1, ED2, ED3; Button b1; 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 (); Toast.makeText (MainActivity.this, "takk", Toast.LENGTH_LONG) .vis ();}}); }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); }}

Følgende er innholdet i den modifiserte hovedaktivitet filen res /layout /activiy_main.xml
< RelativeLayout xmlns:. android = "http://schemas.android.com/apk /RES /Android "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 = "Lagre" android: id = "+ id /knapp" android: layout_below = "+ id /editText3" android: layout_centerHorizontal = "true" android: layout_marginTop = "50dp" /> < /RelativeLayout >

Følgende er innholdet i den modifiserte innholdet av filen res /verdier /strings.xml
. < resources > < string name = "APP_NAME" > My Application < /string > < string name = "hello_world" > Hei, verden <! /string > < string name = "action_settings" > Innstillinger < /string > < /ressurser >

Følgende er innholdet standardfilen 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 > < /søknad > < /manifest >

La oss prøve å kjøre programmet. Jeg antar at du har koblet den faktiske Android Mobile-enhet med datamaskinen. For å kjøre programmet fra Android studio, åpne en av prosjektets aktivitets filer, og klikk Kjør ikonet fra verktøylinjen. Før du starter programmet, vil Android studio vise følgende vindu for å velge et alternativ hvor du vil kjøre Android-applikasjon

Velg den mobile enheten som et alternativ, og deretter sjekke den mobile enheten som vil vise følgende skjermbilde og minus.;

Nå bare sette i noen tekst i feltet. Som jeg sette noen tilfeldig navn og annen informasjon, og klikk på Lagre-knappen.

Nå når du trykker på lagre-knappen, teksten vil bli lagret i den delte preferanser. Nå trykker tilbake-knappen og avslutte programmet. Nå åpner den igjen og du vil se all tekst du har skrevet tilbake i programmet. Anmeldelser