如何在没有使用xamarin编写Android应用程序代码的情况下在sqlite中创建表

时间:2016-08-26 11:45:19

标签: android database sqlite xamarin

我想为Hospitality POS开发一个Android应用程序。我正在使用xamarin和sqlite数据库。我已经以编程方式创建了一个表。

我的问题是:如何在不进行编码的情况下创建表:就像有没有办法创建表而不进行编码,就像我们在没有编码的情况下手动在SQL Server中创建一样。

我使用SQLite Studio创建了数据库和表,但我无法在我的应用程序中查看这些表。

3 个答案:

答案 0 :(得分:1)

如果你正在使用xamarin而你想要一个可移植的数据库,请查看https://developer.xamarin.com/guides/xamarin-forms/working-with/databases/,你必须在每个项目.Droid .IOS .Windows中添加一个类,以便根据平台正确获取每个dbPath。 / p>

要查看你的表,你必须创建一个代表那些表的类,以便从db中获取信息到链接中的aplication,我放弃了它所有的指定。

此外,在SQLite中调用SQLiteConnection.createDatabase();您在创建连接时指定的dataBase文件中创建表,如果不存在,如果存在且没有错误,您只是确认您已与数据库连接。希望我能帮忙。

答案 1 :(得分:0)

对于Android应用程序,如果你没有经验,但想要实现localdb,我建议使用ORM。 Sugar ORM使用起来非常简单,而且非常好。关于如何使用它的例子很容易理解。

http://satyan.github.io/sugar/

希望它有所帮助。

答案 2 :(得分:0)

您可以使用sqlitebrowser创建表格,然后将您的sqlite文件添加到Android项目的资产文件夹中。

我认为你需要将其复制出来打开数据库并对其进行编辑,如下所示:

static void CopyDatabaseIfNotExists (string dbName = "YOURDATABASENAME.sqlite")
{
  var dbPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal), dbName);
    if (!File.Exists(dbPath))
    {
        using (var br = new BinaryReader (Application.Context.Assets.Open (dbName)))
        {
            using (var bw = new BinaryWriter (new FileStream (dbPath, FileMode.Create)))
            {
                byte [] buffer = new byte [2048];
                int length = 0;
                while ((length = br.Read (buffer, 0, buffer.Length)) > 0)
                {
                    bw.Write (buffer, 0, length);
                }
            }
        }
    }
}