Android 數(shù)據(jù)庫SQLite 寫入SD卡的方法
如果手機沒有root,數(shù)據(jù)庫文件是無法查看到的,不方便調(diào)試。
最好的辦法是把數(shù)據(jù)庫寫進SD卡。
修改的地方有兩處:
1.在你的helper類中把數(shù)據(jù)庫文件名稱 DATABASE_NAME 由原來的一個文件名,修改成路徑的形式。
修改前:DATABASE_NAME = "demo.db"
public class MyDBHelper extends SQLiteOpenHelper {
public static final int VERSION = 1; //數(shù)據(jù)庫版本號
public static final String DATABASE_NAME = "demo.db"; //數(shù)據(jù)庫名稱
public static final String TABLE_NAME = "mytag"; //數(shù)據(jù)表名稱,一個數(shù)據(jù)庫可以包含多張數(shù)據(jù)表,類似于excel中的sheet1,sheet2
//MyDBHelper 的構(gòu)造函數(shù),我們關(guān)心的是名稱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; //數(shù)據(jù)庫版本號
public static final String DATABASE_NAME = "/mnt/sdcard/demo.db"; //數(shù)據(jù)庫名稱
public static final String TABLE_NAME = "mytag"; //數(shù)據(jù)表名稱,一個數(shù)據(jù)庫可以包含多張數(shù)據(jù)表,類似于excel中的sheet1,sheet2
//MyDBHelper 的構(gòu)造函數(shù),我們關(guān)心的是名稱DATABASE_NAME和版本VERSION
public MyDBHelper(Context context) {
super(context, DATABASE_NAME, null, VERSION);
}
因為如果只是一個單獨的文件名,最后創(chuàng)建的數(shù)據(jù)庫文件就是保存在手機內(nèi)部存儲卡(不是運行內(nèi)存,也不是SD卡)的/data/data/包名稱/databases 目錄下,而沒有root的手機,這個/data根文件夾是進不去的,用adb shell方式也打不開。
2.最后,千萬別忘了修改權(quán)限!
Android手機是有著嚴格的安全管控的,SD卡屬于外部存儲器,訪問上面的文件需要添加權(quán)限。
在AndroidManifest.xml 中添加兩條SD卡讀寫權(quán)限即可:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
如果沒有添加權(quán)限,那么程序就會異常終止。
以上所述是針對Android 數(shù)據(jù)庫SQLite 寫入SD卡的方法,希望對大家有所幫助!
- Android SQLite數(shù)據(jù)庫增刪改查操作的使用詳解
- Android使用SQLite數(shù)據(jù)庫的簡單實例
- android創(chuàng)建數(shù)據(jù)庫(SQLite)保存圖片示例
- Android中操作SQLite數(shù)據(jù)庫快速入門教程
- Android創(chuàng)建和使用數(shù)據(jù)庫SQLIte
- Android SQLite數(shù)據(jù)庫增刪改查操作的案例分析
- android通過jxl讀excel存入sqlite3數(shù)據(jù)庫
- Android操作SQLite數(shù)據(jù)庫(增、刪、改、查、分頁等)及ListView顯示數(shù)據(jù)的方法詳解
- Android批量插入數(shù)據(jù)到SQLite數(shù)據(jù)庫的方法
- Android利用listview控件操作SQLite數(shù)據(jù)庫實例
- Android應(yīng)用中內(nèi)嵌SQLite數(shù)據(jù)庫的基本操作指南
- Android+SQLite數(shù)據(jù)庫實現(xiàn)的生詞記事本功能實例
相關(guān)文章
Android中關(guān)于JSON相關(guān)應(yīng)用分析
這篇文章主要介紹了Android中關(guān)于JSON相關(guān)應(yīng)用,較為詳細的分析了Android中關(guān)于json相關(guān)類與使用方法,需要的朋友可以參考下2016-06-06
Android 中對于圖片的內(nèi)存優(yōu)化方法
Android 中對于圖片的內(nèi)存優(yōu)化方法,需要的朋友可以參考一下2013-03-03
關(guān)于Android添加fragment后版本不兼容問題
這篇文章主要介紹了Android添加fragment后版本不兼容問題的解決方法,需要的朋友可以參考下2017-12-12
Android中使用tcpdump、wireshark進行抓包并分析技術(shù)介紹
這篇文章主要介紹了Android中使用tcpdump、wireshark進行抓包并分析技術(shù)介紹,本文講解了下載并安裝tcpdump、pc上安裝wireshark等內(nèi)容,需要的朋友可以參考下2015-04-04
Android 如何實現(xiàn)彈窗順序&優(yōu)先級控制
這篇文章主要介紹了Android 如何實現(xiàn)彈窗順序&優(yōu)先級控制,幫助大家更好的理解和學(xué)習(xí)使用Android,感興趣的朋友可以了解下2021-03-03
將Eclipse工程轉(zhuǎn)Android Studio工程的步驟與注意事項
這篇文章主要給大家介紹了將Eclipse工程轉(zhuǎn)Android Studio工程的方法步驟,并給大家分享了其中的一些注意事項,文中將實現(xiàn)的步驟一步步介紹的非常詳細,需要的朋友們可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-11-11
Android自定義View實現(xiàn)圓弧進度效果逐步完成過程
在Android開發(fā)中,通過自定義View實現(xiàn)自己想要的效果是作為android開發(fā)程序員的一項必備技能,自定義View對于android開發(fā)來說也是比較難的一項技術(shù)2023-04-04
Android序列化接口Parcelable與Serializable接口對比
我們使用 Intent 傳遞數(shù)據(jù)的時候,putExtra() 所支持的數(shù)據(jù)類型事有限的,當需要傳遞自定義對象的時候就需要序列化。Serializable更簡單但是會把整個對象進行序列化因此效率比Parcelable低一些2023-02-02

