お問い合わせ

Androidライブ壁紙

フィーチャーフォンのFlash待ち受けでは実現できなかった複雑なアニメーション、高いカスタマイズ機能が特徴のライブ壁紙。
その魅力と制作のポイントをお伝えします。

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

Posted on:
2011.12. 6
Posted by:
糸数昌史
Tag : :
,
,
,
vol3_0_title.png

こんにちは糸数です。
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.を参考ください。

テンプレートを素の状態でビルド&インストールした場合の説明

vol3_1_buildandinstall.png

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

vol3_2_rancher.png

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

vol3_3_toast.png

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

vol3_4_setting.png

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

vol3_5_toast_preference.png

Preferenceに何かしら変更を加えると、ライブ壁紙側でその変更を取得し、Toastメッセージが表示されます。

文言、画像、レイアウト変更は「resフォルダ」内のファイルを適宜調整していけばOK!


テンプレート使用例

上記テンプレートを利用し作成した、サンプルライブ壁紙をご紹介します。

上記、「カスタマイズ機能、ランチャー機能」が実装されています。
※表示するドロイド君のスタイルカスタマイズできます。(2D/3D)


テンプレートのパッケージ名を任意の名前に変更したい場合

現状このテンプレートでは、パッケージが jp.mdlab.livewallpaper.template となっています。
任意のパッケージに変更する手順がすこし手間なので、詳細を説明します。

1.AndroidManifest.xmlを開き任意のパッケージ名に変更
vol3_7_manifest.png

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

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

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

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

これで任意のパッケージに変更できました。


最後に

「もっとこうしたほうがいいよ!」などのご意見などありましたら、 @md_lab までご連絡いただけると幸いです。

最後まで読んで頂きありがとうございました!


Android ライブ壁紙シリーズ

このページのトップへ戻る