Pristupite privatnim podacima na Androidu

Prema službenoj dokumentaciji za razvojne programere, evo opcija za pohranu podataka na Androidu:

  • Zajedničke postavke - pohranite privatne primitivne podatke u parove ključ i vrijednost.
  • Unutarnja pohrana - pohranite privatne podatke u memoriju uređaja.
  • Vanjska pohrana - pohranite javne podatke u zajedničku vanjsku pohranu.
  • SQLite baze podataka - pohranite strukturirane podatke u privatnu bazu podataka.
  • Mrežna veza - Spremite podatke na webu s vlastitim mrežnim poslužiteljem.

Osim opcije mrežne veze, ostale opcije su svi trajni podaci na uređaju. I SharedPreferences i SQlite baze podataka privatni su podaci pohranjeni na uređaju. Te datoteke nisu dostupne ostalim aplikacijama ili korisnicima ako niste na emulatoru ili ukorijenjenom uređaju. Evo nekoliko načina na koji pristupam privatnim podacima i pregledavam ih zbog uklanjanja pogrešaka tijekom razvoja.

Pristupite privatnim datotekama

Na emulatoru ili ukorijenjenom uređaju

Ako koristite emulator ili ukorijenjeni uređaj. Trebali biste imati pristup privatnoj pohrani uređaja. Datotekama možete pristupiti iz Android Studio GUI-a ili putem naredbenog retka:

  • GUI - U Android Studio pokrenite Android Device Monitor s izbornika: Alati / Android / Android Device Monitor. Dođite do kartice File Explorer, a zatim podaci / podaci / /. Pronađite datoteku koju tražite i datoteku možete odgurnuti i izvući.
  • Naredbeni redak - datoteku možete i gurnuti na uređaj ili je povući s uređaja putem adb:
adb povuci daljinski dir local-dir <- Kopiraj s uređaja na lokalni stroj
adb push local-dir-dir <- Kopirajte s lokalnog stroja na uređaj

Na uređaju bez korijena

Ako se ne pokrećete na emulatoru ili ukorijenjenom uređaju. Iz naredbenog retka:

adb školjka
run-as  F
CD podaci / podaci / ...

Sada možete pristupiti datotekama u unutarnjoj pohrani uređaja. Za izlaz iz ljuske upišite izlaz.

exit <- izlaz iz adb ljuske

Sqlite datoteka baze podataka

Nakon što ste u mogućnosti pristupiti datoteci SQLite baze podataka na emulatoru, korijenjenom uređaju ili preko adb shell-a / trčanje kao [naziv paketa], postoji nekoliko opcija za uvid u shemu i vašu SQLite bazu podataka na uređaju.

Pregledajte SQLite db putem GUI alata

Prvo povucite datoteku s uređaja, a zatim koristite grafički softver da biste pogledali shemu i sadržaj. Koristim SQLite preglednik koji vam omogućuje vidjeti shemu baze podataka, sadržaj tablice, kao i izvršavanje nekih jednostavnih SQL skripti.

Pregledajte SQLite db putem sqlite3 alata naredbenog retka

Za mene je jednostavnija opcija upotreba sqlite3 alata naredbenog retka za pregled baze podataka iz adb shell -

adb školjka
CD podaci / podaci /  / baze podataka /
sqlite3 
.tables
.schema 

Alternativno, sqlite3 možete koristiti lokalno umjesto unutar ljuske, nakon što izvadite datoteku baze podataka s uređaja:

adb povući 
sqlite3 

Brisanje podataka aplikacija

Kada radite s SharedPreferences ili SQLite db na Androidu, često morate obrisati podatke i započeti ispočetka. Dakle, evo nekoliko opcija:

  • Deinstalirajte i ponovo instalirajte aplikaciju
  • Idite na Postavke uređaja / Aplikacije / Pronađite svoju aplikaciju i kliknite na nju / Pohrana / Brisanje podataka

Postoji mnogo lakši način da vam pomogne u razvoju i uklanjanju pogrešaka: instalirajte dodatak za Android Studio zvan ADB Idea. Da biste instalirali dodatak, idite na Android Studio / Postavke / Dodaci, kliknite na Pregledaj spremišta i potražite "ADB Idea". Instalirajte i ponovo pokrenite Android Studio i vidjet ćete opciju dodatka koja će se pojaviti u odjeljku Alati / Android / ADB Idea. Pokušati. Smatram da je ovaj dodatak super koristan kada moram obrisati podatke aplikacija.

Koristite knjižnicu

Postoje i druge mogućnosti pristupa i pregledavanja privatnih datoteka na Android uređajima pomoću knjižnice.

Jedna od opcija je korištenje biblioteke koja se zove Android Debug Database i na njoj možete pročitati detalje iz posta na blogu od autora.

Ako želite provjeriti mrežne veze pored baze podataka i SharedPreferences, koristite Stetho alat za uklanjanje pogrešaka otvorenog koda koji je razvio Facebook. Kada koristite Stetho, vaša aplikacija mora biti u načinu uklanjanja pogrešaka, ali nema potrebe za korijenskim pristupom. To je moćan alat koji vam omogućuje uklanjanje pogrešaka u aplikaciji pomoću alata za razvojne programere Chrome.