Может ли кто-нибудь указать мне пример использования sqlite с Monodroid? Я не смог найти ни одного.Нужен пример sqlite с Monodroid
17
A
ответ
36
Мне явно нужно добавить демоверсию SQLite в образец ApiDemo.
Поскольку я не знаю, когда это произойдет, вот быстрые и грязные версии:
Однако использовать следующий код, который вы должны предназначаться для Android 2.2 или более поздней версии, чтобы использовать Mono.Data. Sqlite. Если вам нужно настроить таргетинг на более раннюю версию Android, вы должны изучить полностью управляемую замену, такую как managed-sqlite.
Кроме того, этот пример использует Mono.Data.Sqlite.dll, который включен в SDK MonoDroid.
Сначала отредактируйте свои ссылки на сборку проекта и добавьте ссылку для Mono.Data.Sqlite.dll
и System.Data.dll
.
Во-вторых, в исходном коде, добавьте:
using System.Data;
using Mono.Data.Sqlite;
Наконец, использование вы нормальный код 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();
Если вам нужны советы по работе с SQLite я также написал сообщение в блоге здесь: http://www.elucidsoft.com/blog/2011/12/31/mono-android-working-with-sqlite/ – emalamisura