Я занимаюсь созданием своего первого приложения для Android с помощью Xamarin. Мне понадобится база данных, а документы Xamarin рекомендуют пакет NuGet «SQLite-net-pcl» (here). Когда я иду для установки этого пакета, он перечисляет около 50 зависимостей, которые он хочет установить! Сколько это будет увеличивать размер моего приложения?Xamarin Android SQLite.Net NuGet package
Является ли это нормальным с развитием Xamarin? Исходя из фона WPF, я признаю, что у меня пока нет головы вокруг всего этого .Net ядра/стандартного материала.
И почему документы рекомендуют этот пакет по встроенному пространству имен Android.Database.Sqlite? Легкость использования (пакета SQLite.net) перевешивает увеличение размера приложения?
Вы можете игнорировать ** большинство ** из этих зависимых пакетов, они не будут раздувать ваше окончательное приложение, только добавленные сборки, которые стали ссылками на сборки (через пакет), т.е. SQLite-net и SQLitePCLraw **** Вы можете использовать 'Android.Database.Sqlite' вместо этого? Конечно, можно и, следовательно, вы не захотите добавлять родную общую библиотеку SQLite (.so) в свой пакет приложений, но будете вынуждены использовать возможно более старый * SQLite.so, предоставляемый ОС, и должны использовать API-интерфейс Java для доступа SQLite, который чужд многим разработчикам C#. – SushiHangover
Независимо от того, что вы делаете ** не ** смешивайте два способа доступа, так как вы будете обращаться к вашему SQLite db через две разные собственные общие библиотеки, и, таким образом, повреждение данных/файлов является опцией. Встроенные приложения Nougat/7.0 для Android не разрешают доступ к собственной библиотеке 'SQLite.so' чем-либо, кроме классов Java' Android.Database.Sqlite'. Также помните, что доступ через классы Java 'Android.Database.Sqlite' приведет к генерированным классам ACW и небольшим накладным расходам из-за созданных одноранговых объектов, двух виртуальных машин, двух разных GC на этих объектах и т. Д. – SushiHangover
@ SushiHangover Я думаю, что я был потрясен, увидев так много перечисленных зависимостей пакетов, и был обеспокоен тем, что размер моего приложения будет баллоном в результате - зависимости, похоже, представляют значительную часть .Net! Наверное, такая штука «нормальная» на платформе Xamarin? –