2014-01-06 55 views
2

我正在研究一個需要數據庫的APP,我已經創建了數據庫,它接受查詢,創建數據庫,並且我能夠執行所有操作。 以下是其運作數據庫:在特定位置可以使用databse的android SQLite數據庫嗎?

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); 
} 
} 

數據庫中獲取的默認位置/數據/ dataapp_name創建/但我不能訪問因無根的手機。

我的問題:
1.如何在sdcard或手機內存上創建sandeep.db,這是可公開訪問的? 2.我可以創建一個WhatsApp的文件夾,並讓我的數據庫駐留在那個?

回答

2

使用此方法名爲SQLiteDatabase.openOrCreateDatabase(String path, SQLiteDatabase.CursorFactory factory)。 它可以讓你在SD卡上創建數據庫。

你需要在你的AndroidManifest.xml中添加下列權限,

android.permission.WRITE_EXTERNAL_STORAGE 
+0

謝謝@vigbyor您的回覆。 你能建議我任何相同的例子或鏈接? – instinct

+0

當然,但首先嚐試你的自我,然後我會給你與工作示例的鏈接。 – Vigbyor

+0

'Environment.getExternalStorageDirectory()'不會在模擬器上給我外部目錄路徑。我對嗎 ? – instinct

相關問題