はじめに
この記事は
「EclipseとAndroid SDKはとりあえず入れられたが、Androidウィジェットの作成の仕方が分からない。」
「Androidアプリは作成経験があるが、ウィジェットは作成したことがない。」
といった方を対象に書いております。
「Javaどころか、プログラミングなんてやってことがない。」
という方にとっては不親切に感じられることでしょう。
また、今回はEclipse、Android SDKおよび関連するソフトウェアのインストール方法については記述しておりません。
インストール方法等については非常に詳しく書かれている記事が他にありますので、そちらをご参照ください。
また、一口にEclipseでAndroidウィジェットを作成するといっても、EclipseやADTのバージョンによって作成方法は微妙に変わります。
まずはバージョン等が同じか確認し、自分の環境により近い方法を探すことをお勧めします。
バージョン等
テスト端末
- SO-02E Android 4.2.2
手順
新しくプロジェクトを作成します。
次に
- アプリケーション名
- パッケージ名
の2つを入力します。
アプリケーション名は何でもかまいません。
パッケージ名はここではjp.cordeaとなっていますが、com.exampleのままでも結構です。
アクティビティの作成のチェックをはずして完了してください。
次のような画面になったら、Javaクラスを作成します。
私の場合は名前をSampleWidgetとしていますが、分かりやすいようにSampleWidgetActivity等としても良いでしょう。
スーパークラスには
android.appwidget.AppWidgetProvider
と入力して完了してください。
次にレイアウトのxmlファイルを作成します。
main.xmlが出来たら、今回は例としてLarge Textのフォーム・ウィジェットを貼り付けます。
ウィジェットの設定をするため、もう一つxmlファイルを作成しましょう。
今度のxmlファイルはxmlフォルダ中に作成するため、まずはxmlフォルダの作成から行います。
xmlフォルダが作成できたら、xmlファイルを作成しましょう。
作成できたら、以下の項目について記述してください。
こちらのパラメーターは作るウィジェットに応じて変えてください。
- Attributes for AppWidget Provider
- Min width: 72dp
- Min height: 72dp
- Update period millis: 0
- Initial layout: @layout/main
最後に、AndroidManifest.xmlを編集しましょう。
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="jp.cordea.samplewidget" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="18" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <receiver android:name="jp.cordea.samplewidget.SampleWidget" android:label="SampleWidget" > <intent-filter> <action android:name="android.appwidget.action.APPWIDGET_UPDATE" /> </intent-filter> <meta-data android:name="android.appwidget.provider" android:resource="@xml/samplewidget" /> </receiver> </application> </manifest>
それでは動作確認をしてみます。
端末上でこのように表示されれば、成功です。
具体的にウィジェットに機能を追加したい、といった場合はJavaのソースファイルに処理を記述する必要があります。