How to browse sqlite data in xamarin? - sqlite

I have a list view in my app, some data is saving to the database before populating list view.
My problem is that can't see the data, and how to verify the data is stored in the database.

I am giving the solution for Visual Studio 2015 (worked for Xamarin).
Locate the database file mentioned in above image, and click on Pull button as it shown in image 2.
Save the file in your desired location.
You can open that file using SQLite Studio or DB Browser for SQLite to verify your data is saved.

You can use use a SQLite browser, such as the open-source multi-platform DB Browser for SQLite, or another tool of your choice.
Getting access to the sqlite file is the next thing:
iOS Simulator:
/Users/administrator/Library/Application Support/iPhone Simulator
You can browse simulator files from that directory in Mac OS X.
Android Emulator:
You can use the command line via adb shell command for browsing file system:
ls - list current directory
cd - change current directory
Once you find the Sqlite file for your app, you can use the pull cmd for copying the file from device (or emulator image):
adb pull /sdcard/file.txt file.txt

I solved this problem in a few steps:
On Windows:
Download a SQLite viewer, for example SQLiteStudio.
Find where the .db or .db3 file is stored, i did it this way:
var databasePath = Path.Combine(FileSystem.AppDataDirectory, "localDB.db3");
Console.WriteLine(databasePath);
For me the path was: /data/user/0/com.companyname.[name]/files/localDB.db3
Find where the Android Debug Bridge (adb) .exe is stored. For me it was stored at: C:\Users[user]\AppData\Local\Android\Sdk\platform-tools. (AppData is a hidden folder, so make sure that hidden folders are visible.
Open a command prompt at this folder.
Try to copy the database file to a local folder on your machine by entering the following line into the command prompt:
adb pull [path to database] [path to local folder]
results in:
adb pull /data/user/0/com.companyname.[name]/files/localDB.db3 C:\Users\[user]\Desktop
If you get an error "Failed to stat remote object ... Permission denied", you have to make sure you have root permission. To do this, enter the following line in the command prompt:
adb root
Try to copy the file again.
If the file is succesfully copied, open it with SQLiteStudio.
et voila

Here is how you can access the sqlite database file in xamarin forms using Rider IDE:
Set your db path
private string GetDatabasePath()
{
return Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal), "db.db");
}
Logging Environment.GetFolderPath(Environment.SpecialFolder.Personal) prints this path on my device
/data/user/0/com.companyname.landpriceexplorer/files
Click the Device File Explorer tab on the right side.
Search for the database file in the device file explorer.
Double click the file to add to the data source.
Open the Database tab and browse your data there.

Related

How do I open a sqflite database file in DB Browser for SQLite?

I have a Flutter/Dart application that I am coding using Android Studio. I use a database called envirodatabase.db with the sqflite package. I want to open the database in DB Browser for SQLite on my computer, but the only way it lets me do that is through saving a copy of the file, not the file itself.
How do I open the original file in DB Browser for SQLite?
Here is my Device File Explorer
What I tried doing was I right clicked > Save As in the Device File Explorer where my app's database was. I saved it to my desktop and opened it, but the changes don't update the original file.
Similar questions with different problems:
Viewing sqlite database file using DB browser for SQlite
Android Studio saves files you open this way in a temporary directory outside of your project. If you make modifications to a file you opened using the Device File Explorer, and would like to save your changes back to the device, you must manually upload the modified version of the file to the device.
https://developer.android.com/studio/debug/device-file-explorer
What I had to do was, back in the Device File Explorer, after saving to Desktop and making changes,
Right click the folder
Click Upload
Select the file with the database changes
(Not sure if this is needed but I did it just to be safe) Right click the folder or file and click synchronize
Hot restart the application (hot reload may also work, but again, just to be safe).

How to install realm studio on linux/Ubuntu?

I have downloaded realm-studio-1.20.0-x86_64.AppImage from realm studio. How do I install this image in order to browse encrypted realm
mobile database on my personal machine that is either exported or fetched from emulator or real device.
Note: I don't want to use stetho plugin for chrome as it dose not support encrypted realm mobile database browsing.
It is actually quite easy, all you need to do is set its privilege to be executable:
chmod +x realm-studio-1.20.0-x86_64.AppImage
And then you can run it now
./realm-studio-1.20.0-x86_64.AppImage
For someone how want to access .AppImage file using UI, follow below steps.
Make it executable by following Right Click on .AppImage file >> Properties >> Permission Tab >> Check “Allow executing the file as program.
Now run the program by double click on .AppImage file.

WP7: Where is SQLite db file Stored/Located?

I am using sqlite in my app, i want to edit some data in my database,for that i want to open it using any sqlite administration tool. but i dont know where the file is located.
i am workring in windows phone 7
If you want to get the database that is stored in your emulator then you can use the "Isolated Storage Explorer".
Just follow the instructions on the link below and it will show you how to retrieve/save the database from/to your emulator
Isolated Storage Explorer
As ry8806 said. it worked for me
i did the following ;
get my app Product id from WMAppManifest.xml file
then open "Program Files\Microsoft SDKs\Windows Phone\v7.1\Tools\IsolatedStorageExplorerTool" in command line and
typed : ISETool.exe ts xd (Product GUID) (desktop-path)
I get all the files stored in isolated stroge.

How do I use SQLite to read data from the Firefox cookies file?

In my Firefox profile directory there is a cookies.sqlite file which holds the data for Firefox's cookies. I grabbed the Firefox SQLite Manager extension and loaded this file, which works, but how can I use plain query commands to read the cookies out of that file?
This is what I've tried so far:
$ sqlite3 cookies.sqlite
sqlite> SELECT * FROM dbname.sqlite_master WHERE type='table';
SQL error: file is encrypted or is not a database
I can't even list the tables, so I'm not able to start trying to list the cookies yet. If I can connect I'd like to be able to read and write data there, but I'm new to SQLite.
I had the same problem trying to read the cookies.sqlite file on Mac OS 10.6.8 (Snow Leopard). I downloaded SQLite 3.7.10 from http://www.sqlite.org/download.html and then I could open the file.
Here's a walkthrough of what I did...
Download SQLite 3, go to your downloads folder and unzip the file so that you now have a new SQLite 3 sitting in your downloads folder.
Open up a new finder window, press CMD + Shift + G, in the 'go to' dialog that pops up enter ~/Library/Application Support/Firefox/Profiles and then press return.
Presuming you only have one Firefox profile, you should see a folder here called XXXXXXXX.default (where the XXX string will be some random characters). Open this folder, or if you have more than one profile, open the folder of the profile you are looking for.
Inside you will find the cookies.sqlite database file, you can use this here directly, but you might want to make a copy somewhere else to use without risk of messing up the one that Firefox uses. If you want to use the Firefox one directly then I think you have to quit Firefox first, otherwise it has a lock on the file.
Open a new terminal window, and drag the sqlite3 binary from the downloads folder to the terminal window, this should enter the path to sqlite3 onto the command line.
Now, drag the cookies.sqlite3 database (the original or your copy) to the terminal, press return in the terminal.
If all goes well you should get the sqlite> command prompt. If you enter .tables you should see the table moz_cookies, which you can then query and investigate further.
The following commands might help:
.mode column
.headers on
select * from moz_cookies where domain = '.stackoverflow.com';
You should see all the values stored in your cookie for this site.
If you want to update the existing sqlite3 on your Mac, I did sudo mv /usr/bin/sqlite3 /usr/bin/sqlite3.old (just in case of any future problems, I can move it back again) and then sudo mv ~/downloads/sqlite3 /usr/bin/sqlite3.
I was able to open it with DBeaver, an open source universal database manager.
Use sqlite3
sqlite3 file.sqlite
Then use the below command to view the tables
.tables

Accessing SQLite database in android emulator

i am working on an android app which stores data in sqlite db i want to be able to access the data that is currently stored in the emulator. How do i go about connecting to it and perform sql operations.
Open a terminal window
Get a list of AVD devices by entering: adb devices
If your terminal can't find the adb command then have a look at this post for OSX or Windows.
Start a shell connection to your AVD by entering: adb -s emulator-xxxx shell
Browse to the databases location: cd data/data/your.package.name/databases
Type sqlite3 xxxxx.db
For SQLite shell instructions see Command Line Shell For SQLite
There is an example on that link about "sqlite command in adb"
In the eclipse, go in to FileExplorer, here you will find three root folders: here go in to
1.data
2.go in to data folder again
3. here you will find all the package names of the applications.
4. once you find your projects particular package, click on it.
5.you will see a folder called 'databases'
6.in that folder you will get the sqlite db file.
7.in order to pull it out of the emulator, just click on it and on the
top right corner you will find 3 icons: one to delete, one to pull a file from device and the other to push file in the device.
8. after selecting the db file, click on the icon that says 'pull a file from the device'.
Thats it mate ...cheers.

Resources