第三回 Androidライブ壁紙テンプレートを公開します! (カスタマイズ&ランチャー機能付き)

こんにちは糸数です。
Androidのライブ壁紙を作成していて、自分なりのフレームワークが出来てきたので、テンプレートとしてまとめてみました。
まだまだ改善の余地はあるかもしれませんが、公開させて頂きます。
どんなテンプレート?
デフォルトで下記2つの機能が備わっています。
[1] カスタマイズ機能
ライブ壁紙をユーザーがカスタマイズできる、設定画面(PreferenceActivity)があり、そのPreferenceで変更した値を、ライブ壁紙Engine側で取得、確認するコードがデフォルトで入っています。
※OnSharedPreferenceChangeListener インターフェイスの registerOnSharedPreferenceChangeListener でリスナーしている
[2] ランチャー機能
ライブ壁紙は、通常のアプリと違い、インストールしてもホーム画面に表示されないので、どこに追加されたのかユーザーがわかりにくい、という問題があります。(実際そのようなユーザーを何人か目の当たりにしました)
それを解消するため、壁紙インストールと同時に、ホームに「壁紙選択ページを起動する通常のアプリ」を作成するようにしています。
※AndroidManifest.xmlでアプリを定義している
テンプレート利用するには?
ダウンロード
テンプレートをダウンロード
(Eclipsプロジェクト)
Eclipsにインポートする
※ [ 注意 ] インポート前に、文字コード設定を確認。[Preference] > [General] > [Workspace] の[Text file encoding] が UTF-8 になっているか確認しましょう。
- 1.ダウンロード後フォルダを解凍。
- 2.Eclipsを起動し、メニューの [File] > [import] を選択。
- 3.出てきたダイアログで、解凍したフォルダを選択。(Copy projects into workspace をチェックしテンプレートのコピーを使うようにします)
※開発環境のセットアップに関しては 第二回 Android ライブ壁紙を作るまで。|マルチデバイスLab. - Multi Device Lab.を参考ください。
テンプレートを素の状態でビルド&インストールした場合の説明

通常通りビルド&インストールすると、ホームにランチャーアプリが追加されます。

ランチャーアプリを起動すると、シンプルにテキストとボタンのみが表示された画面になり、ボタンをタップすると...

「ライブ壁紙選択画面」が表示され「(アプリタイトルはここ)を選択して下さい」とToastメッセージが表示されユーザをナビゲートします。

壁紙を選択すると真っ黒な画面になります(つまりテンプレートなのでなにも表示されません。)
「Setting...」をタップすると、設定画面が表示されます。
デフォルトで「 ListPreference / CheckBoxPreference / EditTextPreference 」の3つのPreferenceサンプルが配置されています

Preferenceに何かしら変更を加えると、ライブ壁紙側でその変更を取得し、Toastメッセージが表示されます。
文言、画像、レイアウト変更は「resフォルダ」内のファイルを適宜調整していけばOK!
テンプレート使用例
上記テンプレートを利用し作成した、サンプルライブ壁紙をご紹介します。
上記、「カスタマイズ機能、ランチャー機能」が実装されています。
※表示するドロイド君のスタイルカスタマイズできます。(2D/3D)
テンプレートのパッケージ名を任意の名前に変更したい場合
現状このテンプレートでは、パッケージが jp.mdlab.livewallpaper.template となっています。
任意のパッケージに変更する手順がすこし手間なので、詳細を説明します。
1.AndroidManifest.xmlを開き任意のパッケージ名に変更

2.res/xml/wallpaper.xml の android:settingsActivity の設定クラスパスを変更

3.res/パッケージを、[右クリック] > [Refactor] > [Rename]でリファクタリング

4.res/パッケージ/Main.java を開き、22行目あたりの、設定クラスパスを変更。

5.念のため最後に [Project] > [Clean] しておきましょう。

これで任意のパッケージに変更できました。
最後に
「もっとこうしたほうがいいよ!」などのご意見などありましたら、 @md_lab までご連絡いただけると幸いです。
最後まで読んで頂きありがとうございました!
Android ライブ壁紙シリーズ
- 第一回 Android ライブ壁紙の魅力とは?
- 第二回 Android ライブ壁紙を作るまで。
- 第三回 Androidライブ壁紙テンプレートを公開します! (カスタマイズ&ランチャー機能付き)

