今後の展開について

このアプリ、現状は既存データの編集も出来ない、削除もできないという単なるサンプルアプリでしかありません。電話帳アプリから名前すら見えるのは困る、PIN入力などで持ち主以外には起動出来ないアプリになっていてほしい、電話番号も暗号化してほしい、などなど足りない機能はたくさんありますね。

もし機能拡張したら実用として使いたいという人がそれなりにいらっしゃるようなら、もう少し改良してGoogle Playにも公開するかもしれません。

でも、このアプリの機能拡張を求める方は、奥さんや彼女に対してやましい(以下略)。

BackupManager を使ったサンプルアプリ

とはいえ、ただ単にBackupManager を紹介するというのも面白くないので、ちょっとしたアプリをサンプルとして作成しました。サンプルアプリは以下のような機能を持っています。

  • アプリ起動時に暗号鍵データが無ければ生成し、BackupManagerでクラウドにバックアップする。すでにバックアップが存在している場合はバックアップから復元する。
  • 電話帳から本アプリが作成した鍵で暗号化したメールアドレスを持っているエントリだけを抽出し、一覧を表示する
  • 電話帳に名前と暗号化したメールアドレスを登録する

作成したアプリの全ソースコードGitHubにて公開しています。
https://github.com/ynakanishi/SecretAddressBook

APKはこちら。
https://dl.dropbox.com/u/7073683/SecretAddressBook.apk

注意:

  • あくまでもサンプルです。
  • ご自身のアプリケーションでバックアップ機能を実現される場合は、ご自身のアプリケーションのパッケージ名からAPI Keyを取得してください。
  • 弊社のパッケージ名は念のためGoogle Playに登録済みなので、そのままのパッケージ名で他の方はGoogle Playへのアップロード不可のはずです。

ライセンス条件を入れ忘れてますが、Apache License 2.0 にするつもりです。後で入れておきます。

API Levelの違いが、戦力の決定的差ではないということを・・・教えてやる!

振り返ってみて、自分はそこまで古いAPI Levelを使いきっていただろうか?

Android 2.2 (API Level 8)から導入され、Google I/Oなどでも使い方の紹介されているにも関わらず、世の中の多くのアプリでほとんど使われていない便利機能があるような……。

たとえば、こんなことを経験したことはないですか?

  • 端末を初期化して同じアカウントを設定したら、前にインストールしていたアプリが自動的にインストールされた。しかし、アプリに設定したアカウント情報が消えていたので、それぞれのアプリでログインしなおした。

これって使ってるネットサービスのアプリが多いと地味にめんどくさいですよね。
アプリの自動インストールのついでにアカウント情報も復活してくれたら楽なのにな思うことがしばしばあります。

BackupManager を使えば、実現できる機能です。

ということで、なぜ BackupManager ってあまり使われてないのかな、ということを感じたので、試しに使ってみよう、そしてあわよくばみなさんにも使ってもらうための情報を提供しようというのが今日の目論見です。

早く普及してほしいな新しいAndroidバージョン

Androidは新しいバージョンが半年に一度程度のサイクルで登場しています。皆さまご存知の通り、その新しいバージョンはwith GoogleNexusブランドの端末、実質的には開発者かアーリーアダプタくらいしか買わない端末でしかしばらくの間(半年〜1年)は使えません。

そして、新しいバージョンのOSに特化したアプリを作ってもいいのは、さらにそのOSバージョン以上が広く普及してから。未だにAndroid 2.2以上で動作するようなプログラムを書かざるをえないのが現実かと思います。

FragmentなどのUIについては、同等機能を提供するAndroid Support Packageのおかげでその点での問題は少なくなっているAPIもあります。とはいえすべての新しい機能が使えるようになるわけではないので、「新しい機能がいつまで経っても自由に使えないAndroidは☓☓だ」という気持ちが沸き上がってきてもしょうがな……いや、本当にそうだろうか?

Androidでのクラウド連携ってCloud Messaging Service だけでしたっけ? (a.k.a. 古いAPIも見なおそう)

当記事はAndroid Advent Calendar: Welcome to Android Advent Calendar 2012 Project!の7日目、表のエントリです。

本日の裏は@Arigata3のhttp://d.hatena.ne.jp/arigata3/20121206/1354799406です。

ツイッターでは @chun_ryo として活動し、お仕事は AndroidiPhoneなどのスマートフォンアプリ、ウェブアプリなどを開発する会社を細々と営んでおります。そんな弊社のウェブサイトは http://www.brightechno.com/ です。

と、自己紹介は簡単にして、本題に移りましょう。

Androidマーケットアプリのアプリ一覧回復方法

Androidマーケットアプリ(version 3.1.5)データぶっ壊し方法 - 無頼な代表取締役エンジニア日記 で示しました問題ですが、厳密にはデータが壊れているとまでは言えないかもしれません。

以下の条件が成立する場合には、あの手順で問題が発生するようです。

  • Android端末にGoogleアカウントを複数登録している

この場合、notificationから更新を呼び出すと、本来マーケットで使用しているアカウントが使用されず、別のアカウントが使用されます。そして、別のアカウントでは承諾も行なっていないし、アプリのダウンロードも行なっていないため、あのような挙動になっているものと思われます。

まぁ、データ壊れていなくてもバグはバグですけどね。

ということで、マーケットのメニューからアカウント選択を呼び出して正しいアカウントを選ぶと回復することが可能なようです。

なお、一つのGoogleアカウントだけ登録されている端末を使用した場合にどういう挙動になるかについては、まだこちらでは確認しておりません。