在我的应用程序中,我需要一个带有不同表格的数据库,然后在应用程序中阅读。我知道如何创建一个新的数据库,使用SQL在应用程序中编写和读取它,但实际上我不知道什么程序(以及哪种格式)可以在将数据库添加到资产文件夹之前编写数据库。如何为Android应用程序编写数据库
请问谁能帮我解决这个问题吗?
在我的应用程序中,我需要一个带有不同表格的数据库,然后在应用程序中阅读。我知道如何创建一个新的数据库,使用SQL在应用程序中编写和读取它,但实际上我不知道什么程序(以及哪种格式)可以在将数据库添加到资产文件夹之前编写数据库。如何为Android应用程序编写数据库
请问谁能帮我解决这个问题吗?
您可以使用SQLite,这是一个基于设备的SQL实现。请注意,这只会支持大多数传统关系数据库中的SQL操作子集。如果您需要完整的SQL支持,您必须编写其他地方托管的后端Web服务。
您可以使用SQLiteOpenHelper来创建您的数据库。
这里是我的示例创建简单的数据库具有储存与市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卡你的数据库,U可以检查此link
对不起,我不是我正在寻找的东西:我需要在我的应用程序中有一个在应用程序之外创建的数据库。无论如何谢谢 –
1.你想制作一台服务器来保存你的数据库,并且你的应用程序与服务器连接以获取数据吗? 或者您是否想在应用程序之外创建SQLite,然后将其嵌入到应用程序中以供使用? –
我只想创建一些用户只能从应用程序中读取的表 –
https://developer.android.com/guide/topics/data/data-storage.html#db –