課題

課題

  • 2 人ぐらいのグループで、アプリ拡張に取り組みましょう。内容は自由です。

    • お絵かきアプリとしての機能拡張(図形増やす、図形ごとに色付けを許可するとか)
      • あるいは、ただの GUI ゲームっぽいものに魔改造とか。
    • ネットワーク機能拡張(定期的に自動セーブ、画像に名前をつけて、デバイス間・ユーザ間で共有、共同編集可能お絵かきツールなどなど)
    • 別に、分担して各機能拡張してもいいし、一つの機能を共同して開発してもいいし。
    • step by step で拡張してもいいし、大規模改修を目指して(未完におわって)も構いません。
  • 終了時点で、最終プログラムと、達成した(あるいは目指した)アプリ・機能、自分が担当した部分に関する簡単な解説を1ページぐらいのレポート(絵込み)を pdf ファイルで提出してくれればOKです。

お絵かきツール拡張時のヒント

もともとの shapesandroid.graphics.RectF のリストを持っていました。 ただ、android.graphics.Canvas のメソッドを使って四角形以外の図形を書くには、 「RectF 以外に図形の種類や色などの情報をもった」オブジェクト(のクラス)を作って、そのリストを持っておくのが便利でしょう。 実装の仕方はいろいろありますけど、まずはいろいろトライしているとよいでしょう。

注意:

  • 色情報は、Color.BLUE などで求められる、色相当の int を保存するのが楽かと思います。
  • クラスを導入した際は、無引数 constructor をお忘れなく。

時間経過に応じて、モデルを変化させたい

モデルを定期的に変更したいのなら、Timer, TimerTask などを用いて定期的したいところです。

ただ、一般スレッドが UI データを直接操作するのはよくないので、実際には android.os.Handlerpost() メソッドを通じてに UIスレッドに仕事を依頼することになります。

ただ、Handler には postDelayed() などのメソッドがあるので、このあたりをうまく使えば、定期的な処理も実現できそうです。

Read more