C#、Android和SQLite一起工作吗?

C#、Android和SQLite一起工作吗?,c#,android,sqlite,C#,Android,Sqlite,我试图实现一个系统,我的C#程序可以向SQLite数据库插入值,我的移动android应用程序可以在SQLite中检索数据。请注意,其中三个不在同一台电脑中。有人能告诉我它在概念上会工作吗 p/S:我对C#、SQLite和Android都是新手。从概念上讲,它可以工作。您必须将您的SQLite数据库托管在远程计算机上,C#应用程序和Android应用程序都可以从不同的地方访问 数据库的好处在于,它们不是为只使用某种语言而构建的。任何内置或通过第三方的编程语言,以及连接到您正在使用的数据库类型的方

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


p/S:我对C#、SQLite和Android都是新手。

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


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

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


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

关于OP的评论:

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

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


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

关于OP的评论:

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

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


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

为什么不呢?只要您使用的comms协议不是特定于平台的,就可以了。HTTP上的XML或JSON(可能是SOAP,可能是REST)将是简单的平台中立机制。我对此表示怀疑,因为我读过一本书,书中说SQLite不是客户机/服务器数据库,这就是我担心它的原因。谢谢你的好意,为什么不呢?只要您使用的comms协议不是特定于平台的,就可以了。HTTP上的XML或JSON(可能是SOAP,可能是REST)将是简单的平台中立机制。我对此表示怀疑,因为我读过一本书,书中说SQLite不是客户机/服务器数据库,这就是我担心它的原因。谢谢你的建议。谢谢你的建议,它对我很有用。谢谢你的建议,它对我很有用。我有点愚蠢,那么,你的意思是,SQLite必须与任何一台服务器(MySQL/MSSQL/Oracle)一起工作,以便C#和Android应用程序可以远程访问SQLite吗?我有点愚蠢,那么,你的意思是,SQLite必须与任一服务器(MySQL/MSSQL/Oracle)协同工作,以便C#和Android应用程序可以远程访问SQLite?