Dostop do zasebnih podatkov v sistemu Android

Glede na uradno dokumentacijo za razvijalce so naslednje možnosti za shranjevanje podatkov v Androidu:

  • Skupne nastavitve - shranite zasebne primitivne podatke v pare ključ-vrednost.
  • Notranje shranjevanje - shranite zasebne podatke v pomnilnik naprave.
  • Zunanje shranjevanje - shranite javne podatke v skupni zunanji pomnilnik.
  • SQLite Databases - Shranjujte strukturirane podatke v zasebni bazi podatkov.
  • Omrežna povezava - shranite podatke v spletu s svojim omrežnim strežnikom.

Ostale možnosti so poleg možnosti omrežne povezave še trajni podatki na napravi. Tako SharedPreferences kot SQlite Baze podatkov so zasebni podatki, shranjeni v napravi. Te datoteke niso dostopne drugim aplikacijam ali uporabnikom, razen če uporabljate emulator ali zakoreninjeno napravo. Tu je nekaj načinov, kako dostopam do teh zasebnih podatkov in jih pregledujem za odpravljanje napak med razvojem.

Dostop do zasebnih datotek

Na emulatorju ali zakoreninjeni napravi

Če imate emulator ali zakoreninjeno napravo. Morali bi imeti dostop do zasebnega pomnilnika naprave. Do datotek lahko dostopate iz GUI Android Studio ali prek ukazne vrstice:

  • GUI - V Android Studio zaženite Android Device Monitor iz menija: Orodja / Android / Android Device Monitor. Pomaknite se na zavihek File Explorer, nato pa podatki / podatki / /. Poiščite želeno datoteko in lahko datoteko potisnete in povlečete od nje.
  • Ukazna vrstica - datoteko lahko potisnete tudi v napravo ali jo potegnete iz naprave prek adb:
adb pull-dir local-dir <- Kopiranje iz naprave na lokalni stroj
adb push local-dir remote-dir <- Kopirajte iz lokalnega stroja v napravo

Na napravi brez zakoreninjenja

Če ne izvajate emulatorja ali koreninske naprave. Iz ukazne vrstice:

adb lupine
teče kot  F
CD podatki / podatki / ...

Zdaj lahko dostopate do datotek v notranjem pomnilniku naprave. Za izhod iz lupine vnesite izhod.

izhod <- izhod iz adb lupine

Datoteka baze podatkov Sqlite

Ko lahko dostopate do datoteke baze podatkov SQLite na emulatorju, koreninski napravi ali prek adb lupine / zaženete kot [ime paketa], obstaja nekaj možnosti za pregled sheme in vaše baze podatkov SQLite na napravi.

Preglejte SQLite db z orodjem GUI

Najprej povlecite datoteko z naprave, nato pa si oglejte shemo in vsebino s programsko opremo GUI. Uporabljam brskalnik SQLite, ki omogoča prikaz sheme baze podatkov, vsebine tabel, pa tudi izvajanje nekaterih preprostih skriptov SQL.

Preglejte SQLite db z orodjem ukazne vrstice sqlite3

Zame je lažja možnost uporaba orodja sqlite3 ukazne vrstice za pregled baze podatkov iz lupine adb -

adb lupine
CD / podatki /  / baze podatkov /
sqlite3 
.tables
.schema 

Ko potegnete datoteko baze podatkov iz naprave, lahko uporabite lokalno namesto znotraj lupine lokalno sqlite3:

adb pull 
sqlite3 

Brisanje podatkov aplikacij

Ko torej delate s sistemom SharedPreferences ali SQLite db v Androidu, morate pogosto izbrisati podatke in začeti znova. Tukaj je nekaj možnosti:

  • Odstranite in znova namestite aplikacijo
  • Pojdite v Nastavitve naprave / Aplikacije / Poiščite aplikacijo in kliknite nanjo / Shramba / Počisti podatke

Obstaja veliko lažji način za pomoč pri razvoju in odpravljanju napak: namestite vtičnik Android Studio z imenom ADB Idea. Če želite namestiti vtičnik, pojdite na Android Studio / Preferences / Vtičniki, kliknite brskaj po skladiščih in poiščite »ADB Idea«. Namestite in znova zaženite Android Studio in prikazana bo možnost vtičnikov, prikazana pod Orodja / Android / ADB Idea. Poskusi. Ta vtičnik se mi zdi zelo koristen, ko moram izbrisati podatke aplikacij.

Uporabite knjižnico

Obstajajo druge možnosti za dostop do zasebnih datotek in pregledovanje zasebnih datotek na napravah Android z uporabo knjižnice.

Ena od možnosti je uporaba knjižnice z imenom Android Debug Database in o njej lahko preberete podrobnosti iz objave na spletnem dnevniku avtorja.

Če želite poleg zbirke podatkov in SharedPreferences pregledati omrežne povezave, uporabite Stetho odprtokodno orodje za odpravljanje napak, ki ga je razvil Facebook. Ko uporabljate Stetho, mora biti vaša aplikacija v načinu za odpravljanje napak, vendar ni potreben korenski dostop. To je močno orodje, ki vam omogoča odpravljanje napak v aplikaciji z orodjem za razvijalce Chrome.