xamarin使用oracle数据库,在Xamarin中使用本地数据库

在认为这是一件微不足道的事情之后,当我尝试设置快速测试项目时,我被证明是错误的。这篇文章将包含有关在Xamarin中为Android应用程序设置数据库的完整教程,该指南将方便将来的Xamarin用户参考。

乍看上去:

将Sqlite.cs添加到您的项目。

将您的数据库文件添加为资产。

设置数据库文件以将其构建为AndroidAsset。

从apk手动将数据库文件复制到另一个目录。

使用Sqlite.SqliteConnection打开数据库连接。

使用Sqlite在数据库上进行操作。

为Xamarin Android项目设置本地数据库

1.将Sqlite.cs添加到您的项目。

首先转到该存储库并下载Sqlite.cs;这提供了可用于对数据库运行查询的Sqlite API。将文件作为源文件添加到项目中。

2.添加数据库作为资产。

接下来,获取您的数据库并将其复制到您的Android项目的Assets目录中,然后将其导入到您的项目中,以使其出现在解决方案中的Assets文件夹下:

在此处输入图片说明

在整个示例中,我都使用从该站点重命名为db.sqlite的Chinook_Sqlite.sqlite数据库示例。

3.将DB设置为AndroidAsset。

右键单击数据库文件,并将其设置为build action AndroidAsset。这将确保它包含在APK的资产目录中。

在此处输入图片说明

4.手动将数据库复制到APK中。

由于数据库作为资产(包含在APK中)作为资产包含在内,因此您需要将其提取出来。

您可以使用以下代码执行此操作:

string dbName = "db.sqlite";

string dbPath = Path.Combine (Android.OS.Environment.ExternalStorageDirectory.ToString (), dbName);

// Check if your DB has already been extracted.

if (!File.Exists(dbPath))

{

using (BinaryReader br = new BinaryReader(Android.App.Application.Context.Assets.Open(dbName)))

{

using (BinaryWriter bw = new BinaryWriter(new FileStream(dbPath, FileMode.Create)))

{

byte[] buffer = new byte[2048];

int len = 0;

while ((len = br.Read(buffer, 0, buffer.Length)) > 0)

{

bw.Write (buffer, 0, len);

}

}

}

}

这将从DB提取DB作为二进制文件并将其放入系统外部存储路径。实际上,数据库可以放到您想要的任何地方,我只是选择将其放在此处。

我还读到Android拥有一个数据库文件夹,该文件夹将直接存储数据库。我无法使其正常工作,所以我只是使用这种使用现有数据库的方法来运行。

5.打开数据库连接。

现在,通过Sqlite.SqliteConnection类打开与数据库的连接:

using (var conn = new SQLite.SQLiteConnection(dbPath))

{

// Do stuff here...

}

6.在数据库上操作。

最后,由于Sqlite.net是ORM,因此您可以使用自己的数据类型对数据库进行操作:

public class Album

{

[PrimaryKey, AutoIncrement]

public int AlbumId { get; set; }

public string Title { get; set; }

public int ArtistId { get; set; }

}

// Other code...

using (var conn = new SQLite.SQLiteConnection(dbPath))

{

var cmd = new SQLite.SQLiteCommand (conn);

cmd.CommandText = "select * from Album";

var r = cmd.ExecuteQuery ();

Console.Write (r);

}

摘要

这就是向您的Android Xamarin解决方案中添加现有Sqlite数据库的方法!有关更多信息,请查看Sqlite.net库附带的示例,其单元测试以及Xamarin文档中的示例。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Xamarin是一个跨平台的应用开发工具,可以用于创建多个移动操作系统的应用程序,其包括安卓系统。在Xamarin安卓应用开发,可以使用SQLite数据库进行数据存储和管理。 SQLite是一种轻量级的数据库管理系统,它被广泛应用于移动应用程序的开发。SQLite数据库可以嵌入在应用程序,不需要额外的配置和安装,非常适合移动设备的资源有限性。 在使用Xamarin安卓进行开发时,可以通过NuGet包管理器引入SQLite.Net-PCL这个跨平台的SQLite数据库访问库。该库提供了一套简单、一致的API来访问SQLite数据库。 首先,在项目添加SQLite数据库文件(通常是一个.db或.sqlite文件),这个文件用于存储应用程序的数据。然后,通过SQLite.Net-PCL库提供的API,可以创建数据库表、插入、查询、更新和删除数据。 在使用SQLite数据库时,需要创建一个SQLite连接对象,并使用该对象执行相应的数据库操作。SQLite连接对象可以使用SQLite.Net-PCL库提供的SQLiteConnection类来创建,需要指定数据库文件的路径和连接选项。 例如,可以使用以下代码创建一个连接对象并打开数据库: ```csharp string databasePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "mydatabase.db"); SQLiteConnection connection = new SQLiteConnection(new SQLitePlatformAndroid(), databasePath); ``` 然后,可以使用连接对象执行SQL语句或使用ORM(对象关系映射)功能来操作数据库。例如,可以使用以下代码创建一个表并插入数据: ```csharp connection.CreateTable<MyTable>(); MyTable data = new MyTable { Id = 1, Name = "MyData" }; connection.Insert(data); ``` 总而言之,使用Xamarin安卓开发时可以使用SQLite数据库来实现数据的存储和管理。通过引入SQLite.Net-PCL库,可以方便地访问和操作SQLite数据库使用SQLite数据库可以有效地管理应用程序的数据,提升应用程序的性能和用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值