網頁

2011年6月2日 星期四

Android學習_如何觀看SQLite的內容(table schema)

Android使用SQLite資料庫作為儲存的手段,但是在建立以後可能沒辦法從語法中就可以完全掌握各個表格與欄位,對於M$ SQL使用很久的人來說,會覺得有點痛苦,所以該怎麼樣瀏覽這個輕量級資料庫的內容呢?

準備:
1. 下載一個SQLite管理工具(網路上找到一個有人推薦的SQLite Expert,有兩個版本一個為Professional付費與Personal免費)
2. 先用程式建立一個Sqlite的資料庫,確認他有在他該在的位置(位置:DDMS內看/data/data/Class Name/databases/)

3. 找到你的adb.exe位置(舊版本在\SDK\android\Tools,如果有更新到最新版,位置會在\SDK\android\platform-tools)

方法:利用adb pull的功能將模擬器的SQLite複製出來,並且用SQLite Expert來觀看。
1. 利用adb pull功能(adb pull 來源位置 放置位置)
以這個例子來說,將資料庫檔案複製到C槽→adb pull /data/data/ola.OlaTeach_SQLite/databases/Oladb2 C:\

2. 用SQLite Expert讀取匯出的檔案

這樣就可以看到各項相關資訊囉。

16 則留言:

  1. 2. 先用程式建立一個Sqlite的資料庫,確認他有在他該在的位置(位置:DDMS內看/data/data/Class Name/databases/)
    想請問版主一下 這步驟是指說,我的ECLIPSE要開著,然後再開SQLite Expert嗎? 但我的DDMS內 FILE EXPLORER 沒有任何東西? 不好意思 麻煩版主了

    回覆刪除
  2. 因為Sqlite是將建立資料庫這件事情寫在程式裡面,所以我的第二點意思只是要先確認你的程式真的已經依照程式碼建立了一個資料庫,並非是一個必須的步驟。

    如果你已經取得Sqlite的檔案,就直接用SQLite Expert開啟就可以了。

    回覆刪除
  3. 請問有android專案連結到SQL的範例程式碼嗎,在網路上都只有找到java專案連SQL的方法,可不可以請大大介紹一下 謝謝^_^

    回覆刪除
  4. 你說連到SQL的意思是MS SQL嗎?

    行動化裝置都沒辦法直接連接伺服器上的資料庫,必須要在Server上撰寫一個中介的程式,通常是使用Webservice或直接用http來取得。

    至於伺服器上的程式要用asp.net、php、jsp等,就看你的習慣。

    回覆刪除
  5. 請問我在eclipse的DDMS確實有看到db檔,但用命令列執行pull時卻出現does not exist

    回覆刪除
  6. 這個我沒有遇到過,你可能要確認一下你輸入的路徑+資料庫名稱是否正確;或執行指令的位置是否正確。

    回覆刪除
  7. 還是謝謝你喔!
    我在路徑最後打上.db就可以了

    回覆刪除
  8. 請教一下,我若要將資料存到SQLite再存到Android手機,請問要怎麼在eclipse建立?

    回覆刪除
  9. 可以在create table的方法動態加入,就會在程式第一次安裝的時候加入。

    回覆刪除
  10. 請問我把SQLite資料存到手機時,但是手機裡卻一直找不到存進去的資料,是出了麼問題?

    回覆刪除
  11. 我不太懂你問題的意思,你是說你寫程式insert資料到SQLite?還是將SQLite的檔案存到SD卡裡面?

    回覆刪除
  12. 我是將手機執行時所讀到的數值呈現在XML(手機畫面上),然後我想結合SQLite程式將曾經讀到的數值能顯示在手機畫面下方(用list的方法呈現),並且也同時能將資料存到SQLite資料庫中,也就是手機裡的SD卡

    回覆刪除
  13. 那你就查關於SQLite的Select跟insert就可以了。

    回覆刪除
  14. 恩恩我有試過,因為我要做的實驗是必須利用藍芽先連結到該裝置,當該裝置讀取到數值時顯示到手機,然後在將顯示到手機的數值資料也同時存到SQLite,但是發現我程式寫完卻完全看不到資料庫,在ANDROID模擬器因為沒藍牙所以無法測試執行,因此在DDMS中也看不到我創的DB資料庫之存在,請問是否有辦法藍芽連結後取得的數值是否能存入SQLite呢?

    回覆刪除
  15. 不管你的資料來源為何,只要你在程式裡面可以取得到的值都可以儲存到SQLite之中,資料庫的建立會在APP第一次執行的時候,如果沒有成功建立應該要先去看SQLite的onCreate是否有撰寫完成。

    現在看起來問題跟藍芽裝置並沒有關係。

    回覆刪除
  16. 你好,我寫了相關SQLite程式後,把apk檔裝到手機裡,安裝好後執行,請問我database會在哪QQ
    我沒有特別寫關於安裝後,Package的路徑

    回覆刪除