使用连接字符串连接到android中的sqlite

时间:2016-06-30 12:54:54

标签: android sqlite

我是android的新手,我有一个很大的问题,我创建了一个需要连接到数据库的应用程序。所以我使用sqllite expert pro创建一个数据库,你可以在这里看到:

CREATE TABLE [user](
    [name] tEXT, 
    [id] INT PRIMARY KEY);

我的数据库名称为a。我想读取用户表中的值,如我在代码中所示:

SQLiteDatabase mydatabase = openOrCreateDatabase("a",MODE_PRIVATE,null);
Cursor resultSet = mydatabase.rawQuery("Select * from user",null);
resultSet.moveToFirst();
String username = resultSet.getString(1);
String password = resultSet.getString(2);

  TextView tv = (TextView) findViewById(R.id.editText1);
    tv.setText("Text is: " + username + password);

但它不起作用,我应该在我的代码中添加连接字符串,还是应该将数据库导入到我的项目中,因为数据库位于我的工作区文件夹中。

enter image description here

enter image description here

我使用此代码在android中创建一个测试数据库,但它不能再次运行了吗?

SQLiteDatabase mydatabase = openOrCreateDatabase("ali",MODE_PRIVATE,null);
        mydatabase.execSQL("CREATE TABLE IF NOT EXISTS TutorialsPoint(Username VARCHAR,Password VARCHAR);");
        mydatabase.execSQL("INSERT INTO TutorialsPoint VALUES('admin','admin');");

        Cursor resultSet = mydatabase.rawQuery("Select * from TutorialsPoint",null);
        resultSet.moveToFirst();
        String username = resultSet.getString(1);
        String password = resultSet.getString(2);

2 个答案:

答案 0 :(得分:2)

您的数据库需要先复制到手机的内部存储空间。您可以手动或借助此库Android SqliteAsset Helper

进行操作

按照正确的方法在android中使用代码创建数据库: 创建一个扩展SqliteOpenHelper的类。

    public class DbOpener extends SqliteOpenHelper {
    DbOpener(Context c){
        super(c, 1, "a", null, 1); //where "a" is the database name
    }

    public void onCreate (SqliteDatabase db){
         db.execSQL("CREATE TABLE  TutorialsPoint (Username VARCHAR, Password VARCHAR);");
    }
}

然后在您的活动中使用它如下:

DbOpener opener = new DbOpener(this);

SqliteDatabase myDatabase = opener.getWritableDatabase();

//Now you can perform all your queries (including insertions) using the myDatabase object

答案 1 :(得分:1)

首先,您应该将数据库名称更改为可读的名称,例如“ mydata.db

其次,在Android中使用SQLite不需要连接字符串,就像我们从Java代码访问数据库一样。

您需要使用SQLiteOpenHelper访问数据库。来自Android SQLite database and content provider的教程。尝试从教程中了解Android和SQLite。

然后,在掌握了概念并了解其后,您可以使用Android SQLiteAssetHelper

来使用预定义的数据库。