如何在我的Android应用程序中创建数据库?

乔·维克多(Joao Victor)

我正在尝试在我的Android应用程序中使用SQLite。我已经创建了这样的帮助器类:

public class EventoSQLHelper {

    // Configuração da base(nome e versão)
    private static final int DB_VERSAO = 1;
    private static final String DB_NOME = "pacixDB";

    // Configuração da tabela (nome, colunas, tag para log)
    private static final String tabela_nome = "eventos";
    private static final String coluna_id = "id";
    private static final String coluna_desc = "descricao";
    private static final String coluna_data = "dataEvento";
    private static final String TAG = EventoSQLHelper.class.getSimpleName();

    // Comando sql para criação da tabela
    private static final String DATABASE_CREATE = "create table if not exists eventos (id integer primary key autoincrement, "
            + "descricao VARCHAR not null, dataEvento date);";

    // Contexto para o qual vai passar as informações
    private final Context context = null;

    private DataBaseHelper DBHelper;
    private SQLiteDatabase database;

    // Helper que extende de SQLiteOpenHelper - implementa práticas para salvar,
    // criar, etc
    private static class DataBaseHelper extends SQLiteOpenHelper {

        DataBaseHelper(Context context) {
            super(context, DB_NOME, null, DB_VERSAO);
        }

        // executado quando cria a classe: cria a base se não existir
        @Override
        public void onCreate(SQLiteDatabase db) {
            try {
                db.execSQL(DATABASE_CREATE);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

        // método para upgrade da base
        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
            Log.w(TAG, "Atualizando base da versão " + oldVersion
                    + " para a versão " + newVersion
                    + ", que irá destruir todos os dados.");
            db.execSQL("DROP TABLE IF EXISTS eventos");
            onCreate(db);
        }
    }

    public EventoSQLHelper Open() throws SQLException {
        this.database = DBHelper.getWritableDatabase();
        return this;
    }

    public void close() {
        DBHelper.close();
    }

    public long inserirRegistro(String descricao, String data) {
        ContentValues valoresIniciais = new ContentValues();
        valoresIniciais.put(coluna_desc, descricao);
        valoresIniciais.put(coluna_data, data);
        return database.insert(tabela_nome, null, valoresIniciais);
    }

    public boolean deletarRegistro(long id) {
        return database.delete(tabela_nome, coluna_id + " = " + id, null) > 0;
    }

    public Cursor getRegistros() {
        return database.query(false, tabela_nome, new String[] { coluna_id,
                coluna_desc, coluna_data }, null, null, null, null, null, null);
    }

我已经在互联网上关注了一些教程,并且了解了sqlhelper类。但是现在,我如何创建数据库?这是文件,对不对?我是否必须在主要活动的onCreate方法上创建它?

我该怎么做呢?

撤销

好吧,让我们引用Docs

一个帮助程序类,用于管理数据库创建和版本管理。

您创建一个实现onCreate(SQLiteDatabase),onUpgrade(SQLiteDatabase,int,int)以及可选的onOpen(SQLiteDatabase)的子类,此类会负责打开数据库(如果存在),创建数据库(如果不存在)以及根据需要进行升级事务用于确保数据库始终处于明智状态。

因此,这意味着,你不必明确地创建“数据库文件”它是由为你做SQLiteOpenHelper因此,当您第一次打开数据库时,它将被创建。(它将自动onCreate在您的DataBaseHelper中运行

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在我的PC中修改并复制回我的应用程序的db文件夹的android应用程序中读取数据库

来自分类Dev

更新我的Android应用程序中的数据库

来自分类Dev

如何在Android应用程序更新上重新创建数据库?

来自分类Dev

如何在我的 Android 应用程序中启动模拟器时填充 SQLite 数据库。

来自分类Dev

如何在应用程序中嵌入数据库?

来自分类Dev

如何在WPF MVVM应用程序中创建报表而不引用数据库

来自分类Dev

如何在分层应用程序中创建数据库实体

来自分类Dev

如何在 dockerized Rails 应用程序中创建 Mysql 测试数据库?

来自分类Dev

我应该如何在本地 Java 应用程序中实现数据库

来自分类Dev

如何从android应用程序在SQLite数据库中创建一个新表

来自分类Dev

如何在Android应用程序中刷新数据库

来自分类Dev

每次运行我的应用程序时,都会创建Android数据库吗

来自分类Dev

如何将数据添加到我的Android应用程序中的现有数据库?

来自分类Dev

如何在运行时在Spring MVC应用程序中创建动态数据库连接?

来自分类Dev

如何在棱镜WPF模块化应用程序中首先使用代码动态创建数据库表?

来自分类Dev

如何在棱镜WPF模块化应用程序中首先使用代码动态创建数据库表?

来自分类Dev

如何在数据库对象实例中创建和存储 ONCE(当用户安装应用程序时)

来自分类Dev

我将如何为iPhone应用程序创建用户数据库?

来自分类Dev

如何从已经创建的数据库中为 Android 应用程序在列表视图中显示图像?

来自分类Dev

为什么我的 addListenerForSingleValueEvent 停止从 android 应用程序中的 Firebase 数据库读取数据?

来自分类Dev

Android应用程序。从数据库中获取数据

来自分类Dev

在我的应用程序中升级sqlite数据库

来自分类Dev

如何在Azure中将我的Web应用程序与MySQL数据库链接?

来自分类Dev

在Netbeans 8.0.2中为Android应用程序创建数据库

来自分类Dev

在Android应用程序中创建或安装SQLite数据库

来自分类Dev

在Netbeans 8.0.2中为Android应用程序创建数据库

来自分类Dev

如何通过我的Android应用程序在Microsoft Azure数据库上执行请求

来自分类Dev

我如何使用 android 库作为我在我的项目应用程序中创建的模块?

来自分类Dev

如何从Android应用程序读写数据库

Related 相关文章

  1. 1

    如何在我的PC中修改并复制回我的应用程序的db文件夹的android应用程序中读取数据库

  2. 2

    更新我的Android应用程序中的数据库

  3. 3

    如何在Android应用程序更新上重新创建数据库?

  4. 4

    如何在我的 Android 应用程序中启动模拟器时填充 SQLite 数据库。

  5. 5

    如何在应用程序中嵌入数据库?

  6. 6

    如何在WPF MVVM应用程序中创建报表而不引用数据库

  7. 7

    如何在分层应用程序中创建数据库实体

  8. 8

    如何在 dockerized Rails 应用程序中创建 Mysql 测试数据库?

  9. 9

    我应该如何在本地 Java 应用程序中实现数据库

  10. 10

    如何从android应用程序在SQLite数据库中创建一个新表

  11. 11

    如何在Android应用程序中刷新数据库

  12. 12

    每次运行我的应用程序时,都会创建Android数据库吗

  13. 13

    如何将数据添加到我的Android应用程序中的现有数据库?

  14. 14

    如何在运行时在Spring MVC应用程序中创建动态数据库连接?

  15. 15

    如何在棱镜WPF模块化应用程序中首先使用代码动态创建数据库表?

  16. 16

    如何在棱镜WPF模块化应用程序中首先使用代码动态创建数据库表?

  17. 17

    如何在数据库对象实例中创建和存储 ONCE(当用户安装应用程序时)

  18. 18

    我将如何为iPhone应用程序创建用户数据库?

  19. 19

    如何从已经创建的数据库中为 Android 应用程序在列表视图中显示图像?

  20. 20

    为什么我的 addListenerForSingleValueEvent 停止从 android 应用程序中的 Firebase 数据库读取数据?

  21. 21

    Android应用程序。从数据库中获取数据

  22. 22

    在我的应用程序中升级sqlite数据库

  23. 23

    如何在Azure中将我的Web应用程序与MySQL数据库链接?

  24. 24

    在Netbeans 8.0.2中为Android应用程序创建数据库

  25. 25

    在Android应用程序中创建或安装SQLite数据库

  26. 26

    在Netbeans 8.0.2中为Android应用程序创建数据库

  27. 27

    如何通过我的Android应用程序在Microsoft Azure数据库上执行请求

  28. 28

    我如何使用 android 库作为我在我的项目应用程序中创建的模块?

  29. 29

    如何从Android应用程序读写数据库

热门标签

归档