2010-04-30 81 views
3

我正在为我的程序添加联系人功能,并且我想保存每个用户的联系人列表,对此最好的解决方案是什么?我是XML和数据库的新手,我不知道哪个是最好的,或者是否有可以本地保存的数据库解决方案。本地保存用户应用程序数据的最佳解决方案是什么?

+0

你在说什么样的环境?这是否适用于在用户计算机上运行的传统胖客户端应用程序,Web应用程序或在移动设备上运行的应用程序(Android,iPhone等)? – Kitsune 2010-04-30 03:46:08

+0

[更新]:我正在为使用C#的Windows平台编写桌面应用程序。我基本上是从用户的Facebook联系人和Google最终提取联系人数据,并允许他们通过应用程序添加联系人。我认为XML会起作用,但如果像丹尼尔说的那样,有很多数据读取和存储这些信息需要时间和资源。因此,我认为我将与SQLite一起为速度带来的好处,减少外部编辑的机会。谢谢大家的意见,如果任何人都可以建议一个好的网站/书籍/参考在C#中使用SQL,我会很感激。 – 2010-04-30 17:46:23

回答

6

这取决于您要定位的平台以及要保留的数据结构的大小和复杂性。显然,像XML或JSON或其他类似开放和易读的格式是可取的,但对于大型应用程序,像SQLite数据库甚至自定义的保存格式可能是合适的。

所以,要考虑最大的事情是:

  • 支持你选择的平台/语言
  • 重要性人类可读性/可编程性的(可能是理想的或非常undesriable,请注意,这也影响的第三方开发者建立消耗你保存的数据的应用程序)
  • 大小的能力
  • 速度访问数据(有会是多少内存采取一切加载到内存中一次潜在的权衡)

对于一个纯文本文件的工作的一些组合,给出了近乎普遍的语言和平台的支持,人类阅读和编辑,但也往往会得到大的一个公平的数据量。对于较大的应用程序,SQLite数据库是正确的答案,尽管您必须检查并确保您的平台/语言支持它(大部分都是这样),这意味着它不能在文本编辑器中编辑(尽管用户可以在sqlite本身来修改),并且它会相当紧凑和相当快。

+0

谢谢你的回应。你知道任何与C#一起使用的好的SQLite参考吗? – 2010-04-30 17:47:59

1

有几种选择,有不同的折衷。一个是SQLite,这是一个将数据库存储在单个文件中的公共领域关系数据库。它对大多数语言都有约束力。

编辑:我用于C#的一个很好的绑定是System.Data.SQLite

+0

谢谢你的回应马修。 – 2010-04-30 17:48:45

+0

感谢马修,这看起来是一个很好的解决方案。现在只需要弄清楚如何使用它。 ;) – 2010-04-30 21:08:21

1

嗯,这是所有关于你的数据的性质:

  • CSV,XML,JSON,如果它是一个配置文件
  • 如果SQLite是数据库面向数据,你需要执行搜索

你在用什么语言?

+0

他在OP中说它是联系数据。 – 2010-04-30 03:00:19

+0

谢谢您的回应Cesar。 – 2010-04-30 17:49:16

相关问题