この機能は、法令のダウンロード履歴+お気に入り登録情報について
/SDカードマウントポイント/com.blogspot.lis4android.lawindexsearcher/History.xml
というファイルにバックアップする、というものです。
当然のことながら、バックアップファイル名は固定なので、バックアップを実行するたびにファイルが置き換わります。
しかし、バックアップが何らかの理由で消失!という事故が全く無いわけではありませんので、さらなるバックアップ手段が欲しいところです。
そこで、PRO版の次回のアップデートにはこのファイルを「Dropboxに送る」機能を追加したいと思っています。
この機能を実装するに当たって、まずはAndExplorerでファイルをDropboxに送ってLOGCATを確認しました。
Intentアクションは当然のことながら
- android.intent.action.SEND
になります。
送るファイルはXMLファイルに限らず色々なものがありますので、 setTypeは
- "*/*"
です。さらにこの時、Intentフラグに
- 0x3000000(Intent.FLAG_GRANT_READ_URI_PERMISSION |
Intent.FLAG_GRANT_WRITE_URI_PERMISSION)
をセットします。
Intent先のパッケージ・クラス名は、
-
com.dropbox.android/.activity.DropboxSendFrom - com.dropbox.android/.activity.DropboxSendTo
です。
で、送りたいファイルはSDカードのファイルURIをputExtraする訳ですが、
- Intent.EXTRA_STREAM
でURIを渡してやればOKです。
準備が出来たらstartActivity(intent)すると、Dropboxが保存先のディレクトリ指定を聞いてきますので指定してやればファイルのアップロードを実行してくれます。
備えあれば憂いなしということで、こまめにバックアップを取っておきましょう。
Dropboxアプリがインストールされていない場合は、
- android.content.ActivityNotFoundException
をcatchしてマーケットに遷移するようにしています。
この話題に関連するものとして、
- 何らかの原因により、SDカードの法令データファイルが消失した場合にこのHistory.xmlファイルを使ってどう復旧するか
という点について後日触れてみたいと思います。
実はそれが「六法(法令リスト)カタログコレクション」の話につながっていきます。
ではまた。
0 件のコメント:
コメントを投稿