【问题标题】:Does C#, Android, and SQLite work together?C#、Android 和 SQLite 可以一起工作吗?
【发布时间】:2017-07-13 09:16:00
【问题描述】:

我试图实现一个系统,我的 C# 程序可以将值插入 SQLite 数据库,而我的移动 android 应用程序可以检索 SQLite 中的数据。请注意,其中三个不在同一台 PC 中。有人可以告诉我它在概念上会起作用吗?

P/S : 我是 C#、SQLite 和 Android 的新手。

【问题讨论】:

  • 为什么不呢?只要您使用的通信协议不是特定于平台的,就应该没问题。 HTTP 上的 XML 或 JSON(可能是 SOAP,可能是 REST)将是简单的平台中立机制。
  • 我对此表示怀疑,因为我读了一本书说 SQLite 不是客户端/服务器数据库,这就是我担心它的原因。感谢您的善意建议。

标签: c# android sqlite


【解决方案1】:

从概念上讲,它可以工作。您必须将 SQLite 数据库托管在 C# 应用程序和 Android 应用程序都可以从不同位置访问的远程计算机上。

数据库的伟大之处在于它们不是为仅使用某种语言而构建的。任何具有内置或通过第三方的编程语言,以及连接到您正在使用的数据库类型的方式,都可以使用它;但是,您必须注意操作系统的差异。从不同操作系统传输的两个看似相同的值在存储到数据库后可能看起来略有不同。例如,Windows 与 Linux 上的换行符略有不同。

【讨论】:

  • 谢谢你的建议,对我很有用。
【解决方案2】:

关于 OP 的评论:

我读了一本书,说 SQLite 不是客户端/服务器数据库

SQLite 不是“客户端/服务器”,因为程序必须通过 SQLite 驱动程序直接访问 SQLite 数据库文件,而不需要服务器的中介(例如 MySQL/MSSQL/Oracle 的情况)。因此,您的 C# 和 Android 应用程序都需要对 SQLite 数据库进行网络文件系统访问,或者您需要另一个具有文件系统访问权限并且两个远程程序可以通信的程序;也就是说,您必须编写自己的“服务器”。

更新:为了解决您的评论,不:我的意思是那些数据库系统已经拥有一个服务器,用于处理来自远程客户端的数据库请求。 SQLite 没有 - 您可以通过使用 SQLite 驱动程序直接与数据库文件交互来访问它;因此需要文件系统访问。因此,如果您的 C# 或 Android 应用无法直接访问 SQLite 文件,您将需要一些可以访问的中间程序,并且该程序必须与您的 C# 和 Android 应用通信。

【讨论】:

  • 我有点傻,所以,你的意思是,SQLite 必须与任一服务器(MySQL/MSSQL/Oracle)一起工作,以便 C# 和 Android 应用程序可以远程访问 SQLite?
猜你喜欢
  • 2013-07-09
  • 2016-01-29
  • 2017-02-07
  • 1970-01-01
  • 2013-09-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-25
相关资源
最近更新 更多