Shared Preferences er mikilvægur eiginleiki í þróun farsímaappa sem gerir forriturum kleift að geyma og sækja lítið magn gagna sem lykil-gildi-pör. Aðferðin er sérstaklega gagnleg til að geyma stillingar notenda, ástand appa eða önnur stillingargögn sem þurfa að haldast milli lota í appinu. Shared Preferences er hluti af Android-vettvanginum og býður upp á einfalda og skilvirka leið til að meðhöndla varanleg gögn án þess að þörf sé á flókinni uppsetningu gagnagrunns.
Þegar app notar Shared Preferences eru gögnin geymd í XML-skrá í innri geymslu appsins. Þetta gerir appinu kleift að nálgast og uppfæra gögnin hratt, sem bætir notendaupplifunina með því að halda óskum og stillingum notandans tiltækum og uppfærðum. Shared Preferences er hannað til að vera létt og einkabundið appinu, en það er ekki dulkóðað, sem gerir það að tilvöldum kosti fyrir gögn sem eru ekki viðkvæm í öppum sem eru bestuð bæði fyrir afköst og nytsemi.
Shared Preferences er einföld og skilvirk leið til að geyma lítið magn gagna sem lykil-gildi-pör í staðbundinni geymslu tækisins, sem gerir farsímaforritum kleift að halda stillingum notenda og ástandi forritsins milli lota. Þessi virkni er tilvalin til að geyma óskir notenda, svo sem þemastillingar eða hvort notandi er innskráður, þar sem hún býður upp á létta lausn án þess að þörf sé á gagnagrunni. Gögnin eru áfram tiltæk forritinu jafnvel eftir að því hefur verið lokað eða það endurræst, sem tryggir samræmda og persónulega notendaupplifun. Shared Preferences er sérstaklega gagnlegt þar sem þörf er á hröðum aðgangi að varanlegum gögnum og öryggiskröfurnar eru hóflegar, þar sem gögnin eru ekki dulkóðuð sjálfgefið; lykilorð og önnur leyndarmál ætti ekki að geyma þar ódulkóðuð.
Meira um Shared Preferences
Shared Preferences er mikilvæg tækni í þróun farsímaappa sem gerir einfalda og skilvirka geymslu lítils magns gagna sem lykil-gildi-pör mögulega. Aðferðin er tilvalin til að geyma stillingar notenda, óskir í forritinu og önnur varanleg gögn sem þurfa að haldast milli lota í appinu. Shared Preferences hentar sérstaklega vel þar sem hraður aðgangur að gögnum og auðveld notkun skipta sköpum, svo sem fyrir stillingar notenda, innskráningarstöðu og stillingar appsins.
Tæknilega geymir Shared Preferences gögn í XML-skrá sem er staðsett í innri geymslu appsins. Þegar app vill geyma eða sækja gögn á það samskipti við þessa skrá í gegnum API sem sér um les- og skrifaðgerðir. Þetta gerir Shared Preferences bæði skilvirkt og auðvelt í innleiðingu, sem er mikill kostur fyrir forritara sem vilja létta gagnastýringu án þess að þurfa að sinna flóknum gagnagrunnsaðgerðum.
Shared Preferences má nota í ólíkum aðstæðum, sem hver styður ólíka tegund gagnameðhöndlunar:
Geymsla stillinga notenda: Shared Preferences er notað til að geyma stillingar sem notandinn skilgreinir, svo sem þema, óskir um tilkynningar eða tungumálaval. Þetta tryggir að óskir notandans haldist jafnvel þegar appinu er lokað og það opnað aftur.
Lotustýring: Shared Preferences má nota til að geyma gögn tengd lotum, svo sem innskráningarstöðu eða notandaauðkenni, sem gerir appinu kleift að muna notandann milli lota án endurtekinna innskráninga. Aðgangstóka og önnur leyndarmál ætti að dulkóða áður en þau eru geymd.
Stillingargögn: Forrit geta geymt stillingargögn sem þarf fyrir virkni appsins, svo sem stillingar eiginleika eða sjálfgefin gildi, sem gerir auðvelt að aðlaga hegðun appsins án þess að breyta kóðanum. Leynilegir API-lyklar eiga ekki heima í Shared Preferences, þar sem hægt er að ná út öllu sem geymt er á tækinu.
Einn mesti styrkur Shared Preferences er einfaldleikinn og skilvirknin. Auðveldur aðgangur að gögnum í gegnum lykil-gildi-pör gerir forriturum kleift að innleiða varanlega gagnageymslu hratt án þess að þurfa að hafa áhyggjur af flóknum gagnagrunnsaðgerðum. Gögnin eru einnig aðeins aðgengileg viðkomandi appi, sem veitir ákveðið öryggi og friðhelgi.
Lítil notkun Shared Preferences á tilföngum er annar mikilvægur kostur. Tæknin krefst lágmarks geymslupláss og vinnslugetu, sem gerir hana tilvalda fyrir farsíma þar sem bestun tilfanga skiptir sköpum. Þar sem gögnin eru geymd í innri geymslu appsins eru þau einnig að jafnaði varin gegn aðgangi frá öðrum öppum.
Í framkvæmd hefur Shared Preferences lengi verið hefðbundna leiðin til að geyma einföld notendagögn í Android-öppum. Það er notað til að halda notendaupplifuninni samræmdri og persónulegri með því að muna óskir og stöðu notandans. Það er einnig notað til að besta afköst appsins með því að draga úr þörf fyrir endurteknar gagnabeiðnir og netköll.
Í stuttu máli er Shared Preferences tækni sem sameinar einfaldleika og skilvirkni í lausn sem gerir gagnageymslu innsæisríkari og aðgengilegri fyrir forritara. Hæfni hennar til að virka án flókinnar uppsetningar og með lágmarksnotkun tilfanga gerir hana að mikilvægu verkfæri í nútímalegri appþróun, þar sem hröð og áreiðanleg gagnameðhöndlun er nauðsynleg.
Algengar spurningar um Shared Preferences
Hvað eru Shared Preferences og hvernig virka þær í Android-þróun?
Shared Preferences í Android-þróun er aðferð til að geyma einföld gögn sem lykil-gildi-pör sem hægt er að nálgast úr ólíkum hlutum forrits. Aðferðin er tilvalin til að geyma lítið magn gagna, svo sem stillingar notenda eða stillingar forritsins, sem krefjast ekki gagnagrunns.
Þegar forrit notar Shared Preferences er búin til skrá sem inniheldur geymdu gögnin og þessi skrá er aðeins aðgengileg forritinu sem bjó hana til. Gögnin eru geymd í XML-skrá í innri geymslu forritsins, sem verndar þau gegn aðgangi annarra appa á venjulegu tæki sem hefur ekki verið rootað. Forritarar geta auðveldlega lesið úr og skrifað í þessa skrá með aðferðum á borð við getSharedPreferences(), edit(), putString() og commit() eða apply() til að vista breytingarnar.
Í samanburði við flóknari geymslulausnir á borð við SQLite-gagnagrunna er Shared Preferences mun einfaldara og fljótlegra í innleiðingu, sérstaklega þegar aðeins þarf að geyma einföld gögn sem krefjast hvorki skipulegrar geymslu né flókinna fyrirspurna. Þetta gerir Shared Preferences að skilvirkum kosti fyrir mörg forrit sem þurfa að geyma og sækja lítið magn gagna hratt og auðveldlega.
Hvernig eru gögn geymd og sótt með Shared Preferences?
Gögn eru geymd í Shared Preferences sem lykil-gildi-pör. Fyrst er SharedPreferences-hlutur sóttur, yfirleitt með getSharedPreferences og skráarheiti. Til að geyma gögn er editor opnaður með edit(), gildum bætt við með aðferðum á borð við putString eða putBoolean og breytingarnar vistaðar með apply(), sem skrifar ósamstillt, eða commit(), sem skrifar samstundis.
Gögn eru sótt með aðferðum á borð við getString eða getInt, þar sem lykillinn er tilgreindur ásamt sjálfgefnu gildi sem er notað ef lykillinn er ekki til. Fyrir nýrri Android-verkefni mælir Google oft með DataStore sem nútímalegri staðgengli, en meginreglan um lykla og gildi er sú sama.
Hvaða gagnatög er hægt að geyma í Shared Preferences?
Shared Preferences styður einföld gagnatög: textastrengi (String), heiltölur (int), langar heiltölur (long), tugabrotstölur (float) og sanngildi (boolean). Einnig er hægt að geyma mengi textastrengja (Set of String).
Flóknari hluti er ekki hægt að geyma beint. Hægt er að umbreyta þeim í texta, til dæmis sem JSON, en aðeins er mælt með því fyrir lítið gagnamagn. Shared Preferences er ætlað fyrir léttar upplýsingar á borð við stillingar notenda, valið þema eða hvort kynning hafi verið sýnd. Stærri eða skipuleg gögn eiga heima í gagnagrunni á borð við Room eða í skrám.
Hver er munurinn á Shared Preferences og öðrum geymsluaðferðum á borð við SQLite?
Shared Preferences geymir lítið magn gagna sem lykil-gildi-pör í skrá á tækinu. Það er einfalt í notkun en hentar ekki fyrir mikið eða flókið gagnamagn og raunverulegar fyrirspurnir eru ekki mögulegar.
SQLite, oft í gegnum Room, er venslagagnagrunnur sem getur meðhöndlað mikið magn skipulegra gagna, vensl milli taflna og háþróaða leit. Skrár henta vel fyrir myndir, skjöl og önnur stærri gögn. DataStore er nýrri valkostur Google í stað Shared Preferences með ósamstilltum aðgangi. Valið fer eftir gagnamagninu: stillingar í Shared Preferences eða DataStore, skipuleg gögn í gagnagrunn.
Hvernig eru gögn sem geymd eru í Shared Preferences tryggð?
Gögn í Shared Preferences eru geymd sem hreinn texti í einkamöppu appsins. Önnur öpp hafa að jafnaði engan aðgang, en á rootuðu tæki eða í gegnum tiltekin afrit er hægt að lesa skrána. Lykilorð, tóka og aðrar viðkvæmar upplýsingar ætti því ekki að geyma ódulkóðaðar.
Hægt er að dulkóða viðkvæm gögn áður en þau eru geymd, með lyklum sem geymdir eru í Android Keystore, sem er hannað til að vernda dulritunarlykla. Jetpack-safnið androidx.security:security-crypto bauð áður upp á EncryptedSharedPreferences í þessu skyni, en Google hefur merkt allt safnið, þar á meðal EncryptedSharedPreferences, EncryptedFile og MasterKey, sem úrelt frá útgáfu 1.1.0-alpha07 í apríl 2025. Ráðlegging Google er þess í stað að nota hefðbundin API vettvangsins, svo sem SharedPreferences, ásamt beinni notkun Android Keystore, þar sem lykill er búinn til með KeyGenerator og notaður til að dulkóða gildin áður en þau eru geymd. Almennt ætti að geyma eins litlar viðkvæmar upplýsingar á tækinu og mögulegt er.
Hvaða takmarkanir ætti að hafa í huga við notkun Shared Preferences?
Shared Preferences er ætlað fyrir lítið magn einfaldra gagna. Mikið gagnamagn getur hægt á appinu, því öll skráin er hlaðin inn í minni, og skrif með commit() á aðalþræðinum geta látið notendaviðmótið hökta.
Enginn innbyggður stuðningur er við flókna hluti, vensl eða fyrirspurnir og gögn eru ekki dulkóðuð sjálfkrafa. Ekkert týpuöryggi er heldur til staðar, svo rangur lykill eða rangt gagnatag uppgötvast fyrst þegar appið keyrir. Breytingar sem gerðar eru úr nokkrum ferlum samtímis eru ekki meðhöndlaðar á áreiðanlegan hátt. Fyrir flóknari þarfir er mælt með DataStore, Room eða dulkóðaðri geymslu.
Shared Preferences fyrir byrjendur
Shared Preferences er sniðugur eiginleiki í farsímaöppum sem gerir appinu kleift að muna litlar upplýsingar sem það hefur fengið. Hugsaðu þér það sem litla minnisbók þar sem appið getur punktað niður það sem það þarf að muna síðar. Til dæmis notar app sem man notandanafn, svo ekki þurfi að slá það inn í hvert sinn sem appið er opnað, Shared Preferences til að geyma þær upplýsingar. Þetta er auðveld og fljótleg leið fyrir öpp til að geyma gögn sem taka lítið pláss og þurfa að vera tiltæk næst þegar appið er notað.