Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android 數據庫SQLite 寫入SD卡的方法

Android 數據庫SQLite 寫入SD卡的方法

編輯:關於Android編程

如果手機沒有root,數據庫文件是無法查看到的,不方便調試。

最好的辦法是把數據庫寫進SD卡。

修改的地方有兩處:

1.在你的helper類中把數據庫文件名稱 DATABASE_NAME 由原來的一個文件名,修改成路徑的形式。

修改前:DATABASE_NAME = "demo.db"

public class MyDBHelper extends SQLiteOpenHelper {
public static final int VERSION = 1; //數據庫版本號
public static final String DATABASE_NAME = "demo.db"; //數據庫名稱
public static final String TABLE_NAME = "mytag"; //數據表名稱,一個數據庫可以包含多張數據表,類似於excel中的sheet1,sheet2
//MyDBHelper 的構造函數,我們關心的是名稱DATABASE_NAME和版本VERSION
public MyDBHelper(Context context) {
super(context, DATABASE_NAME, null, VERSION);
}

修改後:DATABASE_NAME = "/mnt/sdcard/demo.db"

public class MyDBHelper extends SQLiteOpenHelper {
public static final int VERSION = 1; //數據庫版本號
public static final String DATABASE_NAME = "/mnt/sdcard/demo.db"; //數據庫名稱
public static final String TABLE_NAME = "mytag"; //數據表名稱,一個數據庫可以包含多張數據表,類似於excel中的sheet1,sheet2
//MyDBHelper 的構造函數,我們關心的是名稱DATABASE_NAME和版本VERSION
public MyDBHelper(Context context) {
super(context, DATABASE_NAME, null, VERSION);
}

因為如果只是一個單獨的文件名,最後創建的數據庫文件就是保存在手機內部存儲卡(不是運行內存,也不是SD卡)的/data/data/包名稱/databases 目錄下,而沒有root的手機,這個/data根文件夾是進不去的,用adb shell方式也打不開。

2.最後,千萬別忘了修改權限!

Android手機是有著嚴格的安全管控的,SD卡屬於外部存儲器,訪問上面的文件需要添加權限。

在AndroidManifest.xml 中添加兩條SD卡讀寫權限即可:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 

如果沒有添加權限,那麼程序就會異常終止。

以上所述是針對Android 數據庫SQLite 寫入SD卡的方法,希望對大家有所幫助!

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved