[Android] 將 AndroMoney 的資料庫與 Dropbox 同步 (需 root)

[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 連進手機裡操作了~

dropbear    

 

下面就是用 Putty 連上手機 SSH 的畫面:

ssh  

 

2. 將 AndroMoney 的資料庫搬移到 SD 卡上

基本上 AndroMoney 程式裡資料庫的路徑我們是動不了的,

不過我們可以偷偷把資料庫搬到其他地方去,再做一個目錄連結到新的地方去~

cd /data/data/com.kpmoney.android

# 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 上面了~ 

link  

 

只是這樣設定完,怎麼知道究竟有沒有成功呢?

很簡單,只要開啟 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 雙向同步~

dropsync1  dropsync2  

 

在 dropsync 的設定部分,如果想要方便一點,

那就把 Autosync 打開,讓 dropsync 定時幫你同步,

不過當然越頻繁的話,可以想見會越耗電的囉~

dropsync3  

 

4. 在電腦上編輯 AndroMoney 的資料庫

用 strings 工具可以看到 AndroMoney.db 裡有 SQLite format 3 的字樣,

所以應該是 SQLite3 的資料庫~

因此,我們只要在電腦上安裝 SQLite3 的資料庫管理程式就行了~

這方面的選擇有很多種,我暫時是用 Firefox 上的附加元件 SQLite Manager

開啟後如果想要記帳,就去 record_table 裡修改就行囉~

不過當然因為裡面有些索引值,有些欄位也不知道要做什麼用的,

不像在手機上用 app 新增資料的容易…

不過也算是一種在電腦上同步編輯 AndroMoney 資料庫的克難方法了~

sqlite  

修改完要記得 Close database,不然會鎖住檔案讓 Dropbox 無法同步…

如果 AndroMoney 未來可以直接支援在電腦上編輯,自然是最好囉~~^^

 

 

(本頁面已被瀏覽過 360 次)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料