制作SQLite数据库的简便方法?

时间:2013-05-13 16:21:43

标签: java android sqlite motodev-studio

我目前正在使用新的eclipse ADT(Android开发工具)。当我使用旧版本时,摩托罗拉有一个名为MotoDev Studio的插件,可帮助您轻松创建数据库。它似乎不再适用于新的ADT。

有没有人有一个很好的替代方案来制作一个包含内容的简单SQLite数据库,并将其“转换”为Android的Java代码? (我一直在网上看,但似乎无法找到它)

2 个答案:

答案 0 :(得分:1)

您可以使用此eclipse插件:https://github.com/sromku/android-sqlite-model-generator-plugin

此插件允许根据您在JSON文件中定义的SQLite数据库架构轻松生成Android的Java源代码。

  1. 创建描述架构的JSON文件。 Example is here

  2. 右键单击JSON文件 - > Generate SQLite Model...

  3. enter image description here

    然后,您可以使用生成的代码处理数据库。 例如,如果您使用少量列定义Student表,则添加新学生将如下所示:

    Student student = new Student();
    student.setFirstname("John");
    student.setLastname("Smith");
    student.setAge(30);
    
    Model model = Model.getInstance(context);
    model.createStudent(student);
    

    可以在GitHub project

    中找到更多信息和详细信息

答案 1 :(得分:0)

我只是手工完成。我在Makefile中有这个:

# Note: you MUST use the version of sqlite3 provided with Android sdk
SQLITE = ~/Android/android-sdk-linux_86/tools/sqlite3

foo.db: wpt.csv foo.sqlite3
        tail -n +3 wpt.csv > wpt.tmp
        rm -f $@
        ${SQLITE} $@ '.read foo.sqlite3'

我的 foo.sqlite3 文件如下所示:

CREATE TABLE IF NOT EXISTS wpt (
    ident TINYTEXT NOT NULL,
    sector INT,
    lat FLOAT,
    lon FLOAT,
    type TINYTEXT,
    charts TEXT);
CREATE INDEX wptIdx ON wpt (sector);

.separator ":"
.import wpt.tmp wpt

我意识到这不是你想要的,但这避免了对特定IDE的特定版本的依赖,你现在知道它们可能会咬你。