我正在开发一个需要数据库的应用程序,我已经创建了数据库,它接受查询,创建数据库,我能够执行所有操作。 以下是有效的数据库:
import java.util.ArrayList;
import java.util.List;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class DatabaseHandler extends SQLiteOpenHelper {
// All Static variables
// Database Version
private static final int DATABASE_VERSION = 1;
// Database Name
private static final String DATABASE_NAME = "sandeep.db";
// Table name
private static final String TABLE_C = "table_data";
// Table Columns names
private static final String KEY_ID = "id";
private static final String KEY_NAME = "name";
private static final String KEY_PH_NO = "phone_number";
public DatabaseHandler(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
// Creating Tables
@Override
public void onCreate(SQLiteDatabase db) {
String CREATE_TABLE = "CREATE TABLE " + TABLE_C + "("
+ KEY_ID + " INTEGER PRIMARY KEY," + KEY_NAME + " TEXT,"
+ KEY_PH_NO + " TEXT" + ")";
db.execSQL(CREATE_TABLE);
}
}
数据库是在默认位置/data/dataapp_name/中创建的,但由于未root的手机,我无法访问它。
我的问题:
1. 如何在SD卡或可公开访问的手机内存上创建sandeep.db?
2. 我可以创建一个类似于 Whatsapp 的文件夹并将我的数据库驻留在其中吗?
最佳答案
使用名为SQLiteDatabase.openOrCreateDatabase(String path, SQLiteDatabase.CursorFactory factory)
的方法。
它将允许您在 SD 卡上创建数据库。
您需要在 AndroidManifest.xml 中添加以下权限,
android.permission.WRITE_EXTERNAL_STORAGE
关于android SQLite 数据库与特定位置的数据库可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20948711/