Necesito un ejemplo de sqlite con Monodroid
¿Puede alguien apuntarme a un ejemplo de uso de sqlite con Monodroid? No he podido encontrar ni siquiera uno.
- Comprobar la versión de Xamarin.Android mediante programación
- Xamarin y código c ++
- Xamarin Android con multidex - error en modo de depuración
- Registro Xamarin no manejado (Android sin capturar) excepciones
- Icono de aplicación Crear una información de superposición (número)?
- Desarrollo de iOS y Android en Windows
- ¿Cómo obtengo la dirección MAC y el dispositivo Android con 6.0 o superior en c #?
- Cómo transmitir datos de MediaCodec a AudioTrack con Xamarin para Android
- Async / esperar malas prácticas bajo Android?
- ¿Qué podría estar causando el error "OutputPath propiedad no está establecida para proyecto ProjectName.csproj" en mi proyecto MonoDevelop
- ¿Es posible ejecutar Xamarin Mono en Linux?
- Monodroid - Monodevelop limpia los datos del usuario mientras se despliega en el dispositivo
- No puede convertir implícitamente tipo 'System.IO.Stream' a 'Java.IO.InputStream'
Obviamente necesito agregar un demo de SQLite al ejemplo de ApiDemo.
Ya que no sé cuándo sucederá, aquí está la versión rápida y sucia:
Sin embargo, para utilizar el código siguiente, debe orientarse a Android 2.2 o posterior para utilizar Mono.Data.Sqlite. Si necesita orientar una versión anterior de Android, debe buscar una sustitución totalmente administrada, como managed-sqlite .
Además, este ejemplo está utilizando Mono.Data.Sqlite.dll , que se incluye en el MonoDroid SDK.
En primer lugar, edite sus referencias de ensamblado de proyecto y agregue una referencia para Mono.Data.Sqlite.dll
y System.Data.dll
.
En segundo lugar, dentro de su código fuente, agregue:
using System.Data; using Mono.Data.Sqlite;
Por último, use el código normal de ADO.NET:
string dbPath = Path.Combine ( Environment.GetFolderPath (Environment.SpecialFolder.Personal), "items.db3"); bool exists = File.Exists (dbPath); if (!exists) SqliteConnection.CreateFile (dbPath); var connection = new SqliteConnection ("Data Source=" + dbPath); connection.Open (); if (!exists) { // This is the first time the app has run and/or that we need the DB. // Copy a "template" DB from your assets, or programmatically create one. var commands = new[]{ "CREATE TABLE [Items] (Key ntext, Value ntext);", "INSERT INTO [Items] ([Key], [Value]) VALUES ('sample', 'text')" }; foreach (var command in commands) { using (var c = connection.CreateCommand ()) { c.CommandText = command; c.ExecuteNonQuery (); } } } // use `connection`... // here, we'll just append the contents to a TextView using (var contents = connection.CreateCommand ()) { contents.CommandText = "SELECT [Key], [Value] from [Items]"; var r = contents.ExecuteReader (); while (r.Read ()) MyTextView.Text += string.Format ("\n\tKey={0}; Value={1}", r ["Key"].ToString (), r ["Value"].ToString ()); } connection.Close ();