如何为Android应用程序编写数据库[关闭]

问题描述 投票:-1回答:4

在我的应用程序中,我需要一个包含不同表的数据库,我之前会写,然后只需在应用程序中阅读。我知道如何创建一个新的数据库,使用SQL在应用程序中编写和读取它但我实际上不知道在将数据库添加到assets文件夹之前我可以编写数据库的程序(以及格式)。

请问有人帮我吗?

android sql database sqlite
4个回答
1
投票

您可以使用http://sqlitebrowser.org/它可以在Mac OS,Windows和Linux上运行


0
投票

您可以使用SQLite,它是一种设备上的SQL实现。请注意,这只会支持大多数传统关系数据库中的SQL操作子集。如果您需要完整的SQL支持,则必须编写其他位置托管的后端Web服务。


0
投票

您可以使用SQLiteOpenHelper创建数据库。

这是我创建简单数据库的示例,该数据库具有存储城市,其中2个字段是City_ID和城市名称:

public class DiLiBusDatabaseHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "DiLiBusDB";
private static final String TBL_CITY = "City";
private static final String CITY_ID_FIELD = "City_ID";
private static final String CITY_NAME_FIEDL = "City_Name";
private SQLiteDatabase database;
private static DiLiBusDatabaseHelper mInstance = null;
Context context;
//synchronized to make sure have only one thread is run at the same time
public static DiLiBusDatabaseHelper getInstance(Context context){
    if(mInstance == null){
        mInstance = new DiLiBusDatabaseHelper(context.getApplicationContext());
    }
    return mInstance;
}

private DiLiBusDatabaseHelper(Context context) {
    super(context, DATABASE_NAME, null, 2);
    this.context = context;
    this.database = getWritableDatabase();
}

@Override
public void onCreate(SQLiteDatabase db) {
    String query = "CREATE TABLE"+" "+TBL_CITY+"("+CITY_ID_FIELD+" "+"TEXT PRIMARY KEY,"+CITY_NAME_FIEDL+" "+"TEXT"+");";
    String queryIndex = "CREATE INDEX city_name_idx ON"+ " "+TBL_CITY +"("+CITY_NAME_FIEDL+");";
    db.execSQL(query);
    db.execSQL(queryIndex);
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

}

} p / s:我使用Singleton pattern来创建我的数据库。此外,如果你想在SDCard中保存你的数据库,你可以检查这个link


0
投票

数据库有很多库:

这是创建数据库的最简单方法,因为您对定义的数据模型进行操作。

© www.soinside.com 2019 - 2024. All rights reserved.