SQLite is a relational database management system (RDBMS). Instead of running a server process, SQLite databases are directly accessed by running the 'sqlite' binary. Note that development questions are off-topic.
What is SQLite?
SQLite is a relational database management system. Other than its bigger competitors, e.g. MySQL or PostgreSQL, it does not run a service to be contacted for interaction. Instead, to read/write the database, either a small executable (
sqlite for version2, or
sqlite3 for version 3 of SQLite) or a corresponding library is used. This makes SQLite a compact database using few resources and is predestined for embedded and other systems with limited resources.
Wikipedia puts it this way:
SQLite (/ˌɛskjuːɛlˈlaɪt/ or /ˈsiːkwɛl.laɪt/) is a relational database management system contained in a small (~350 KB) C programming library. In contrast to other database management systems, SQLite is not a separate process that is accessed from the client application, but an integral part of it.
Android uses SQLite for its apps to store their data. This applies not only to data of your manually installed apps, but as well to SMS/MMS, contact data, and metadata for your media files collected by the media-scanner.
If the corresponding SQLite binary is installed on your device (it not always is), databases can be accessed via adb (which usually requires a rooted device, see: rooting). But there are also apps in the Play Store that gives you this possibility directly from the device, as e.g. the SQLite Debugger. Having dragged databases to your computer (e.g. via
adb pull), you can also use the desktop SQLite reader software to handle them -- regardless of whether you're on a Linux, Mac, or Windows machine.
When should I use this tag?
It's of course best fit when your issue is about accessing SQLite databases on your Android device -- be it for debugging, troubleshooting, or simply investigation. Note that development questions are off-topic in this community.