0

我想将我的应用程序与 Android 手机上的数据库连接起来,所以我编写了一个名为DBHelper.

但我收到一个错误,上面写着“MODE_PRIVATE”无法解析为变量。所以我做了“Context.MODE_PRIVATE”。现在,可以解析变量,但我得到一个新的错误:

“类型 DBHelper 的方法 openOrCreateDatabase(String, int, null) 未定义”。

DBHelper.this.openOrCreateDatabase如果我用它来打开它也无济于事。

有谁能够帮我?

这是我的代码:

public class DBHelper {

    SQLiteDatabase db;

    public void insert(String news, Context con){

        db = openOrCreateDatabase("PlanB", con.MODE_PRIVATE, null);
        db.execSQL("DROP TABLE IF EXISTS News");
        db.execSQL("CREATE TABLE IF NOT EXISTS INBOX(id INTEGER,title VARCHAR,text VARCHAR,date VARCHAR);");

        String[] divided = news.split("/newentry/");
        int length = divided.length;
        int pos = 0;

        while(pos <= length){
            String[] entry = divided[pos].split("/;/");
            db.execSQL("INSERT INTO  INBOX VALUES('"+entry[0]+"','"+entry[1]+"','"+entry[2]+"','"+entry[3]+"');");
            pos++;  
        }

    db.close();
    }
}
4

2 回答 2

1

看看SQLiteOpenHelper,如果你在 Android 中使用 SQLite,你应该在某个地方扩展它。

文档:

管理数据库创建和版本管理的助手类。

您创建一个实现 onCreate(SQLiteDatabase)、onUpgrade(SQLiteDatabase, int, int) 和可选的 onOpen(SQLiteDatabase) 的子类,并且此类负责打开数据库(如果存在),如果不存在则创建它,并根据需要进行升级. 事务用于确保数据库始终处于合理状态。

这是一个数据库助手,您可能会从中找到一些用处。 

于 2013-08-20T19:56:50.283 回答
0

你最好在你的类中扩展 SQLiteOpenHelper 并覆盖它的方法

1.onCreate--在指定的数据库中创建一个表 2.onUpdate--通常用于删除表并对其进行更新。

还要确保创建该类的构造函数,其中包含以下语句 super(context,DB_NAME, null,DB_VERSION);

每当您在另一个类(项目中的任何类)中声明此类的对象时,此构造函数都会自动为您创建数据库。下一个 onCreate 方法会被自动调用,如果它不存在则创建表。现在,您可以在扩展 SQLiteOpenHelper 的类中添加自定义方法,以在表中添加或删除数据。现在可以通过其他类中的对象声明来访问这些方法。

这是关于 SQLiteOpenHelper 的教程。

http://www.vogella.com/articles/AndroidSQLite/article.html

我希望这能给你一个小小的提示或指导。

于 2013-08-20T20:15:11.390 回答