Android数据库存放的具体位置

风流意气都作罢 提交于 2020-01-29 08:58:26

用adb在命令行来看。

1、运行输入 adb shell (前提是模拟器正在运行) 
2、进入命令界面后 输入 ls 指令 会列出文件的目录 
3、cd 进入你想要的目录里 
4、一层一层进去后会发现 databases目录 你的数据文件就在这个目录下放着 
5、sqlite3 test  (test就是你创建的数据库的名称 注意:不要加.db 后缀) 
6、现在你就进入你创建的test数据库了使用  .tables 就可以查看所有的表了; 

 

adb shell 

# find data -name "*.db" -print 
data/data/com.google.android.providers.contacts/databases/contacts.db 
data/data/com.google.android.providers.googleapps/databases/accounts.db 
data/data/com.google.android.providers.im/databases/im.db 
data/data/com.google.android.providers.media/databases/media.db 
data/data/com.google.android.providers.telephony/databases/mms.db 
data/data/com.google.android.providers.telephony/databases/sms.db 
data/data/com.google.android.providers.telephony/databases/telephony.db 
data/data/com.google.android.providers.settings/databases/settings.db 
data/data/com.google.android.maps/databases/maps.db 

# sqlite3 data/data/com.google.android.providers.contacts/databases/contacts.db 
sqlite3 data/data/com.google.android.providers.contacts/databases/contacts.db 
SQLite version 3.5.0 
Enter ".help" for instructions 
sqlite> 

sqlite> .tables 

sqlite> .schema phones 
.schema phones 
CREATE TABLE phones (_id INTEGER PRIMARY KEY,person INTEGER,type INTEGER,number TEXT,number_key TEXT,label TEXT); 
CREATE INDEX phonesIndex1 ON phones (person); 
CREATE INDEX phonesIndex2 ON phones (number_key); 
CREATE TRIGGER phones_delete DELETE ON phones BEGIN UPDATE people SET _sync_dirty=1 WHERE people._id=old.person;END; 
CREATE TRIGGER phones_insert INSERT ON phones BEGIN UPDATE people SET _sync_dirty=1 WHERE people._id=new.person;END; 
CREATE TRIGGER phones_update UPDATE ON phones BEGIN UPDATE people SET _sync_dirty=1 WHERE people._id=old.person;END; 
CREATE TRIGGER preferred_phone_cleanup DELETE ON phones BEGIN UPDATE people SET preferred_phone = NULL WHERE preferred_phone = old._id; END; 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!