Android Kotlin基礎講座 10.3:利用者に向けたデザイン

目次

この講座について

この記事はAndroid Kotlin基礎講座の一部です。これ以外のAndroid Kotlin基礎講座(全10回)も一緒に受講することでAndroidアプリの開発手法、およびKotlinの基礎知識を学ぶことができます。全講座はAndroid Kotlin基礎講座にリスト化されていますので参考にしてください。

またこの記事ではGoogle Developers Training teamによってGoogle Codelabsに公開されているAndroid Kotlin Fundamentals courseを日本語に翻訳しつつ、筆者の考察も交えながら発信しています。オリジナルのサイト(英文)はこちら

イントロダクション

趣味用に開発するにしても、商用に開発するにしても、多くのユーザーがアプリを利用できるようにすることは理に適っています。そのための手段はいくつかあります。

  • RTL言語のサポート:ヨーロピアンやその他多くの言語は左から右に読まれます。そしてそういった地域から発信されたアプリは、一般的にそれらの言語に適するように設計されています。一方、アラビックなどの言語を使っている人々は、右から左に文字を読みます。アプリを右から左に読む言語(RTL)に対応させることで、潜在ユーザーを増やすことができます。
  • アクセシビリティの検査:他の人があなたのアプリでどういった経験をするかを推測することは難しいものです。ユーザー補助検証ツールというアプリを使うことで、そういった推測作業を代わりにこなしてくれ、アプリの分析をし、どこを改良できるかを特定してくれます。
  • コンテンツの説明文を読むTalkBackに対応させる:視覚障害を持つ人は人々が思っているよりも多く存在します。盲目の人に限らず、多くの人が画面読み上げを使っています。コンテンツの説明文はユーザーが画面上の要素を操作した時に読み上げられる文章です。
  • ナイトモードに対応させる:多くの視覚障害者にとって、画面の色を変えることで、コントラストが改良され、アプリの可視性が高まります。Androidではナイトモードへの対応が簡単にできるようになっています。デフォルトの画面色に代わる代替色をユーザーが利用できるように、常にナイトモードをサポートすべきです。

この記事では、これらのオプションについて学習し、GDG Finderアプリをこれらに対応させます。

前提知識

  • アクティビティ、フラグメントを使ってアプリを作成する方法。またデータを渡してフラグメント間を遷移させる方法。
  • UIのレイアウトを作るためのビューやビューグループ、特にRecyclerViewの使い方。
  • ViewModelを含むアーキテクチャコンポーネントの使い方。
  • データバインディング、コルーチン、クリックの処理方法について。
  • インターネットへの接続方法とRoomデータベースを用いてデータをローカルにキャッシュする方法。
  • ビューの属性の設定方法およびXMLリソースファイルにリソースを抽出する方法と、そのリソースの使い方。
  • アプリの見た目をカスタマイズするためのスタイル、テーマの使い方。
  • マテリアルコンポーネント、ディメンションリソース、カスタムカラーの使い方。

この講座で学べること

  1. 最大限のユーザーにとってアプリを利用可能にする方法
  2. アプリをRTL言語に対応させる方法
  3. アプリのアクセシビリティを評価する方法
  4. 画面読み上げに対応させるためのコンテンツの説明文を使う方法
  5. アプリをダークモードに対応させる方法

概要

  • RTL言語に対応させ、アクセシビリティを向上させるために、アプリを評価、拡張する。
  • アプリのどこが改良できるかを決めるためのアプリの検査。
  • 画像用のコンテンツの説明文の利用。
  • ドローアブル(画像)の使い方の学習。
  • ナイトモードの追加。

完全無料で通えるプログラミングスクール

プログラミング学習はどうしても一人だとつまづいてしまう時がきます。調べればわかることも少なくないですが、最初のうちは調べ方もわからないことが多いため、あまり効率的ではありません。

効率的かつ挫折せずにプログラミングを学習したい方はスクールを検討してみるのも一つの手です。

中には無料で通えるスクールや、就職保証をしてくれるスクールなどもあるので、きっとあなたの目的に応じて最適のスクールが見つかります!以下の記事で評判がよく特におすすめのスクールをいくつかピックアップしているので、スクール選びで後悔したくない方は御覧ください!

https://codelabsjp.net/best-programming-school/