Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
mokelab
PDF, PPTX
1,595 views
20170804 Builderscon Androidアプリ開発アンチパターン
2017年8月4日〜5日で開催されたBuildersconで講演したときの資料だよ♪ Androidのアンチパターン、知ろう♪
Engineering
◦
Read more
4
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 111
2
/ 111
3
/ 111
4
/ 111
5
/ 111
6
/ 111
7
/ 111
8
/ 111
9
/ 111
10
/ 111
11
/ 111
12
/ 111
13
/ 111
14
/ 111
15
/ 111
16
/ 111
17
/ 111
18
/ 111
19
/ 111
20
/ 111
21
/ 111
22
/ 111
23
/ 111
24
/ 111
25
/ 111
26
/ 111
27
/ 111
28
/ 111
29
/ 111
30
/ 111
31
/ 111
32
/ 111
33
/ 111
34
/ 111
35
/ 111
36
/ 111
37
/ 111
38
/ 111
39
/ 111
40
/ 111
41
/ 111
42
/ 111
43
/ 111
44
/ 111
45
/ 111
46
/ 111
47
/ 111
48
/ 111
49
/ 111
50
/ 111
51
/ 111
52
/ 111
53
/ 111
54
/ 111
55
/ 111
56
/ 111
57
/ 111
58
/ 111
59
/ 111
60
/ 111
61
/ 111
62
/ 111
63
/ 111
64
/ 111
65
/ 111
66
/ 111
67
/ 111
68
/ 111
69
/ 111
70
/ 111
71
/ 111
72
/ 111
73
/ 111
74
/ 111
75
/ 111
76
/ 111
77
/ 111
78
/ 111
79
/ 111
80
/ 111
81
/ 111
82
/ 111
83
/ 111
84
/ 111
85
/ 111
86
/ 111
87
/ 111
88
/ 111
89
/ 111
90
/ 111
91
/ 111
92
/ 111
93
/ 111
94
/ 111
95
/ 111
96
/ 111
97
/ 111
98
/ 111
99
/ 111
100
/ 111
101
/ 111
102
/ 111
103
/ 111
104
/ 111
105
/ 111
106
/ 111
107
/ 111
108
/ 111
109
/ 111
110
/ 111
111
/ 111
More Related Content
PDF
Android Studio 2.2の紹介@Google I/O 2016東京報告会
by
mokelab
PDF
ABC2016Spring Androidアプリ実装アンチパターン(暫定)
by
mokelab
PDF
Android Wearアプリ開発経験談
by
Kenichi Kambara
PDF
Android Wearアプリ プレビュー版→正式版への移植ガイド
by
Kenichi Kambara
PDF
Android Lintを覚えてベテラン開発者に追いつこう #ndsmeetup
by
Yukiya Nakagawa
PDF
はじめる前に知っておきたいAndroidアプリ開発のポイント
by
Shinobu Okano
PDF
Android学ぶを君へ。生き抜くためのナレッジ共有
by
Shinobu Okano
PDF
テストがあればなんとかなる〜効率化までの道程〜
by
Takao Sumitomo
Android Studio 2.2の紹介@Google I/O 2016東京報告会
by
mokelab
ABC2016Spring Androidアプリ実装アンチパターン(暫定)
by
mokelab
Android Wearアプリ開発経験談
by
Kenichi Kambara
Android Wearアプリ プレビュー版→正式版への移植ガイド
by
Kenichi Kambara
Android Lintを覚えてベテラン開発者に追いつこう #ndsmeetup
by
Yukiya Nakagawa
はじめる前に知っておきたいAndroidアプリ開発のポイント
by
Shinobu Okano
Android学ぶを君へ。生き抜くためのナレッジ共有
by
Shinobu Okano
テストがあればなんとかなる〜効率化までの道程〜
by
Takao Sumitomo
What's hot
PDF
iアプリつくろうぜ!~20101020 DevLOVE Android勉強会~
by
一法 山崎
PDF
「Camelog」Android開発秘話
by
Shoya Tsukada
PDF
minneにおけるテスト〜リリース〜リリース後にやっている事の紹介
by
Masataka Kono
PDF
2015年度研究室プレ卒研用Android講座1
by
Hokuto Tateyama
PPTX
[ABC2016S]Android Wear アプリ開発入門
by
Kenichi Kambara
PDF
エンジニアリングするデザイナーが領域を超えて見えたこと
by
Mayumi Narisawa
PDF
スマホだけでアプリが作れる!「Androidでプログラミング」特別講座
by
schoowebcampus
PDF
Google I/O 2017超速報告~最新Google動向 ワイヤレスジャパン2017 AコースAndroid 資料公開
by
嶋 是一 (Yoshikazu SHIMA)
PDF
Google I/O 2017 現地レポート VR、PWA風味をJAG運営委員が語る ~IoTやAIも隠し味でVRとAIの報告と I/Oに参加して思ったコ...
by
嶋 是一 (Yoshikazu SHIMA)
PDF
Kotlin/Golang Developer seminor. 「Androidが生み出す開発言語の多様性」 リックテレコム主催
by
嶋 是一 (Yoshikazu SHIMA)
PDF
Android StudioではじめるAndroidアプリケーション実践入門 先生:日高 正博
by
schoowebcampus
PDF
Cordova利用アプリ開発経験談
by
Kenichi Kambara
PPTX
Androidアプリ開発ことはじめ
by
takosumipasta
PDF
ABC2016 Spring 春の大LT祭り 「Android N」
by
嶋 是一 (Yoshikazu SHIMA)
PDF
Gradle PluginとTwitterとズン ドコ キ・ヨ・シ!
by
Shinobu Okano
PDF
最新AndroidとIoTプラットフォームの今 (WJ2016)
by
嶋 是一 (Yoshikazu SHIMA)
KEY
iPhoneアプリ開発を楽に楽しくするサイトまとめ
by
Hiramatsu Ryosuke
PDF
Flutter2
by
asuka y
PDF
Code igniter + ci phpunit-test
by
ME iBotch
PDF
兄弟アプリのロジック共通化とビルド高速化の実験
by
ichigotake .
iアプリつくろうぜ!~20101020 DevLOVE Android勉強会~
by
一法 山崎
「Camelog」Android開発秘話
by
Shoya Tsukada
minneにおけるテスト〜リリース〜リリース後にやっている事の紹介
by
Masataka Kono
2015年度研究室プレ卒研用Android講座1
by
Hokuto Tateyama
[ABC2016S]Android Wear アプリ開発入門
by
Kenichi Kambara
エンジニアリングするデザイナーが領域を超えて見えたこと
by
Mayumi Narisawa
スマホだけでアプリが作れる!「Androidでプログラミング」特別講座
by
schoowebcampus
Google I/O 2017超速報告~最新Google動向 ワイヤレスジャパン2017 AコースAndroid 資料公開
by
嶋 是一 (Yoshikazu SHIMA)
Google I/O 2017 現地レポート VR、PWA風味をJAG運営委員が語る ~IoTやAIも隠し味でVRとAIの報告と I/Oに参加して思ったコ...
by
嶋 是一 (Yoshikazu SHIMA)
Kotlin/Golang Developer seminor. 「Androidが生み出す開発言語の多様性」 リックテレコム主催
by
嶋 是一 (Yoshikazu SHIMA)
Android StudioではじめるAndroidアプリケーション実践入門 先生:日高 正博
by
schoowebcampus
Cordova利用アプリ開発経験談
by
Kenichi Kambara
Androidアプリ開発ことはじめ
by
takosumipasta
ABC2016 Spring 春の大LT祭り 「Android N」
by
嶋 是一 (Yoshikazu SHIMA)
Gradle PluginとTwitterとズン ドコ キ・ヨ・シ!
by
Shinobu Okano
最新AndroidとIoTプラットフォームの今 (WJ2016)
by
嶋 是一 (Yoshikazu SHIMA)
iPhoneアプリ開発を楽に楽しくするサイトまとめ
by
Hiramatsu Ryosuke
Flutter2
by
asuka y
Code igniter + ci phpunit-test
by
ME iBotch
兄弟アプリのロジック共通化とビルド高速化の実験
by
ichigotake .
Similar to 20170804 Builderscon Androidアプリ開発アンチパターン
PDF
ヤフオク!の快適なカスタマー体験を支えるモバイルアプリのライブアップデート技術
by
Yahoo!デベロッパーネットワーク
PDF
みゆっき☆Think#3 「androidに触ってみるよ!」
by
techtalkdwango
PDF
Android0422
by
takahiko_takahashi
PDF
Weekend Androidのススメ
by
Suzuki Junko
ODP
Android携帯アプリ開発の基礎の基礎
by
dnakagome
PPTX
Androidプログラミング入門
by
OESF Education
ODP
はじめてのAndroid in 高知
by
hiro nemu
PDF
アプリリリース後に後悔しないための20のこと
by
leverages_event
PPTX
1月からAndroidアプリ開発をやってみての近況
by
takathemax
PDF
20120324 ABC2012S Android開発者とデザイナーの効率的な連携に利く話
by
youten (ようてん)
PDF
Android Lecture #01 @PRO&BSC Inc.
by
Yuki Higuchi
PDF
Tokyo GTUG Bootcamp2010
by
Takashi EGAWA
PDF
Androidアプリ開発
by
しくみ製作所
PDF
Android勉強会LT資料
by
Junichiro Ueno
PDF
Androidアプリ開発を楽にするために
by
Shuichi Takaya
PPTX
初めてのAndroid開発
by
tanihiro
PPTX
Archive: Android アプリ開発入門(2015/6/19 社内勉強会)
by
Yoko TAMADA
PPS
專訪李光耀
by
honan4108
PDF
あの手この手で楽して覚えるAndroid開発Tips
by
Yoshihiro Wada
PDF
もう怖くないモバイルアプリ開発!
by
Toshiki Iga
ヤフオク!の快適なカスタマー体験を支えるモバイルアプリのライブアップデート技術
by
Yahoo!デベロッパーネットワーク
みゆっき☆Think#3 「androidに触ってみるよ!」
by
techtalkdwango
Android0422
by
takahiko_takahashi
Weekend Androidのススメ
by
Suzuki Junko
Android携帯アプリ開発の基礎の基礎
by
dnakagome
Androidプログラミング入門
by
OESF Education
はじめてのAndroid in 高知
by
hiro nemu
アプリリリース後に後悔しないための20のこと
by
leverages_event
1月からAndroidアプリ開発をやってみての近況
by
takathemax
20120324 ABC2012S Android開発者とデザイナーの効率的な連携に利く話
by
youten (ようてん)
Android Lecture #01 @PRO&BSC Inc.
by
Yuki Higuchi
Tokyo GTUG Bootcamp2010
by
Takashi EGAWA
Androidアプリ開発
by
しくみ製作所
Android勉強会LT資料
by
Junichiro Ueno
Androidアプリ開発を楽にするために
by
Shuichi Takaya
初めてのAndroid開発
by
tanihiro
Archive: Android アプリ開発入門(2015/6/19 社内勉強会)
by
Yoko TAMADA
專訪李光耀
by
honan4108
あの手この手で楽して覚えるAndroid開発Tips
by
Yoshihiro Wada
もう怖くないモバイルアプリ開発!
by
Toshiki Iga
20170804 Builderscon Androidアプリ開発アンチパターン
2.
Androidアプリ開発 アンチパターン 〜 Builderscon 2017〜
3.
@mokelab ● モバイルアプリの 受託開発 ● 技術情報発信 ●
グッズ販売
4.
Tech Sheets
5.
本がでます Androidアプリ開発 74のアンチパターン 初心者〜中級者向けに アプリ開発時の落とし穴を74個紹介 アプリを全く書いたことのない人は 別の本で学んでから!
7.
Q Androidを使ってる?
8.
Q Androidアプリ書いてる?
10.
アプリ開発に 関係ありそうなセッション ● Ionic 3+ではじめる次世代アプリ開発 ○
HTML5だ! ● サーバサイドKotlinのすすめ ○ Kotlinだがサーバサイドだ! ● Serverless Server Side Swift ○ Swiftだがサーバサイドだ! ● LT
11.
アプリ書いてるひと 来ない気がする!
12.
なのに トラックE (イベントホール)
14.
「知らなかった、 を聞く」
15.
Androidや Androidアプリ開発を 知ろう
16.
なぜ知るの?
17.
Androidアプリ開発には 落とし穴がいっぱい
18.
知ろう
19.
そして Androidアプリ開発者を 大事にしてあげて
20.
会話 1 来週からはAndroidアプリ開発やってくれ はい!本を買って開発環境作っておきます! やった!2011年の入門書が100円だった!
21.
アンチパターン 1
22.
アンチパターン 1 Eclipse /
ADTを使ってる
23.
アンチパターン 1 プラグインのサポート終了
24.
アンチパターン 1 ライブラリが使いづらい
25.
Androidを知る ライブラリの形式 AndroidはJava → jarをクラスパスに
26.
Androidを知る ライブラリの形式 jarにリソースをいれたい
27.
Androidを知る ライブラリの形式 が jarにはリソース入らない
28.
Androidを知る ライブラリの形式 aar形式!
29.
Androidを知る ライブラリの形式 aar形式 はEclipse/ADTで使えない
30.
アンチパターン 1 解決方法
31.
Androidを知る アクティビティ UIを提供する コンポーネント
32.
Androidを知る アクティビティ
33.
Androidを知る アクティビティ アプリ開発者は Activityを継承した クラスを定義していく
34.
Androidを知る アクティビティ アクティビティは OSからいろんな情報を 受け取る役割
35.
会話 2 このアプリ、画面回転すると落ちるよ! な、なんとかします! ぐぐったら解決方法あった、やったね!
36.
アンチパターン 2 画面回転の対応が android:confingChanges
37.
Androidを知る 構成変更 画面回転すると落ちる。。
38.
Androidを知る 構成変更 android:configChanges="orientation|screenSize"
39.
アンチパターン 2 たぶん 別の理由で 簡単に落ちます
40.
アンチパターン 2
41.
Androidを知る 構成変更 android:configChangesは 「この変更は 自分でなんとかする」 という意味
42.
アンチパターン 2 解決方法 android:configChangesは よっぽどの理由がない限り 使わない!
43.
アンチパターン 2 解決方法 次のアンチパターンが 根本原因
44.
会話 3 このアプリ、次の画面いって戻ると 時々落ちるんだけど。。 な、なんとかします! なんでこのフィールド、nullになってるんだろ。。。
45.
アンチパターン 3 アクティビティの復元 考えてない
46.
Androidを知る 復元と再生成 復元?
47.
Androidを知る 復元と再生成 アクティビティオブジェクトは OSが作る
48.
Androidを知る 復元と再生成 アクティビティオブジェクトは よく、破棄される ゴミ箱
49.
Androidを知る 復元と再生成 破棄前に 状態を保存するチャンスを与える Bundle 破棄前の状態
50.
Androidを知る 復元と再生成 必要になったら再生成 破棄前の状態
51.
アンチパターン 3
52.
アンチパターン 3 解決方法 ちゃんとやれ!
53.
アンチパターン 3 解決方法 onSaveInstanceState()で 保存し onCreate()で 復元する!
54.
アンチパターン 3 解決方法 OSが破棄するタイミングは まちまち
55.
アンチパターン 3 解決方法 動作確認はどうやる?
56.
アンチパターン 3 解決方法
57.
会話 4 ログインAPIを呼ぶと、 アクセストークンもらえるよ どこかに保存しておきます! static変数にいれると、便利そうだな。。
58.
アンチパターン 4 アクセストークンを static変数に入れている
59.
Androidを知る プロセス プロセス=実行の単位
60.
Androidを知る プロセス プロセスで Java VMが起動
61.
Androidを知る プロセス 原則1アプリ=1プロセス
62.
Androidを知る プロセス アクティビティは いろんなアプリで起動 アクティビティA アクティビティB アクティビティC アクティビティD アクティビティE アクティビティAアクティビティA
63.
アンチパターン 4 うちのアプリ 別アプリからは呼ばれないよ?
64.
Androidを知る プロセス static変数の値は プロセスが止まると消える
65.
Androidを知る プロセス プロセスは いきなり止まる
66.
アンチパターン 4 アクティビティの中断
67.
アンチパターン 4 PCアプリは 最小化しても プロセスは死なない
68.
アンチパターン 4 Androidアプリは バックグラウンドにいると プロセスが止められることがある
69.
アンチパターン 4 でも ちゃんと再開できる
70.
アンチパターン 4 ログイン画面 ↓ static変数にトークン保存 ↓ メイン画面 ↓ ホームボタンで中断
71.
アンチパターン 4 ホームボタンで中断 ↓ プロセスが止められる ↓ オーバービューから再開 ↓ メイン画面
72.
アンチパターン 4 解決方法 永続化するか 状態を アクティビティにもたせよう
73.
アンチパターン 4 解決方法 動作確認はどうやる?
74.
アンチパターン 4 解決方法
75.
会話 5 UIはフラグメントで作って! はい、やってみます! あれ、importしようとしたら2つでてきた。。 こっちでいいかな。。
76.
アンチパターン 5 android.app.Fragment
77.
Androidを知る フラグメント ビューの生成と管理
78.
Androidを知る フラグメント アクティビティは UIを提供するコンポーネント
79.
Androidを知る フラグメント アクティビティは 忙しい
80.
Androidを知る フラグメント ビューの生成と管理を アクティビティから引き離す アクティビティ フラグメント コンポーネント担 当 ビュー生成管理 担当
81.
アンチパターン 5 android.app.Fragment android.support.v4.app.Fragment
82.
アンチパターン 5 android.app.Fragment →プラットフォームで提供 android.support.v4.app.Fragment →サポートライブラリで提供
83.
アンチパターン 5 プラットフォームで提供される クラス→OSバージョンに縛られる
84.
アンチパターン 5 サポートライブラリ版は 更新すれば新しい機能が使える!
85.
アンチパターン 5 解決方法 お願いですから サポートライブラリ版を 使って!
86.
会話 6 テキスト入力してもらって、その結果を 呼び出し元に伝えるフラグメント作って! はい、やってみます! 伝えるためにコールバックオブジェクトを もらえばいいかな。。。?
87.
アンチパターン 6 フラグメントでの 処理結果を インターフェース経由で 伝えている
88.
アンチパターン 6 フラグメント A フラグメント B テキスト入力欄 表示してよ 入力されたの これだよ
89.
アンチパターン 6 NextFragment next
= new NextFragment(); next.setCallback(new Callback() { … });
90.
アンチパターン 6 NextFragment表示中に 中断すると?
91.
アンチパターン 6 コールバックオブジェクトは 復元できない!
92.
アンチパターン 6 解決方法 setTargetFragment()を 使ってみよう
93.
アンチパターン 6 解決方法 NextFragment next
= new NextFragment(); next.setTargetFragment(this, REQUEST1);
94.
アンチパターン 6 解決方法 getTargetFragment()で 呼び出し元がとれる! Fragment caller
= getTargetFragment(); caller.onActivityResult( … );
95.
会話 7 このiOSアプリのAndroid版作ってよ! はい、やってみます! 見た目とかもiOS版のままで作ればいいよね
96.
アンチパターン 7 見た目や操作感が iOSそのまんま
97.
アンチパターン 7
98.
アンチパターン 7
99.
アンチパターン 7
100.
アンチパターン 7 下タブがダメとはいえない
101.
アンチパターン 7 トップレベル項目が2つなら 別の表現で!
102.
アンチパターン 7 横スクロールしないのに >
103.
アンチパターン 7 解決方法 まずは マテリアルデザインに したがってみよう
104.
アンチパターン 7 解決方法 Androidユーザーは 他のAndroidアプリを触ってる
105.
アンチパターン 7 解決方法 あなたの iOS版は触っていない!
106.
アンチパターン 7 解決方法 ガイドラインは ユーザーのためにある
107.
まとめ! Androidアプリ開発には アンチパターンたくさん
108.
まとめ! 解決方法を知れば 回避は簡単
109.
まとめ! 知ろう!
110.
まとめ! その他のアンチパターンは 本を買ってね♪
111.
Thanks!
Download