android \data\data folder empty - android

i have created a db in the phone and have inserted some values in it as well. now there is a large excel sheet which contains several more records that need to be inserted.
i am trying to find the db file in the phone so as to use sql lite db tool to upload some data in it. but the folder is empty.
can any one suggest or guide.
thanks

If you are on a real phone the /data folder will appear empty unless you have root access. An application like root explorer can allow you access to these folders (with the proper permissions). This probably isn't what you want to/should do.
If you are on an emulator you can use the file explorer in eclipse to browse your phones data/data/package folders and copy your database to and from the emulator quickly (or use adb shell commands).
Are you just doing this to test something? You should have your application insert the data you want, or create your own SQLite database and package it with your application. If you externally modify your database like this, reinstalling the application - or installing it on a different device - would result in an application still using your old/unmodified database.

Related

Can use DB Browser program with my application database?

I'm facing some problems dealing with the database and I want to keep track of the elements in the database if it is possible
i didn't understand, i haven't install it yet in my phone on debug
mode
If the phone isn't rooted and you've stored the database in the default location (most likely), then it will be in a protected area and cannot be directly accessed. If the phone has been rooted then you'd have access.
However, typically you'd use an emulator to develop an App rather than a real device (e.g. Android Studio's build in emulator or perhaps GenyMotion) and access to the databse is then generally possible via clicking on Device Explorer from within Android Studio e.g. :-
After clicking click on the data folder and then click on the data folder within the dta folder and then find the folder that equates to the package (as per your App) and then click on that. There would be a databases folder and the database file will be the file that is named exactly the same as the database e.g.
the package for the database in the example screenshot (not the same as the former App to reduce the screen size) is aaa.so553322709simpleloggingexample and the datbase name is mydb (as this is on Android Pie and that the database is using the default WAL mode then the -shm and -wal files also exist).
You can right click on the database file and then on Save-As to save the file on the PC. You can then open the file with your SQL Management Tool (e.g DB Browser).
You can access to db file of your application in Device File Explorer.
data-->data-->your app package name-->databases
then save as it and see it in DB browser.
Also you can pull db file with adb

Android and access to database

I have a question about access to database. I have a database, but I can't see this database in data on my davice. On emulator in data I can see this database but on device data folder is empty. I need to do this because when I want to see database in DDMS perspectiv with emulator, my eclipse is stuck and I must restart.
Android doesn't provide access to its application data folders in a device. You can either root your device(which essentially means you give everyone access to all files in your device) or you could move the db to sdcard (if that is a possible option). You can access files in sdcard from adb.
You can access the database using ADB from the terminal (in android tools folder or platform folder). You can't access the database in the device unless you root your device. That's to restrict the application data from being open . (Other application's data).

Finding SQL Database File on Android Mobile Phone

I've created an application that uses an Android SQL database. Is there any way to find this database on the Mobile Phone that the Application is installed to?
Essentially I want to then use an SQL Database Viewer to look at all the rows?
root/data/data/package/databases/database
it should be in a file like that, in the emulator you can go straight to this using the file explorer in ddms, otherwise a rooted phone and ES file explorer
if you're using the emulator you can use the adb tool in the sdk-platform folder of the android install.
something like the following:
./adb shell
#sqlite3 /data/data/com.example.package/databases/database.db
you should then be able to do your queries.
If its on a phone, then try extract the database like above and use the sqlite3 tool to query that database.
A similar question has been answered here: https://stackoverflow.com/a/4556642/450534
The same answer provided there is:
If for whatever reason, you need to access the database on the phone, you must have root access (superuser in other words) on the phone. Then you will need a file explorer that uses root permission to give you access to the system files.
If all the above exists, then you will find the application database in:
/data/data/com.yourpackage.name/databases.

Cannot find location of SQLite database file on Galaxy Nexus

I opened a SQLite database in my project. To see if the db was actually created I went to Data/Data to find the package name... not there. While testing I would like the ability to delet the file.
So I added data to the db, then read it out. This works fine, but still no file at either /Data/Data, or at /Android/Data/Data. Is the file hidden? Other dowloaded aps have data at /Data/Data/package/... but not the one I wrote. It does exist - I can read and write to/from it, but cannot find it.
//data/data/Your-Application-Package-Name/databases/your-database-name NOT THERE
Using a Samsung Galaxy Nexus for testing, not the emulator. The Nexus does not have external SD memory card.
SQLite databases are only accessible to the creating project, but is there a tool that can access it externally? I have sqlitebrowser (awsome) i will try if I can find the file.
I would try to Root the Nexus, but I can already see /Data/Data/ other items/Data/their data, so hopefully I do not have to go that route.
You're not able to access any contents of /data/data if you access it from adb shell without first rooting the device. Shell is considered as another app (more precisely another linux user), so it's prevented from accessing other app's data in /data/data.
Root the device or use emulator to see the data.
Personally I really recommend rooting the device for development.

Android SQLite path

I am working with SQLite in an App. It writes to the database, etc., with no problem. However, I can not find this new database. I have tried changing the directory with cd /data/data/packageName/databases, but it says "no such file or directory". Also, this database is not found when I click on the File Explorer in eclipse. My logging tells me the database was created and that it is being written to. I think I need to set the path in the shell or something to that effect using adb, but I have no idea how to do that. Can anyone give me some instruction? Also, I am using my phone for development. The database also does not show up when using the emulator.
Thanks very much.
Matt
Matt,
This thread gives a good explanation on why you might not be able to access the data folder on your phone.
Can't access data folder in the File Explorer of DDMS using a Nexus One!
You can still test the Sqlite code though. Just boot up an emulator. The emulator will have no access restrictions. Once it's booted up you can use the ddms tool (located in the tools directory under your android SDK install folder). It has a File Explorer and you can download the files from the /data folder.
Also, I am using my phone for development.
You cannot access the database on a standard Android device except via your own application code.
Your options are:
Do this sort of testing on an emulator, in which case you can access the directory that you are failing to access on the device
Add a database backup feature to your app, that copies the (closed) database to external storage, so you can examine it
Root your phone (leastways, I am under the impression this can help get you to this directory -- haven't done it myself)
The database also does not show up when using the emulator.
Try harder. If you can store data in the database and read data out of it using SQLiteDatabase, then the database file is there.

Categories

Resources