現在、Androidでカレンダーアプリを製作しております。
予定の作成・登録機能を実装しようとしているのですが、行き詰ってしまいました。
オープンソースのカレンダーライブラリを読んだり、ネットで検索したりして、SQLiteを使って自分なりに仕組みは考えたのですが、どうもゴリ押しかつ無駄が多すぎるような気がしています。
その上、その通りの仕組みを実際に作り上げるのに悩んでいるところです。
目指したい完成形としては、ダイアログで予定のタイトルや日付を入力して登録をすると、その該当する日付にアイコン(複数種、ダイアログで選択可能)が表示されるという単純な物です。
そこで標題のとおり、一般的であろうスケジュール登録機能の仕組みを教えていただきたいです。
どうかよろしくお願い致します。
また、以下に自分なりに考えた流れを載せますので、もしよろしければそれについてもアドバイスを頂けると幸いです。(図々しいお願いで申し訳ありませんm(__)m)
○ カレンダーの各日付のレイアウトは、カスタムレイアウトになっており、フィールドにDayクラスを持っている。
○ そのDayクラスは、コンストラクタでyear,month,dayを受け取りフィールドに保持し、上記レイアウトにセットされる。また、EventクラスをArrayListでフィールドとして持つ。
登録の流れは、
- 日付のダブルタップでダイアログを表示しタップ元のDayクラスのインスタンスを渡す。同時に、SQLiteDatabaseをwritableで用意。
- タイトル等入力後、登録ボタン押下でSQLiteDatabaseに登録。加えて、渡されたDayインスタンスのフィールドであるEventに、同様の情報を持ったインスタンスを生成しArrayListに加える。
- タップ元のレイアウトは、Eventクラスの情報をもとにアイコンを表示する。
不明な点は、
AsyncTaskを利用すべきだと思うのですがどこで使うべきなのか。
Eventクラスを生成し、日付のレイアウトに返したときにどうやってレイアウトの更新を掛けてアイコンを表示させるのか。
アプリの起動時に、既に登録してある情報をどうやってレイアウト上に表示させるのか(DBの参照方法)。
といったところです。
あなたの回答
tips
プレビュー