Akses Data Persendirian di Android

Menurut dokumentasi pemaju rasmi, berikut adalah pilihan untuk penyimpanan data pada Android:

  • Pilihan Perkongsian - Simpan data primitif peribadi dalam pasangan nilai utama.
  • Penyimpanan Dalaman - Simpan data peribadi pada memori peranti.
  • Penyimpanan Luar - Simpan data awam pada storan luaran yang dikongsi.
  • Pangkalan data SQLite - Menyimpan data berstruktur dalam pangkalan data peribadi.
  • Sambungan Rangkaian - Menyimpan data di web dengan pelayan rangkaian anda sendiri.

Selain dari pilihan sambungan rangkaian, pilihan lain adalah semua data berterusan pada peranti. Kedua-dua SharedPreferences dan SQlite Database adalah data peribadi yang disimpan pada peranti. Fail-fail ini tidak dapat diakses oleh aplikasi atau pengguna lain kecuali anda berada pada emulator atau peranti berakar. Berikut adalah beberapa cara bagaimana saya mengakses dan memeriksa data peribadi ini untuk debugging semasa pembangunan.

Akses fail peribadi

Pada emulator atau peranti yang berakar

Jika anda menjalankan emulator atau peranti berakar. Anda harus mempunyai akses ke storan peribadi peranti itu. Anda boleh mengakses fail dari Android Studio GUI atau melalui baris arahan:

  • GUI - Di Android Studio, mulakan Android Device Monitor dari menu: Alat / Monitor Android / Android Device. Navigasi ke tab File Explorer, kemudian data / data / . Cari fail yang anda cari, dan anda boleh menolak dan tarik fail dari sana.
  • Barisan arahan - anda juga boleh menolak fail ke peranti atau tarik fail dari peranti melalui adb:
adb tarik jauh-dir tempatan-dir <- Salin dari peranti ke mesin tempatan
adb push local-dir remote-dir <- Salin dari mesin tempatan ke peranti

Pada peranti yang tidak berakar

Jika anda tidak menjalankan pada emulator atau peranti berakar. Daripada baris arahan:

adb shell
run-as  F
data cd / data / ...

Sekarang anda boleh mengakses fail pada storan dalaman peranti. Untuk keluar dari shell, ketik keluar.

keluar <- keluar dari shell adb

Fail pangkalan data Sqlite

Sebaik sahaja anda dapat mengakses fail pangkalan data SQLite pada emulator, peranti berakar atau melalui adb shell / berjalan sebagai [nama pakej], terdapat beberapa pilihan untuk memeriksa skema dan pangkalan data SQLite anda pada peranti.

Periksa dsitit SQLite melalui alat GUI

Tarik fail dari peranti dahulu, kemudian gunakan perisian GUI untuk melihat skema dan kandungan. Saya menggunakan pelayar SQLite yang membolehkan anda melihat skema pangkalan data, kandungan jadual, serta melaksanakan beberapa skrip SQL mudah.

Periksa SQLite db melalui alat baris perintah sqlite3

Bagi saya pilihan yang lebih mudah adalah menggunakan alat arahan baris sqlite3 untuk memeriksa pangkalan data dari shell adb -

adb shell
cd data / data /  / database /
sqlite3 
.tables
.schema 

Sebagai alternatif anda boleh menggunakan sqlite3 tempatan bukannya dalam shell, selepas menarik fail pangkalan data dari peranti:

adb tarik 
sqlite3 

Memadamkan data aplikasi

Oleh itu, apabila anda bekerja dengan SharedPreferences atau SQLite db di Android, anda sering perlu memadam data dan memulakan semula. Jadi, terdapat beberapa pilihan:

  • Nyahpasang dan pasang semula aplikasinya
  • Pergi ke Peranti / Apl / Cari apl anda dan klik padanya / Penyimpanan / Kosongkan Data

Terdapat cara yang lebih mudah untuk membantu proses pembangunan dan debugging anda: memasang pemalam Android Studio yang dipanggil Ide ADB. Untuk memasang pemalam, pergi ke Android Studio / Pilihan / Plugin, klik pada Semak imbas repositori dan cari "ADB Idea". Pasang dan mulakan semula Studio Android dan anda akan melihat pilihan pemalam yang dipaparkan di bawah Alat / Idea Android / ADB. Mencubanya. Saya dapati plugin ini sangat berguna apabila saya perlu menghapus data aplikasi.

Gunakan perpustakaan

Terdapat pilihan lain untuk mengakses dan memeriksa fail persendirian pada peranti Android dengan menggunakan pustaka.

Satu pilihan ialah menggunakan perpustakaan yang dikenali sebagai Pangkalan Data Debug Android dan anda boleh membaca butir-butir dari catatan blog oleh penulis mengenai perkara ini.

Jika anda ingin memeriksa sambungan rangkaian sebagai tambahan kepada pangkalan data dan SharedPreferences, gunakan alat debugging sumber terbuka Stetho yang dibangunkan oleh Facebook. Apabila menggunakan Stetho, aplikasi anda perlu berada dalam mod debug tetapi tidak ada keperluan untuk akses root. Ia adalah alat yang berkuasa yang membolehkan anda menyahpepijat aplikasi anda menggunakan Alat Pemaju Chrome.