SlideShare a Scribd company logo
まったりAndroid

Framework Code Reading #4
会場説明 + 諸注意
• Wi-Fiあります
• 飲食可です(お菓子用意しました。食べてね★)
• 途中でお帰りになる際には、私に一声かけてください
• お帰りの際に、入館許可証に弊社担当社員のサイン
が必要となっております。

ご協力宜しくお願い申し上げます。
タイムテーブル
ハッシュタグ
#m_android_fcr
About Me
Shinobu Okano
@operandoOS
Mercari, Inc.
Souzoh, Inc.
Code Reading楽しい☺
Android Framework??
Android Frameworkとは??
• ざっくり言ってAndroidを構成しているもの
• Layerでなんとなく分かれている
• とにかく広い・デカイ・やばい
Android Frameworkとは??
Android Frameworkとは??
アプリ開発者が

カジュアルに

読めるのはここらへん
Android Frameworkとは??
アプリ開発者が

カジュアルに

読めるのはここらへん
https://source.android.com/security/Source :
まったりAndroid
Framework Code Reading??
Code Readingの目的
Code Readingの目的
• Androidのソースコードを読んで開発等に役立てる
• カジュアルにまったり色んなコードを読んで

成果や知識を共有できれば最高
Code Reading Q&A
Code Reading Q&A
Q. SDKのコードでもOK??
A. もちろんOK!
Q. ライブラリのコードでもOK??
A. もちろんOK!
Q. HALやKernel、ARTでもOK??
A. 大歓迎!
Code Readingの成果
Code Readingの成果
• Github Organizationにまとめていく
• https://github.com/AndroidFrameworkCodeReading
• ざっくりの成果でOK(Markdownでざっくりとか)
※きちんとした成果を強制するわけじゃありません
勉強会でのやりとりなどなど…
勉強会でのやりとりなどなど…
• Gitter用意してます!(誰でも参加できます)
• https://gitter.im/AndroidFrameworkCodeReading/CodeReadingHistory
• 残しておきたいやりとり,気になったこと
• 成果 / 共有したいこと,などなど…
• オープンな活動のためGitterご利用ください!
まったりAndroid Framework Code Reading
「もっと詳しく!」はこちらを読んでください!
http://hack-it-iron.hatenablog.com/entry/2015/06/11/143629
※ポエムです
まったりAndroid
Framework Code Reading#4
裏テーマ
Android N 読もう!
Android N
• Multi-window Support
• Doze on the Go
• Background Optimizations
• Data Saver
• Vulkan API
• Quick Settings Tile API
• Locales and Languages
• VR Support
• etc…
OpenGrok - Android N
http://tools.oesf.biz/android-7.0.0_r1.0/
Android 7.0 for Developers
https://developer.android.com/about/
versions/nougat/android-7.0.html
API Differences between 23 and 24
https://developer.android.com/sdk/
api_diff/24/changes.html
Android 7.1 for Developers
https://developer.android.com/preview/
api-overview.html
※Previewはversionごとに存在しないのでそのうち内容変わります
Android N Code Reading
https://github.com/AndroidFrameworkCodeReading/
Android-N-Code-Reading
紹介したリンクは下のところにまとめてまーす
なに読もうかなー
• なにを読むのか決めてくださーい!
• ざっくりでOK
• 誰かと相談したり、一緒に読んだりでもOK
例えば…
• Intentの仕組みを知りたい!
• Storageの仕組みを知りたい!
• JobSchedulerの仕組みを知りたい!
• とにかくAndroidを壊したい!
• とかとか…
なに読むか決まったら
• 最後成果をまとめる時のために、なに読むかを
Twitter or Gitterに書いてください
• 後日成果をまとめたリンク等をTwitter or Gitter
に書いていただければ、運営の方でGithubに

まとめます!
こんな感じでまとめます
https://github.com/AndroidFrameworkCodeReading/CodeReadingHistory/wiki/%E3%81%BE
%E3%81%A3%E3%81%9F%E3%82%8AAndroid-Framework-Code-Reading-%233
Enjoy Code Reading!!

More Related Content

What's hot

Android4.3 の内容
Android4.3 の内容Android4.3 の内容
Android4.3 の内容
Vitalify.Inc
 
はじめよう!Ossコードリーディング!!
はじめよう!Ossコードリーディング!!はじめよう!Ossコードリーディング!!
はじめよう!Ossコードリーディング!!
友里 高島
 
2015年度研究室プレ卒研用Android講座1
2015年度研究室プレ卒研用Android講座12015年度研究室プレ卒研用Android講座1
2015年度研究室プレ卒研用Android講座1
Hokuto Tateyama
 

What's hot (20)

Screenshots Test spoon + espresso
Screenshots Test spoon + espressoScreenshots Test spoon + espresso
Screenshots Test spoon + espresso
 
Androidエンジニアが語るwwdc2014
Androidエンジニアが語るwwdc2014Androidエンジニアが語るwwdc2014
Androidエンジニアが語るwwdc2014
 
はじめる前に知っておきたいAndroidアプリ開発のポイント
はじめる前に知っておきたいAndroidアプリ開発のポイントはじめる前に知っておきたいAndroidアプリ開発のポイント
はじめる前に知っておきたいAndroidアプリ開発のポイント
 
5分で資料作ってSlideShareにアップロードする錬金術
5分で資料作ってSlideShareにアップロードする錬金術5分で資料作ってSlideShareにアップロードする錬金術
5分で資料作ってSlideShareにアップロードする錬金術
 
Androidアプリ開発ことはじめ
Androidアプリ開発ことはじめAndroidアプリ開発ことはじめ
Androidアプリ開発ことはじめ
 
詳細設計とアプリケーション開発工程
詳細設計とアプリケーション開発工程詳細設計とアプリケーション開発工程
詳細設計とアプリケーション開発工程
 
Google Codelabsをやってみた
Google CodelabsをやってみたGoogle Codelabsをやってみた
Google Codelabsをやってみた
 
Practical Android scripting with Ruby
Practical Android scripting with RubyPractical Android scripting with Ruby
Practical Android scripting with Ruby
 
[Android] モジュール管理で ビルド高速化!
[Android] モジュール管理で ビルド高速化!	[Android] モジュール管理で ビルド高速化!
[Android] モジュール管理で ビルド高速化!
 
Android4.3 の内容
Android4.3 の内容Android4.3 の内容
Android4.3 の内容
 
Android StudioではじめるAndroidアプリケーション実践入門 先生:日高 正博
Android StudioではじめるAndroidアプリケーション実践入門 先生:日高 正博Android StudioではじめるAndroidアプリケーション実践入門 先生:日高 正博
Android StudioではじめるAndroidアプリケーション実践入門 先生:日高 正博
 
ChromeとAndroidの 過去・現在・未来 ver 0.1
ChromeとAndroidの 過去・現在・未来  ver 0.1ChromeとAndroidの 過去・現在・未来  ver 0.1
ChromeとAndroidの 過去・現在・未来 ver 0.1
 
Androidオススメライブラリ紹介
Androidオススメライブラリ紹介Androidオススメライブラリ紹介
Androidオススメライブラリ紹介
 
はじめよう!Ossコードリーディング!!
はじめよう!Ossコードリーディング!!はじめよう!Ossコードリーディング!!
はじめよう!Ossコードリーディング!!
 
Android,Brillo,ChromeOS
Android,Brillo,ChromeOSAndroid,Brillo,ChromeOS
Android,Brillo,ChromeOS
 
2015年度研究室プレ卒研用Android講座1
2015年度研究室プレ卒研用Android講座12015年度研究室プレ卒研用Android講座1
2015年度研究室プレ卒研用Android講座1
 
モダンなAndroidアプリ開発勉強会
モダンなAndroidアプリ開発勉強会モダンなAndroidアプリ開発勉強会
モダンなAndroidアプリ開発勉強会
 
shinobu.apk #1
shinobu.apk #1shinobu.apk #1
shinobu.apk #1
 
shinobu.apk #3
shinobu.apk #3shinobu.apk #3
shinobu.apk #3
 
関西FXOS勉強会3rdGIG キーボード大好き!
関西FXOS勉強会3rdGIG キーボード大好き!関西FXOS勉強会3rdGIG キーボード大好き!
関西FXOS勉強会3rdGIG キーボード大好き!
 

Similar to まったりAndroid Framework Code Reading #4

姫路IT系勉強会「ADB接続でかんたんフィジカルコンピューティング」
姫路IT系勉強会「ADB接続でかんたんフィジカルコンピューティング」姫路IT系勉強会「ADB接続でかんたんフィジカルコンピューティング」
姫路IT系勉強会「ADB接続でかんたんフィジカルコンピューティング」
Kenichi Yoshida
 

Similar to まったりAndroid Framework Code Reading #4 (20)

AndroidのAppirater何使ってますか?
AndroidのAppirater何使ってますか?AndroidのAppirater何使ってますか?
AndroidのAppirater何使ってますか?
 
Barcode-punk
Barcode-punkBarcode-punk
Barcode-punk
 
Swift afterbeginner
Swift afterbeginnerSwift afterbeginner
Swift afterbeginner
 
Bindingからframework elementを見つける
Bindingからframework elementを見つけるBindingからframework elementを見つける
Bindingからframework elementを見つける
 
Android学ぶを君へ。生き抜くためのナレッジ共有
Android学ぶを君へ。生き抜くためのナレッジ共有Android学ぶを君へ。生き抜くためのナレッジ共有
Android学ぶを君へ。生き抜くためのナレッジ共有
 
Cordova利用アプリ開発経験談
Cordova利用アプリ開発経験談Cordova利用アプリ開発経験談
Cordova利用アプリ開発経験談
 
きつねさんでもわかる Firefox OS コードリーディング入門
きつねさんでもわかる Firefox OS コードリーディング入門きつねさんでもわかる Firefox OS コードリーディング入門
きつねさんでもわかる Firefox OS コードリーディング入門
 
Handoff from Safari
Handoff from SafariHandoff from Safari
Handoff from Safari
 
SnapDishの事例
SnapDishの事例SnapDishの事例
SnapDishの事例
 
PHPerにもCoderDojoのメンターとしてお手伝いしてほしい
PHPerにもCoderDojoのメンターとしてお手伝いしてほしいPHPerにもCoderDojoのメンターとしてお手伝いしてほしい
PHPerにもCoderDojoのメンターとしてお手伝いしてほしい
 
VRの入力デバイス #JAGVR
VRの入力デバイス #JAGVRVRの入力デバイス #JAGVR
VRの入力デバイス #JAGVR
 
ニュースアプリで起きた不具合から学んだ 最適への一歩
ニュースアプリで起きた不具合から学んだ 最適への一歩ニュースアプリで起きた不具合から学んだ 最適への一歩
ニュースアプリで起きた不具合から学んだ 最適への一歩
 
Logcatの話
Logcatの話Logcatの話
Logcatの話
 
姫路IT系勉強会「ADB接続でかんたんフィジカルコンピューティング」
姫路IT系勉強会「ADB接続でかんたんフィジカルコンピューティング」姫路IT系勉強会「ADB接続でかんたんフィジカルコンピューティング」
姫路IT系勉強会「ADB接続でかんたんフィジカルコンピューティング」
 
Developer Summit 2014, 13-C-4 セッション
Developer Summit 2014, 13-C-4 セッションDeveloper Summit 2014, 13-C-4 セッション
Developer Summit 2014, 13-C-4 セッション
 
Pythonにおけるデバッガツールpdbについて
PythonにおけるデバッガツールpdbについてPythonにおけるデバッガツールpdbについて
Pythonにおけるデバッガツールpdbについて
 
Nfc lab浜松勉強会
Nfc lab浜松勉強会Nfc lab浜松勉強会
Nfc lab浜松勉強会
 
海外へのアウトソーシング
海外へのアウトソーシング海外へのアウトソーシング
海外へのアウトソーシング
 
iPhone/Android アプリをまとめて省エネ開発する技術
iPhone/Android アプリをまとめて省エネ開発する技術iPhone/Android アプリをまとめて省エネ開発する技術
iPhone/Android アプリをまとめて省エネ開発する技術
 
趣味プログラマの先輩からのアドバイス
趣味プログラマの先輩からのアドバイス趣味プログラマの先輩からのアドバイス
趣味プログラマの先輩からのアドバイス
 

More from Shinobu Okano

More from Shinobu Okano (16)

OnActivityResult - おまえら!もうonActivityResultでswitchとif書く時代は終わりだぞ!
OnActivityResult - おまえら!もうonActivityResultでswitchとif書く時代は終わりだぞ!OnActivityResult - おまえら!もうonActivityResultでswitchとif書く時代は終わりだぞ!
OnActivityResult - おまえら!もうonActivityResultでswitchとif書く時代は終わりだぞ!
 
Kotlinでマッチョする話
Kotlinでマッチョする話Kotlinでマッチョする話
Kotlinでマッチョする話
 
Lightweight-Stream-APIのあるAndroidアプリ開発
Lightweight-Stream-APIのあるAndroidアプリ開発Lightweight-Stream-APIのあるAndroidアプリ開発
Lightweight-Stream-APIのあるAndroidアプリ開発
 
Android + JSON-RPC
Android + JSON-RPCAndroid + JSON-RPC
Android + JSON-RPC
 
Gradle PluginとCIと俺
Gradle PluginとCIと俺Gradle PluginとCIと俺
Gradle PluginとCIと俺
 
shinobu.apk #2
shinobu.apk #2shinobu.apk #2
shinobu.apk #2
 
Kotlinにお触り
Kotlinにお触りKotlinにお触り
Kotlinにお触り
 
Gradle PluginとTwitterとズン ドコ キ・ヨ・シ!
Gradle PluginとTwitterとズン ドコ キ・ヨ・シ!Gradle PluginとTwitterとズン ドコ キ・ヨ・シ!
Gradle PluginとTwitterとズン ドコ キ・ヨ・シ!
 
ChromeとAndroidの過去・現在・未来
ChromeとAndroidの過去・現在・未来ChromeとAndroidの過去・現在・未来
ChromeとAndroidの過去・現在・未来
 
Android Dev Tools Knowledge
Android Dev Tools KnowledgeAndroid Dev Tools Knowledge
Android Dev Tools Knowledge
 
GarumとMeteoriteと私 3nd Edition ver0.04
GarumとMeteoriteと私 3nd Edition ver0.04GarumとMeteoriteと私 3nd Edition ver0.04
GarumとMeteoriteと私 3nd Edition ver0.04
 
隕石という名のスクリーンショットをSlackに落下させる話
隕石という名のスクリーンショットをSlackに落下させる話隕石という名のスクリーンショットをSlackに落下させる話
隕石という名のスクリーンショットをSlackに落下させる話
 
Upload a screenshot to Slack
Upload a screenshot to SlackUpload a screenshot to Slack
Upload a screenshot to Slack
 
JobScheduler Code Reading
JobScheduler Code ReadingJobScheduler Code Reading
JobScheduler Code Reading
 
『メルカリ』のアップデート監視 を支える(かもしれない)技術
『メルカリ』のアップデート監視 を支える(かもしれない)技術『メルカリ』のアップデート監視 を支える(かもしれない)技術
『メルカリ』のアップデート監視 を支える(かもしれない)技術
 
App Permissions
App PermissionsApp Permissions
App Permissions
 

Recently uploaded

2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
ssuserbefd24
 

Recently uploaded (10)

MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
 
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
 
20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
 
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
 

まったりAndroid Framework Code Reading #4