[Android] 將 AndroMoney 的資料庫與 Dropbox 同步 (需 root)
基本上手機 root 過之後,發現使用的方式寬廣了許多,
因為基本上手機就是一個 Linux 系統,
因此想做什麼原本不能做的事話,就可以用一些工具或程式來解決~
像我今天試用了 AndroMoney,覺得這個記帳軟體相當不錯用,
可是我也希望可以在電腦同時記帳,該怎麼辦呢?
目前軟體本身還不支援雲端同步,因此只能用一些迂迴的方式…
第一個想的是利用它本身的匯出資料庫功能,再加上 dropsync 同步到 dropbox…
問題是,這樣子就需要在開啟 AndroMoney 時,要先匯入資料庫(因為可能在電腦上被改過了),
而在關閉 AndroMoney 前,又要先匯出資料庫,好讓 dropbox 同步…
這樣使用起來頗不方便,也很容易忘記…
第二個想的是利用 dropsync 來同步它的資料庫(/data/data/com.kpmoney.android/databases/AndroMoney.db),
問題是 dropsync 無法同步 /data/data 下面的東西…
研究了一下,第二個方式會是比較方便的,只是要克服 dropsync 無法同步 /data/data 的問題…
雖然 dropsync 碰不到 /data/data 的東西,可是可以碰到 /sdcard 下的東西…
嗯~也許我們可以把 AndroMoney 的資料庫搬到 /sdcard 下去讓 dropsync 同步?
下面就來試試看吧~
1. 首先要有一個可以連到手機的 terminal client
我常用的 Remote Web Desktop 裡面有附一個,
不過因為是 web 版的,一些像 Tab 鍵補齊檔名等等的功能都沒有,較為不便~
因此後來找了 DropBear SSH Server,基本上它就是一個 SSH server,
裝好後就可以用 Putty 之類的 SSH client 連進手機裡操作了~
下面就是用 Putty 連上手機 SSH 的畫面:
2. 將 AndroMoney 的資料庫搬移到 SD 卡上
基本上 AndroMoney 程式裡資料庫的路徑我們是動不了的,
不過我們可以偷偷把資料庫搬到其他地方去,再做一個目錄連結到新的地方去~
# Copy database folder to sdcard and rename original one
cp -r databases /sdcard/AndroMoney/
mv databases databases_old
# Make a soft link for the database folder
ln -s /sdcard/AndroMoney/databases databases
# Check if the link is correct
ll /sdcard/AndroMoney/databases/
在 Putty 中執行完上述的指令後,檢查一下,
可以確認 database 目錄目前已經是指向 sdcard 上面了~
只是這樣設定完,怎麼知道究竟有沒有成功呢?
很簡單,只要開啟 AndroMoney 程式,隨便加一筆記帳後存檔,
就會發現 /sdcard/AndroMoney/databases/ 目錄下的檔案時間有修改過,
因此應該是 OK 的!
3. 使用 dropsync 同步 AndroMoney 的資料庫
dropsync 在免費版裡只能同步一個資料夾,
因此如果你已經有在用 dropsync 的話…可以去買付費版或是再去找其他的類似軟體 😛
首先選擇 Add Synced Folders,
Local Folder 選擇 /mnt/sdcard/AndroMoney/databases,
Dropbox Folder 就自己選擇吧,像我是放在 /Family/AndroMoney~
最後的 sync method 就選 Two-way 雙向同步~
在 dropsync 的設定部分,如果想要方便一點,
那就把 Autosync 打開,讓 dropsync 定時幫你同步,
不過當然越頻繁的話,可以想見會越耗電的囉~
4. 在電腦上編輯 AndroMoney 的資料庫
用 strings 工具可以看到 AndroMoney.db 裡有 SQLite format 3 的字樣,
所以應該是 SQLite3 的資料庫~
因此,我們只要在電腦上安裝 SQLite3 的資料庫管理程式就行了~
這方面的選擇有很多種,我暫時是用 Firefox 上的附加元件 SQLite Manager,
開啟後如果想要記帳,就去 record_table 裡修改就行囉~
不過當然因為裡面有些索引值,有些欄位也不知道要做什麼用的,
不像在手機上用 app 新增資料的容易…
不過也算是一種在電腦上同步編輯 AndroMoney 資料庫的克難方法了~
修改完要記得 Close database,不然會鎖住檔案讓 Dropbox 無法同步…
如果 AndroMoney 未來可以直接支援在電腦上編輯,自然是最好囉~~^^