On Feb 27, 2012, at 2:36 PM, mkamoski wrote: > Would you recommend Android.Database.Sqlite or Mono.Data.Sqlite?
Mono.Data.Sqlite over Android.Database.Sqlite. However, we would suggest Sqlite-net, possibly in combination with csharp-sqlite. Sqlite-net is an ORM atop SQLite which works on MonoTouch, Mono for Android, and WP7 (when used with csharp-sqlite). Csharp-sqlite is a purely managed SQLite implementation which can run on WP7. Using Sqlite-net in combination with csharp-sqlite allows targeting iOS, Android, and WP7 devices: http://blog.xamarin.com/2012/02/24/mwc_2012/ https://github.com/xamarin/mobile-samples/tree/master/MWC This is a conjecture, but csharp-sqlite will probably also work on Android prior to v2.2. (I haven't tested this.) > (1). What does "MFA" mean? MFA and MfA are abbreviations for "Mono for Android". > (2). Will all my apps built with MonoDroid automatically have access to > "Mono.Data.Sqlite"? Only if you reference the assembly in your project. > (3). Is either "Android.Database.Sqlite" or "Mono.Data.Sqlite" always > guaranteed to be on all Android 2.2 (and up) devices? Android.Database.Sqlite exists in all API levels (it was added in API level 1). Mono.Data.Sqlite should work in all Android v2.2+ devices, though it is potentially not guaranteed: it's not part of the NDK, and thus needn't specifically be there, so it's plausible that some manufacturer could remove libsqlite.so. I haven't heard of any devices lacking libsqlite.so. > (4). Does using ""Android.Database.Sqlite" increase/decrease/leave-unchanged > the footprint of an installed app? Using Android.Data.Sqlite (over nothing) will increase the installed footprint as the linker will preserve all types and methods that you use from from that namespace. I don't know how much this will increase your footprint (it may be negligible), it will just be larger than 0. > (5). Does using "Mono.Data.Sqlite" increase/decrease/leave-unchanged the > footprint of an installed app? Using Mono.Data.Sqlite (over nothing) will increase the installed footprint as the linker will preserve all types and methods that you use from that assembly. I don't know how much this will increase your footprint. > (6). The code looks quite similar for each; so, what are the pros and cons > and limitations of each? Mono.Data.Sqlite code will work on iOS, and Android.Database.Sqlite code will not. Meanwhile, Android.Database.Sqlite will work on any Android version, while Mono.Data.Sqlite requires Android v2.2 or later. > (7). Is one or the other deprecated, favored, likely-to-phase-out, etc? Neither is deprecated, and I don't foresee us removing either, so it really comes down to portability (or lack thereof). - Jon _______________________________________________ Monodroid mailing list Monodroid@lists.ximian.com UNSUBSCRIBE INFORMATION: http://lists.ximian.com/mailman/listinfo/monodroid