2011-02-08 10 views
17

Czy ktoś może wskazać mi przykład użycia sqlite z Monodroid? Nie udało mi się znaleźć nawet jednego.Potrzebujesz przykładu sqlite z Monodroidem

+0

Jeśli potrzebujesz wskazówek na temat pracy z SQLite Ja też napisałem posta tutaj: http://www.elucidsoft.com/blog/2011/12/31/mono-android-working-with-sqlite/ – emalamisura

Odpowiedz

36

Oczywiście muszę dodać demo SQLite do próbki ApiDemo.

Ponieważ nie wiem, kiedy to się stanie, tutaj jest szybkie i brudne wersja:

jednak użyć poniższy kod musi być kierowania Android 2.2 lub nowszy, aby korzystać Mono.Data. Sqlite. Jeśli chcesz kierować wcześniejszą wersję Androida, powinieneś zajrzeć do całkowicie zarządzanego zamiennika, takiego jak managed-sqlite.

Ponadto w tym przykładzie użyto Mono.Data.Sqlite.dll, który jest dołączony do zestawu MonoDroid SDK.

Najpierw edytuj odniesienia do zespołu projektowego i dodaj numer referencyjny dla Mono.Data.Sqlite.dll i System.Data.dll.

Po drugie, w kodzie źródłowym, dodać:

using System.Data; 
using Mono.Data.Sqlite; 

Wreszcie stosowanie wy normalny kod 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(); 
+1

Dziękuję bardzo! To jest brakujące łącze dla mnie. – basheps

+1

+1 w podziękowaniu. To był brakujący link także dla mnie. –

+0

System.IO nie istnieje w Mono dla Androida .. Jak korzystać z Mono dla aplikacji typu Android? – dinesh

Powiązane problemy