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