I'm having a go at creating my first Android app using Xamarin. I'll be needing a database, and the Xamarin docs recommend the "SQLite-net-pcl" NuGet package (here). When I go to install this package it lists approx 50 dependencies that it wants to install! How much is this going to increase the size of my app by?
Is this normal with Xamarin development? Coming from a WPF background I admit I haven't got my head around all this .Net core/standard stuff yet.
And why do the docs recommend this package over the built-in 'Android.Database.Sqlite' namespace? Does the ease of use (of the SQLite.net package) outweigh the increase in app size?
Android.Database.Sqliteinstead? Certainly can and thus you will avoid adding a SQLite native shared library (.so) to your app bundle but will be forced in using the possibly older SQLite.so provided by the OS and have to use a Java-style API to access SQLite which is foreign to a lot of C# devs.SQLite.solibrary by anything other than the JavaAndroid.Database.Sqliteclasses. Also remember that access via the JavaAndroid.Database.Sqliteclasses will result in ACW generated classes and a slight overhead due to the peer objects created, the two VMs involved, two different GCs on those objects, etc....csproj, you will see only refs to SQLite-net and SQLitePCLraw**** You can remove those "extra" refs if you do not want to see them in your package tree, but they will be re-added, the joys of new netstandard world. The actualXamarin.iOSandXamarin.Anrdoidframework assemblies will be used.