如何为Android应用程序编写数据库

时间:2016-08-23 15:44:55

标签: android sql database sqlite

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

请问有人帮我吗?

4 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

以下是我创建简单数据库的示例,其中存储City with 2已归档为City_ID和City_Name:

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来创建我的数据库。此外,如果您想将数据库保存在SD卡中,可以查看link

答案 3 :(得分:0)

数据库有很多库:

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