Image for post
Image for post

DroidKaigi 2019でのCodelabsについて

satsukies
satsukies
Feb 4, 2019 · 5 min read

DroidKaigi スタッフの satsukies です。DroidKaigi 2019 開催日が近づいてきました。今回は当日実施する Codelabs についてのご案内です。

DroidKaigi 2019 では、Day1/ Day2 ともに Room 5 にて Codelabs を実施します 🎉。
今年はGoogle 公式の Codelabs にチャレンジしていただくものに加えて、オリジナルの Codelabs として Android App Improvement Challenge の 2 種類を準備いたしました!

Android App Improvement Challenge とは

このオリジナル Codelabs は、みなさんが日々業務で扱うような実際のプロジェクトを想定して作られています。
プロジェクトは長い年月を経て、様々な機能改修や新機能追加などが継続的に行われます。そしてその積み重ねが時に複雑怪奇なコードを生み出してしまうことも起こり得ます。

そのようなコードに直面した時、どのように現状のコードを読み解いて、求められている要件を達成したらよいのでしょうか?
この Codelabs では、用意されたお題に沿ってチャレンジしていただくことで、より実践的な体験をしていただけると考えています。

Android App Improvement Challenge の内容をちょっとだけご紹介

今回、 HackerNews の記事一覧をリストで表示できるアプリをサンプルとして用意しました。アイテムをタップすることで記事を表示することができる、シンプルなアプリです。

Image for post
Image for post
アプリの動きの例

このアプリは、Android Developers で紹介されている アプリのアーキテクチャガイド とは正反対な性質を持ってしまっています。

  • 様々な処理が Activity に記述されているためにとても Fat な Activity と化している
  • データがキャッシュされていない
  • テストが書かれていない

などです。

以下は、サンプルプロジェクト内のとある Activity のコードの一部です。
progressView の visibility を変更するため、CountDownLatch で複数の非同期処理の完了を待っているようですが・・・?
visibility の変更に Util クラスが使われているのも、なんだか嫌な雰囲気を感じてしまうコードですね!😅

Image for post
Image for post
Codelabs で改善に取り組む実装の一部

お題について

Android App Improvement Challenge は、DroidKaigi 2019 Day2 に開催いたします。2 つの Part を用意しており、それぞれ開催時間が異なります。

  1. Android App Improvement Challenge Part1: Adding Features / 機能実装編 10:30–11:50 (1 時間 20 分)
  2. Android App Improvement Challenge Part2: Refactoring / リファクタ編 12:50–15:00 (2 時間 10 分)

各 Part の最初に概要の説明時間を設けていますが、基本的に入退室自由となっております。
席に限りがございますが、来場者の皆様のご参加をお待ちしております!

参加をご希望の来場者の皆様に事前準備のお願い

当日は会場にネットワーク環境がございますが、皆様にスムーズにご参加頂く為に次の 3 点については事前にご準備をお願い致します。

1. Android Studioのインストール

2. SDK ManagerでAndroid SDK Platform 28のインストール

3. Gitのインストール

  • 課題は GitHub で公開する予定です

English Speaker へのご案内

Android App Improvement Challenge の資料は英語版もありますが、スタッフ配置の都合上、当日は英語による口頭でのサポートが困難です。申し訳ありませんが、予めご了承下さい。

スタッフ一同、当日みなさんと一緒に Codelabs に取り組むことを楽しみにしております!

DroidKaigi

DroidKaigiは、エンジニアが主役のAndroidカンファレンスです。Android開発者有志による実行委員会が主…

satsukies

Written by

satsukies

某高専→某大学院→Androidえんじにあー。動画サービスの会社でガジェットのオタクしてます。

DroidKaigi

DroidKaigiは、エンジニアが主役のAndroidカンファレンスです。Android開発者有志による実行委員会が主催し、Android技術情報の共有とコミュニケーションを目的に2020/2/20(木)~2020/2/21(金)に開催します。

satsukies

Written by

satsukies

某高専→某大学院→Androidえんじにあー。動画サービスの会社でガジェットのオタクしてます。

DroidKaigi

DroidKaigiは、エンジニアが主役のAndroidカンファレンスです。Android開発者有志による実行委員会が主催し、Android技術情報の共有とコミュニケーションを目的に2020/2/20(木)~2020/2/21(金)に開催します。

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch

Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore

Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store