「Androidアプリ開発」最終課題

次のリンクも参考にしてください。


Contents

  1. 「Androidアプリ開発」最終課題

    1. 「Androidアプリ開発」最終課題の説明
      1. 課題に取り組む前に行うべきこと
      2. アプリのアイディア:
      3. 役に立つ資料

    2. 最終課題の評価基準
      1. 講座の概要
      2. 採点の方法
      3. 評価基準表
        1. 必須要素
        2. オプション要素

    3. 最終課題提出方法について
      1. 課題提出の前に:
      2. 最終課題提出方法について


「Androidアプリ開発」最終課題の説明

この課題では、自分自身のアプリを作成します。自分でアイデアを考え出すか、「アプリのアイデア」に記すアイデアのひとつを選ぶこともできます。新しいアプリを作成するにあたって、Sunshineのコードを自由に再利用できます。

課題に取り組む前に行うべきこと
最終課題の評価基準表をよく見てください。プロジェクトが各基準を満たすようにしてください。

課題では次のことが求められます:

  • Android Studioの最新バージョンを使って、インポートおよび構築されていること(Eclipseユーザは注意が必要です)。
  • Androidデバイスのみで自己完結していること(外部デバイスやブルートゥース周辺機器を使用しないこと)。
  • アプリに「職場でも安全な」コンテンツのみが含まれていること。
  • 評価基準で要求される全ての基準を満たすこと。

評価基準表の各部分を理解したと確信が持てたら、課題に取り組んでください。時々、評価基準表を参照し、正しい方向に向かって進んでいることを確認してください。

アプリのアイディア:

  • 食事注文アプリ
  • テレプロンプターアプリ
  • ローカルニュースアプリ
  • あなたの会社、大学、地元のクラブ用のアプリ
  • 教育アプリ
  • 公共交通スケジュール
  • GitHub OSSプロジェクトトラッカー
  • フィットネスアプリ
  • ミュージックアプリ
  • いいアイディアが浮かばなければ、Reddit のリーディングアプリなどはどうでしょうか。

役に立つ資料
Androidの基本的な概念を新たにするために、常にコースビデオを振り返ることができます。Androidアプリの設計の手助けとして Android Design Guide をチェックしてください。ダウンロードページから、さまざまな画面密度用のHolo LightとHolo Darkのテーマのpngをダウンロードできます。あなたのアプリに合うスタイルに変更できるように、Adobe Illustratorソースファイルも含まれています。更にここでMaterial Designのリソースをチェックすることができます。

最終課題の評価基準

概要
この評価基準表は課題がどのように評価されるかを理解するためのものです。あなたの課題を評価する者が使用する評価基準表と同じものです。課題に取り組み、提出する前に、この評価基準を見てください。 この評価基準表に含まれる判定基準は、あなたのアプリをGoogle Playストアに提出した場合、その評価に用いられることになる「コアアプリ品質ガイドライン」のサブセットです。ガイドラインの完全なリストはこちらです: http://developer.android.com/distribute/essentials/quality/core.html

採点の方法

  1. 評価担当者はあなたが提出したすべてのコードを見ることができます。評価担当者はこの評価基準表を使い、あなたのコードと文書による回答を評価します。
  2. 評価は「基準を満たしている」、「基準を超えている」あるいは「基準を満たしていない」の3つだけです。
    1. 判定基準すべてで「基準を満たしている」という評価を得たら、課題全体で「基準を満たしている」と評価されます。
    2. 判定基準すべてで「基準を超えている」という評価を得て、さらにオプション要素セクションの4つのカテゴリのうちの少なくとも2つで「基準を超えている」という評価を得たら、課題全体で「基準を超えている」と評価されます。
    3. 必須要素セクションの判定基準のどれか1つで「基準を満たしていない」と評価されると、課題全体で「基準を満たしていない」と評価されます。その場合でも、修正を加えて再提出する機会が与えられます。

評価基準表

必須要素 「基準を満たしている」という評価を得るためには、アプリは評価基準表のこのセクションのすべての判定基準を満たしている必要があります。

判断基準 基準を満たしていない 基準を満たしている
標準デザイン
アプリはシステムアイコン(Backボタンなど)の期待される機能の定義を変えないこと。
アプリはAndroid UIパターンの定義を変えたり、アイコンや動作がユーザに誤解や混乱を与えるような誤った使い方をしないこと。
アプリは可能な場合には大きな画面スペースを利用するタブレットレイアウトに対応していること。
アプリは少なくとも2種類の異なるビューを持ち、インテントを適切に使用してそれらのビューを切り替えること。
ナビゲーション
アプリはシステム標準のBackボタンナビゲーションに対応しており、画面上に独自のBackボタンを使用しないこと。
すべてのダイアログはBackボタンで消すことができること。
Homeボタンを押すと、いかなる場合でもデバイスのホーム画面に移動できること。
アクセス許可
アプリは、基本機能を働かすために必要な最小限のアクセス許可のみ要求すること。
アプリの基本機能に関連するものを除き、機密性の高いデータやユーザが課金されるサービスへのアクセス許可を要求しないこと。
パフォーマンスと安定性
対応するいかなるデバイスにおいても、アプリはクラッシュ、強制終了、フリーズ、またはその他の異常な動作をしないこと。
ContentProvider
アプリはローカルに保存したデータへのアクセスにContentProviderを使用すること。
次の中から最低でも1つを実装していること。
WebサービスやAPIとのデータの送受信を定期的に行うアプリの場合、SyncAdapter を使用して一定期間ごとにキャッシュ上でデータを更新すること。

または

WebサービスやAPIとのデータの送受信を1度しか行わないアプリや、リクエストに応じてのみ行うアプリ(検索アプリなど)の場合、IntentServiceを使ってデータの送受信を行うこと。

または

短時間ですむオンデマンド要求(検索など)の場合、AsyncTaskを使う。
アプリはLoaderを使用してデータをViewに提供すること。
ユーザとアプリの状態
アプリはユーザやアプリの状態を正しく保存し、復旧できること。例えば、
  • リスト項目を選択した状態で回転させた場合、選択状態が維持される。
  • アクティビティを表示した状態で回転させた場合、同じアクティビティが表示される。
  • 文字入力中に回転させた場合、入力中の文字が維持される。
デバイスがスリープ状態やロック状態から復帰しアプリ機能が再開する時、アプリは最後に使用した時と全く同じ状態にユーザを戻すこと。
アプリがホーム画面やアプリ一覧画面から再起動される時、アプリは直前の状態に可能な限り近い状態に復旧すること。



オプション要素 「基準を超えている」という評価を得るためには、アプリは以下の4つのカテゴリ(通知、ShareActionProvider、ブロードキャストイベント、カスタムビュー)のうち、少なくとも2つのカテゴリの基準を完全に満たしている必要があります。

判断基準 基準を満たしていない 基準を満たしている
Notifications
通知は、広告やアプリの基本機能に無関係の内容を含まないこと。
通知は進行中のイベント(音楽再生や通話など)に関連している場合に限り持続的に表示されること。
複数の通知は、可能であれば一つの通知オブジェクト内にスタックされること。
アプリは、ユーザ個人に関連するコンテキストの変更(メッセージ受信など)を示す目的にのみ通知を使用すること。
アプリは、進行中のイベント(音楽の再生や通話など)に関連する情報や制御を示す目的にのみ通知を使用すること。
ShareActionProvider
外部アプリとコンテンツの共有に ShareActionProvider を使用すること。
リッチコンテンツ(コンテンツ特有のテキストのパラグラフ、リンクとその説明、画像など)の送信に、Intent Extras を利用すること。
ブロードキャストイベント
アプリはブロードキャストイベントを補足すること。
アプリは意味のある方法でブロードキャストイベントに反応すること。
パフォーマンスと安定性
対応するいかなるデバイスにおいても、アプリはクラッシュ、強制終了、フリーズ、またはその他の異常な動作をしないこと。
カスタムビュー
アプリはカスタムビューを作成し、使用すること。
アプリは、Androidが標準提供するビューでは十分な表現ができない新しいビューを使用すること。

最終課題提出方法について

課題提出の前に:

  1. あなたのプログラムがすべての評価基準を満たしているという確信があれば、提出する為に以下の指示に従ってください。
  2. あなたの課題の中でAPIキー(例えば、Google PlayサービスのWEBサービスの認証キー)を使っている場合、絶対パスの代わりに相対パス(パスとして、~/を使っているかチェックしてください)を使わなければなりません。

最終課題提出方法について

  1. GitHubのアカウントを用意してその上にリポジトリを作成し下記の4つのアイテムを異なるフォルダに格納して下さい。
    1. 課題説明書
    2. Self-evaluationシート:こちらからダウンロードして必要事項を記載して下さい。
    3. タブレットモックアップを含む全てのUIモックアップスクリーン画像
    4. 署名のある作成したAPKファイル(詳細はこちらをご確認ください。)

  2. 上記準備ができたらGitHub􏰃リポジトリリンクをメールで送信下さい。