スキップしてメイン コンテンツに移動

AndroidのBackup Data APIについて調べてみた

どうやってどこにバックアップデータを保存しているのかソースから探してみた。 自分用のメモなので適当です。

検索対象



バックアップデータの転送路はIBackupTransportでインターフェース化されていてその実装は確認できた限りで2種類ある。

  1. LocalTransport : 文字通り端末のローカルファイルにバックアップする実装。 /cache/backup/(パッケージ名) 以下にバックアップする。 
  2. com.google.android.backup/.BackupTransportService : Android Backup Service用の実装っぽい。ソースコードは当然ないのでこれ以上追えなかった..


コメント

このブログの人気の投稿

Windowsのエクスプローラーがフリーズする現象

ここ数ヶ月の間Windowsのエクスプローラーの調子がおかしかったのでぐぐって直した。

症状
アイコンをダブルクリックしてもエクスプローラーがハングアップする。数分待つと関連付けされたアプリが起動する。アイコンを右クリックするとエクスプローラーがハングアップする。待つとメニューが出る。普通にアプリにドラッグアンドドロップする分にはフリーズしない。
ググッたところ同様に悩んでいる方がいた。
ファイルの起動が遅い

レジストリに存在しないマシンへのファイル共有のリンクがあるとフリーズするらしい。
大体の原因がわかったのでregeditでレジストリをエクスポートしてテキストエディタから「\\\\」(UNCの最初の\\を\でエスケープした文字列)で検索して片っ端からファイル共有へのリンクがないかチェックした。

案の定4,5個ぐらい存在しないマシンの共有ファイルへリンクしていた。やった覚えはないんだけどなぁ。。

当該箇所を削除したところ再起動なしでエクスプローラーがフリーズしなくなりました。
再インストールも考えていたので助かりました。

2017年を雑に振り返ってみた

TwitterのTLを見てて振り返りの記録を残そうと思い立ったので雑に書きました。来年はちゃんと記録を残そう...

お仕事面での1年間
某デバイス向けAndroidアプリ開発 年頭から8月までやってました。
モデルチェンジに伴う新機能の実装がメインでした。

もう2015年からやってるアプリなのでそこまで炎上はしませんでしたがなんだかんだで500コミット位コードを書いてました。

去年の開発では難航したためにDroidKaigi 2016の参加を諦めた辛い記憶があったので1,2月は猛烈に開発を進めて何とか参加できたのはいい思い出?かもしれません。

この頃からAndroidアプリのアーキテクチャをちゃんと考えないとなぁということでMVPとかMVVMとかDDDとかについて調べだしました。

ソーシャルメディアの分析サービスっぽいの開発 6月〜11月ぐらいまで

TwitterとかInstagramとかソーシャルメディアのツールですがお客さんの要望やイベント対応に合わせて新機能開発をやってました。サービス自体は去年位に始まってたんですが久々にLaravelを触りました。

某アプリのリニューアル開発 9月〜現在進行中

2つの類似するサービス向け(flavorで分けてます)のアプリとそのタブレット対応の開発をしています。フルKotlin & MVVM & Android Clean Architectureの考え方を取り入れて少し今風になりました。(FluxとかAACとかはまだ

現在スマホ版アプリ開発の佳境です。年内リリース目標だったんですが残念ながら年を越しそうです。DroidKaigi 2018までには終わってるといいけどなぁ...(´・ω・`)

発表 potatotips #41で"Android Font Updates"という題目で発表させていただきました。
https://speakerdeck.com/tsuyosh/android-font-updates
映画 34本くらい観てました。印象に残ったのは

ザ・コンサルタントラ・ラ・ランド3月のライオン 前編&後編夜は短し歩けよ乙女メアリと魔女の花ジョン・ウィック:チャプター2ダンケルクアウトレイジ 最終章ベイビー・ドライバーアトミック・ブロンドgiftedスター・ウォーズ VI…

kickstartで最小限の構成でインストール

最小限の手間でサーバーを配備できるようにしたいのでkickstartインストールをやってみました。 とりあえずの目標としては以下の2点。 最小構成でインストール。必要なdaemonはsshdだけDAGリポジトリからPuppetをインストール。これは次回以降の自動設定の布石 設定ファイルを作った手順は以下のような感じ 実際に手動で最小限の構成でインストールしてみるインストール後に/root/anaconda-ks.cfgを参考に編集。オプションの詳しい説明はRedHatのマニュアルウノウラボさんのblogを参考にした。編集した設定ファイル(ks.cfg)をhttpでアクセスできる場所にアップロード。自分はDropboxのPublic領域にコピー。これで自前のWebサーバーを準備する手間が省けるVMWare Playerで実際にkickstartインストールできるか確認。思ったとおりにいってない箇所があれば2に戻る。 で、できた設定ファイルが以下のようになります。一部()で囲っている部分は適宜置き換えてください。 install url --url http://ftp.iij.ad.jp/pub/linux/centos/5.5/os/i386 lang ja_JP.UTF-8 keyboard jp106 timezone Asia/Tokyo network --device eth0 --bootproto dhcp --hostname (ホスト名) --noipv6 firewall --enabled --port=22:tcp rootpw --iscrypted (暗号化パスワード) authconfig --enableshadow --enablemd5 selinux --permissive bootloader --location=mbr --driveorder=sda clearpart --all --initlabel --drives=sda part /boot --fstype ext3 --size=100 --ondisk=sda part pv.2 --size=0 --grow --ondisk=sda volgroup VolGroup00 pv.2 logvol swap --fstype swap --n…