android SQLite 数据库与特定位置的数据库可能吗?

标签 android sqlite android-sqlite android-sdcard

我正在开发一个需要数据库的应用程序,我已经创建了数据库,它接受查询,创建数据库,我能够执行所有操作。 以下是有效的数据库:

    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/

相关文章:

android - 改变方向后 ImageView 消失

mysql - 如何在 SQL 数据库中存储未知长度的列表

java - 自动完成下拉菜单不起作用

r - 使用RSQLite时的R多行语句

java - 数据库.sqlite.SQLiteException

java - 框架布局 : View Arrrangement and Null Pointer Exception

android - 我应该如何编码这个广播接收器来检查互联网并根据它执行操作

来自服务 Intent 的android startActivity

android - 如何将 SQLite 行添加到 ArrayList<>

Android:在运行时从 SQLite 数据库中读取