2010/12/14の日報
ようやくまともな仕事が回ってきた
といっても部門再編を見越しての予備調査みたいなもんだが
やっぱり仕事があるのはいいっすわ
Android開発は徐々に家での作業にシフトしていきたい
widgetの作り方
以下はウィジェットの実装方法のメモ
とりあえずはガワだけ(アイコンのように表示されるだけ)のウィジェットについて
0.雛形作成
いつものようにAndroidプロジェクト作成
空のウィジェット(押しても処理が無い)ならActivityは作らなくてもいい
1.ウィジェット用xmlファイルを作成
xmlフォルダをres以下に作成
フォルダ内に適当な名前のxmlファイルを『リソースの種類:AppWidget Provider』で作成する
雛形に以下を設定
ここではtestwidget.resとする
<?xml version="1.0" encoding="UTF-8"?>
<appwidget-provider
xmlns:android="http://schemas.android.com/apk/res/android
"
android:minWidth="72dip"
android:minHeight="72dip"
android:initialLayout="@layout/main"
android:updatePeriodMillis="0"
/>
WidthとHeightはウィジェットのサイズ
dipとは画面上でのウィジェットサイズを指定する単位
画面を4×4で分割したセル座標系において
dip=(セル数×74dip)-2dip
らしい
だから2x2ウィジェットではそれぞれ146dipになる
initalLayoutはウィジェットの初期レイアウト
ここではmail.xmlとした
updatePeriodMillisは更新頻度(msec)→0は更新しない
2.ウィジェットクラスを作成
src/以下に適当な名前のクラスを作成(.javaファイル)
AppWidgetProviderを継承する
ウィジェットを配置するだけなら処理をオーバーライドしなくても動作する
import android.appwidget.AppWidgetProvider;
public class TestWidgetProvider extends AppWidgetProvider { }
3.マニフェストファイルを変更
AndroidManifest.xmlにウィジェットを登録する
<application>の中に以下を追加
<receiver android:name=".TestWidgetProvider"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data android:name="android.appwidget.provider"
android:resource="@xml/testwidget" />
</receiver>
4.実行
アクティビティを作成しなかった場合は、実行しても何もおこらない(当然だが)
ホームスクリーンを長押し→ウィジェットを選択すると
ウィジェットリストの中に作ったウィジェットが追加されていることが分かる
今回作った空のウィジェットは、1x1の中にlayout.xmlの内容が書かれたもの
デフォルトならHellow~のハズ
注:
(※実機デバッグなどでは、長押し→ウィジェット選択からウィジェットのリストが表示されるまで時間がかかる模様/待つべし)
2010/12/13の日報
職場で大掃除があったのだが、すでに隅々までピカピカだったので30分で終わってしまった
なぜみんな手持ち無沙汰になると、席の掃除を始めてしまうんだろう
あいかわらずReaderを弄ってる
今はChainLP で青空文庫 をePub変換してどんどんストックしてる
たぶん青空文庫の半七捕物長だけであと三ヶ月くらいもつわ
あと保証は無いものの、ReaderStore以外の著作権保護付きxmdfファイルもReader再生できるらしい
問題は他の販売サイトもアレな品揃えなこと(サイトの作りはReaderStoreよりずっといいが)
そのうち試しに買ってみたい
Androidの勉強は開店休業中だ
Readerに入れるスキャン対象の書籍や、スクラップを探していたら
ついつい読みふけってしまった
本棚漁ってみると、積んである本とか内容が重複している本が凄く多い
無駄だな
本だけ買って安心する癖を直したい
とりあえずReaderはここまで
Android開発にもどりたい