Piekļūstiet privātajiem datiem operētājsistēmā Android

Saskaņā ar oficiālo izstrādātāja dokumentāciju, šeit ir datu glabāšanas iespējas operētājsistēmā Android:

  • Shared Preferences - glabājiet privātus primitīvus datus galveno vērtību pāros.
  • Iekšējā krātuve - glabājiet privātus datus ierīces atmiņā.
  • Ārējā krātuve - glabājiet publiskos datus koplietotajā ārējā krātuvē.
  • SQLite datu bāzes - uzglabāt strukturētus datus privātā datu bāzē.
  • Tīkla savienojums - glabājiet datus tīmeklī, izmantojot savu tīkla serveri.

Papildus tīkla savienojuma opcijai, visas pārējās iespējas ir visi pastāvīgie ierīces dati. Gan SharedPreferences, gan SQlite datu bāzes ir privāti dati, kas tiek glabāti ierīcē. Šie faili nav pieejami citām lietojumprogrammām vai lietotājiem, ja vien jūs neatrodaties emulatorā vai sakņotā ierīcē. Piedāvājam dažus veidus, kā piekļuvi un pārbaudu šiem privātajiem datiem, lai izstrādāšanas laikā atkļūdotu.

Piekļūstiet privātiem failiem

Emulatorā vai sakņotā ierīcē

Ja jūs izmantojat emulatoru vai sakņotu ierīci. Jums vajadzētu būt piekļuvei ierīces privātajai krātuvei. Failiem var piekļūt, izmantojot Android Studio GUI vai izmantojot komandrindu:

  • GUI - Android Studio atveriet Android Device Monitor no izvēlnes: Tools / Android / Android Device Monitor. Dodieties uz cilni File Explorer, pēc tam uz data / data / /. Atrodiet meklēto failu un no turienes varat ievietot un izvilkt failu.
  • Komandrinda - varat arī ievietot failu ierīcē vai izvilkt failu no ierīces, izmantojot adb:
adb pull remote-dir local-dir <- kopēt no ierīces uz vietējo mašīnu
adb push local-dir remote-dir <- kopēšana no vietējās mašīnas uz ierīci

Ierīcē, kas nav sakņojusies

Ja jūs nedarbojaties ar emulatoru vai sakņotu ierīci. No komandrindas:

adb apvalks
palaist kā  F
CD dati / dati / ...

Tagad jūs varat piekļūt failiem, kas atrodas ierīces iekšējā atmiņā. Lai izietu no apvalka, ierakstiet exit.

exit <- izeja no adb apvalka

Sqlite datu bāzes fails

Kad varēsit piekļūt SQLite datu bāzes failam emulatorā, sakņotā ierīcē vai caur adb apvalku / palaist kā [pakotnes nosaukums], ir dažas iespējas, kā pārbaudīt shēmu un ierīces SQLite datu bāzi.

Pārbaudiet SQLite db, izmantojot GUI rīku

Vispirms izvelciet failu no ierīces, pēc tam izmantojiet GUI programmatūru, lai apskatītu shēmu un saturu. Es izmantoju SQLite pārlūku, kas ļauj jums redzēt datu bāzes shēmu, tabulas saturu, kā arī izpildīt dažus vienkāršus SQL skriptus.

Pārbaudiet SQLite db, izmantojot komandrindas rīku sqlite3

Man vienkāršāka iespēja ir izmantot komandrindas rīku sqlite3, lai pārbaudītu datu bāzi no adb apvalka -

adb apvalks
CD dati / dati /  / datu bāzes /
sqlite3 
.tabulas
.schema 

Pēc datu bāzes faila izvilkšanas no ierīces varat arī izmantot sqlite3 lokāli, nevis apvalkā.

adb pull 
sqlite3 

Lietotnes datu nodzēšana

Tātad, strādājot ar SharedPreferences vai SQLite db operētājsistēmā Android, jums bieži ir jāizdzēš dati un jāsāk no jauna. Tātad, šeit ir dažas iespējas:

  • Atinstalējiet un atkārtoti instalējiet lietotni
  • Atveriet ierīces iestatījumus / Lietotnes / Atrodiet savu lietotni un noklikšķiniet uz tās / Krātuve / Notīrīt datus

Ir daudz vieglāk palīdzēt attīstības un atkļūdošanas procesā: instalējiet Android Studio spraudni ar nosaukumu ADB Idea. Lai instalētu spraudni, dodieties uz Android Studio / Preferences / Spraudņi, noklikšķiniet uz Pārlūkot krātuves un meklējiet “ADB Idea”. Instalējiet un restartējiet Android Studio, un sadaļā Rīki / Android / ADB Idea tiks parādīta spraudņa opcija. Pamēģināt. Šis spraudnis man ir ļoti noderīgs, ja man ir jāizdzēš lietotnes dati.

Izmantojiet bibliotēku

Ir arī citas iespējas, kā piekļūt un pārbaudīt privātos failus Android ierīcēs, izmantojot bibliotēku.

Viena no iespējām ir izmantot bibliotēku ar nosaukumu Android atkļūdošanas datu bāze, un jūs varat izlasīt sīkāku informāciju no autora emuāra ziņas šajā vietnē.

Ja vēlaties papildus tīkla datu bāzēm un SharedPreferences pārbaudīt tīkla savienojumus, izmantojiet Stetho atvērtā koda atkļūdošanas rīku, ko izstrādājis Facebook. Izmantojot Stetho, jūsu lietotnei jābūt atkļūdošanas režīmā, bet nav nepieciešama saknes pieeja. Tas ir jaudīgs rīks, kas ļauj atkļūdot lietotni, izmantojot Chrome izstrādātāja rīku.