2017-01-24 24 views
2

Xamarinを使用して最初のAndroidアプリを作成しています。私はデータベースを必要とし、Xamarinのドキュメントは "SQLite-net-pcl" NuGetパッケージ(here)を推奨しています。このパッケージをインストールすると、約50の依存関係がインストールされます。どのくらい私のアプリのサイズを増やすつもりですか?Xamarin Android SQLite.Net NuGetパッケージ

これは通常のXamarinの開発ですか? WPFの背景から来て、私はまだこのすべての.Netコア/標準のものの周りに私の頭を持っていないことを認めます。

なぜ、このパッケージを組み込みの 'Android.Database.Sqlite'名前空間よりも推奨していますか? SQLite.netパッケージの使いやすさは、アプリケーションのサイズの増加を上回っていますか?

+2

**これらの依存パッケージのほとんどは無視することができます。最終的なアプリケーションを膨らませることはなく、アセンブリ参照(パッケージ経由)、すなわちSQLite-net and SQLitePCLraw ****代わりに 'Android.Database.Sqlite'を使用できますか?確かにできるので、SQLiteネイティブ共有ライブラリ(.so)をアプリケーションバンドルに追加することは避けられますが、OSによって提供される可能性のある古い* SQLite.soを強制的に使用し、JavaスタイルのAPIを使用してアクセスする必要がありますSQLiteは、C#の開発者の多くに外国人です。 – SushiHangover

+1

あなたは何でも** 2つの異なるネイティブ共有ライブラリを介してSQLiteデータベースにアクセスするので、データ/ファイルの破損はオプションです** 2つのアクセス方法を混在させないでください。 Android Nougat/7.0のビルドされたアプリケーションでは、Javaの 'Android.Database.Sqlite'クラス以外のものによってネイティブ' SQLite.so'ライブラリにアクセスすることはできません。また、JavaのAndroid.Database.Sqliteクラスを介したアクセスは、作成されたピアオブジェクト、関連する2つのVM、それらのオブジェクト上の2つの異なるGCなどによってACWによって生成されるクラスとわずかなオーバーヘッドになります。 – SushiHangover

+0

@ SushiHangover私は、たくさんのパッケージの依存関係が表示されていることにショックを受けたと思うし、結果としてアプリケーションのサイズが大きくなることを心配していました。依存関係は.Netのかなりの部分を占めているようです。私はこの種のことがXamarinプラットフォームでは「普通」だと思いますか? –

答えて

2

これは、アプリのサイズをどのくらい増やす予定ですか?

リリースモードでアプリケーションをビルドしたときに、Xamarin links out(未使用のコードを削除しています)。あなたがSystem.IOから任意のメソッドを使用していない場合たとえば、アセンブリは、最終ビルド

には含まれません(SQLite.netパッケージの)使いやすさは、アプリサイズの増加を上回るでしょうか?

使いやすさと実際の利点は、iOSや他のプラットフォームでコードを再利用できることです。 Android.Database.Sqliteを使用すると、アプリを他のプラットフォームに移植する予定がある場合にはあまり役に立ちません。

どのような50個以上のアセンブリがアプリケーションに組み込まれるかはどのように決定されますか? https://www.youtube.com/playlist?list=PLRAdsfhKI4OWx321A_pr-7HhRNk7wOLLY - netstanderd上

依存関係は、それらの50+のアセンブリを引いて、それ以外の場合はSqliteをネット-PCLがちょうどSQLitePCLRaw.*アセンブリ

ここユーチューブ上の.NETエンジニアの一人からnetstanderdを説明する素敵なシリーズがありますが必要なものですあなたの質問に答えることを願っています

関連する問題