将数据库放入android项目
我在stackoverflow上已经读到了大约5个线程,但仍然不知道如何做到这一点。 我已经有了sqlite数据库,我不知道把它放在我的android studio项目中的什么地方。将数据库放入android项目,android,sqlite,Android,Sqlite,我在stackoverflow上已经读到了大约5个线程,但仍然不知道如何做到这一点。 我已经有了sqlite数据库,我不知道把它放在我的android studio项目中的什么地方。 我希望数据库与应用程序一起下载。如果您想要预加载数据库,那么一般的方法是 1.将sqlite文件放在资产文件夹中。 2.将该文件复制到数据目录 幸运的是,有一个非常简单易用的Git库。请看一下它们的使用示例。您必须创建一个类(.java文件)来为您处理数据库。该类自动在android设备中创建SQLite数据库。例
我希望数据库与应用程序一起下载。如果您想要预加载数据库,那么一般的方法是 1.将sqlite文件放在资产文件夹中。 2.将该文件复制到数据目录
幸运的是,有一个非常简单易用的Git库。请看一下它们的使用示例。您必须创建一个类(.java文件)来为您处理数据库。该类自动在android设备中创建SQLite数据库。例如,这是我正在开发的android应用程序的示例代码:
public class DatabaseHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "database.db";
private static final int SCHEMA = 3;
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, SCHEMA);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE VISITAS (" +
"Id_Visita INTEGER PRIMARY KEY AUTOINCREMENT, " +
...
");");
}
...
}
添加更多关于您有什么问题或疑问的详细信息。这并不假装是最好的方法,但我在项目中就是这样做的: 您的数据库应该位于res/assets目录中。 下面是我的DataBaseHelper类的一部分,可能对您有所帮助:
public class DataBaseHelper {
private static final String DB_NAME = "yourname.db";
private Context mContext;
private SQLiteDatabase mSQLiteDatabase;
public DataBaseHelper(Context context) {
mContext = context;
}
public void openOrCreate() {
File dbFile = mContext.getDatabasePath(DB_NAME);
if (!dbFile.exists())
copyDatabase(dbFile);
mSQLiteDatabase = SQLiteDatabase.openDatabase(dbFile.getPath(), null, SQLiteDatabase.OPEN_READWRITE);
}
private void copyDatabase(File dbFile) {
InputStream is = null;
OutputStream os = null;
try {
mContext.openOrCreateDatabase(DB_NAME, Context.MODE_PRIVATE, null);
is = mContext.getAssets().open(DB_NAME);
os = new FileOutputStream(dbFile);
byte[] buffer = new byte[1024];
while (is.read(buffer) > 0) {
os.write(buffer);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (os != null) os.close();
if (is != null) is.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
什么不能正确理解你?请输入一些代码并解释您的问题。您想要预加载数据库吗?然后你需要把它放在asset文件夹中。@cryuff,不要写那么多容易出错的boiler plate编码,这个库通常是一个很好的选择。休息取决于你:)