Androidのアプリ開発関連のブログ

もうじき完成

アプリ内購入の実装やった後は2週間SQLiteのデータベースマネージャを作っていたのだが、
今週末までにできればと思っていたが、機能の実装は今終わった感じで予定通りに終わりそう。

なのだが、SQLiteはAPIで普通に使えるから簡単だと思ってたので、
まったりペースで2週間のつもりがレイアウト周りが大変で、結構ガッツリやった。
SQL文の入力は大半がダイアログに入力する仕様にしたが、命令ごとに違う複雑なViewGroupになるんで、
レイアウトファイルが今までのアプリは縦横合わせて10個程度だったが今回は縦画面だけで30個行った。

難しかったと思うのは、前回の記事に書いたがTableLayoutが初めてだったのでborderの付け方とか、
LayoutInflater.inflate()を多用したが、第3引数がtrueの時とfalseの時で戻りが違うのと、
最後今日やったところだが、Spinnerで初めて動的に子要素入れたのだが、難しかった。

Spinnerをリソースファイルから固定で入れるのは簡単だが、動的に入れる場合は、
Spinner.setAdapter(SpinnerAdapter adapter)
でAdapterを入れるのだが、
SpinnerAdapterというやつはAdapterにabstractメソッドが1つ追加されてるだけで、Adapterの方にも大量にabstractがあるので、
自力でSpinnerAdapterのメソッドを実装しようと思ったらかなり大掛かりになる。
ArrayAdapterを使うのが楽そうだったのでそうしたのだが、ArrayAdapterのコンストラクタは全部レイアウトリソースが必要。
Spinnerに入れるTextViewを一個用意したいだけなのにレイアウトリソースで用意しないといけないのね・・・


あとは、機能自体は完了したと思うが、メニューをいくつか付けたり、
アイコンとか宣伝画像の作成、いつも通りAdMobつける。
ってな感じかな。