SlideShare a Scribd company logo
1 of 36
Download to read offline
あの手この手で
楽して楽しむ
Android 開発 Tips
どくぴー(@e10dokup)
誰
和田 佳大 / どくぴー / @e10dokup
・神戸大学で山登りしながら単位乞食
・明石高専卒業生(2015/3)
・Android とか
・すらこん!開発者
・HxS とかいう怪しい団体
・よく言われる方のアダ名がアンチハラスメント
ポリシーに引っかかりそうなので自重してます
今回のターゲット
Android アプリ開発に
触れたことがある人
(つよいひとむけではない)
Android 開発のイメージ
・Java を使って開発
・SDK
・Android Studio ? Eclipse ?
・API Level ?
・流れがすごい速い
・etc.
Android 開発のイメージAndroid 開発のイメージ
・Java を使って開発
・SDK
・Android Studio ? Eclipse ?
・API Level ?
・流れがすごい速い
・etc.
最初の一歩「から」難しい
Android 開ージ今日の内容
そんな Android 開発を
あの手この手で
ちょっと楽して楽しめるように
してみましょう
Android 開発のイメージ最初の一歩を踏み出したいあなたへ
初めての Android アプリ開発レッスン
- https://anharu.keiji.io/
有山圭二氏による
(たぶん日本語最新の)
Android チュートリアル.
Java の話から丁寧に
解説がされており,Java
ちょっとできるマン位
からできる[要出典]
開発環境の話
開発環境について
Eclipse + ADT
・近々消えます
(すでに消えたかも)
Android Studio
・IntelliJ-based
・今の標準
Android Studio - キーバインド
ちゃんと使えてますか?
F2エラーの箇所に飛ぶ
opt+return修正候補の表示 Mac
Win alt+return
コード生成
(コンストラクタとか)
Mac
Win
cmd+N
alt+insert
ctrl+Rアプリの実行 Mac
Win shift+F10
shift+F6名前の変更
ctrl+shift+O未使用 import 文の削除 Mac
Win ctrl+alt+O
Android Studio - キーバインド
ファイル移動周りのキーバインド
cmd+shift+Oファイル名で移動 Mac
Win ctrl+shift+O
クラス名で移動 Mac
Win
cmd+O
ctrl+O
shift 2 回全てから検索
Android Studio - 環境設定
そもそも設定画面を出したい
Menu>Preferences(Mac)/File>Settings...(Win)
で設定画面がでます.
Android Studio - 環境設定
行番号,空白を表示したい
Editor>General>Appearance>Show line numbers
Editor>General>Appearance>Show whitespaces
Android Studio - 環境設定
Getter/Setter の prefix を落としたい
Editor>Code Style>Java>Code Generation
で prefix,suffix の設定をしよう
Android Studio - 環境設定
import を自動で行うようにしたい
Editor>General>Auto Import
>Optimize import on the fly
Editor>General>Auto Import
>Add unambiguous on the fly
Android Studio - プラグイン
Android のプラグインのインストール方法
Plugin>Browse Repositories で検索出来ます
Android Studio - プラグイン
ADB Idea
Android Studio から adb コマンドが実行できるように
Android Studio - プラグイン
Material Design Icon Generator
Material Design のアイコンを自動で配置してくれる
ライブラリの話
ライブラリ - 導入方法
libs に .jar を突っ込む必要は無い
app/build.gradle
次のような形で書く
中,dependencies 内に
dependencies {
compile 'group:name:version'
}
build.gradle を更新したら必ずプロジェクトを sync しよう
ライブラリ - ButterKnife
JakeWharton/ButterKnife
View Injection を行うライブラリ.findViewById()
とはおさらばだ
TextView mTextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mTextView = (TextView)findViewById(R.id.hoge_text);
}
ライブラリ - ButterKnife
JakeWharton/ButterKnife
View Injection を行うライブラリ.findViewById()
とはおさらばだ
@Bind(R.id.hoge_text)
TextView mTextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.bind(this)
}
ライブラリ - Android-Bootstrap
Bearded-Hen/Android-Bootstrap
Bootstrap 風の UI パーツが入っている.雑にデザイン
するときに便利.FontAwesome のアイコンも使える
BootStrapButton
ライブラリ - Android-Bootstrap
Bearded-Hen/Android-Bootstrap
Bootstrap 風の UI パーツが入っている.雑にデザイン
するときに便利.FontAwesome のアイコンも使える
BootStrapProgressBar
ライブラリ - Picasso
square/picasso
画像の読み込み,キャッシュ,表示を
「よしなに」してくれるライブラリ.大体 1 行で書ける.
画像の変形と言った変更も柔軟にできる.
Picasso.with(context)
.load("http://i.imgur.com/DvpvklR.png")
.into(imageView);
ライブラリ - 選び方
どうやってライブラリを選ぶの?
Android に限った話ではないけど…
・GitHub のスターの数が多い
→人気がある,実績がある
・更新せず放置されていない.更新日時が新しい
・そのライブラリ,マッチョすぎない?
→なんでも出来過ぎてないか?
そんなに広い守備範囲が必要? [1]
・ライブラリが依存するライブラリは大丈夫?
-[1] http://konifar.hatenablog.com/entry/2015/05/14/184237
ライブラリ - 選び方
どうやってライブラリを選ぶの?
Android に限った話ではないけど…
・GitHub のスターの数が多い
→人気がある,実績がある
・更新せず放置されていない.更新日時が新しい
・そのライブラリ,マッチョすぎない?
→なんでも出来過ぎてないか?
そんなに広い守備範囲が必要? [1]
・ライブラリが依存するライブラリは大丈夫?
-[1] http://konifar.hatenablog.com/entry/2015/05/14/184237
ライブラリ - 選び方
daimajia/AndroidViewAnimations
iOS の ViewShaker を模倣したライブラリ.
メソッドチェインで View にアニメーションを指定できる
YoYo.with(Techniques.Tada)
.duration(700)
.playOn(findViewById(R.id.edit_area));
依存している NineOldAndroids は deprecated なので注意
ライブラリ - 選び方
daimajia/AndroidViewAnimations
iOS の ViewShaker を模倣したライブラリ.
メソッドチェインで View にアニメーションを指定できる
YoYo.with(Techniques.Tada)
.duration(700)
.playOn(findViewById(R.id.edit_area));
依存している NineOldAndroids は deprecated
サービス・ツール
サービス・ツール - Android Asset Studio
https://romannurik.github.io/AndroidAssetStudio/
アイコン等のアセットの作成をサポートしてくれるツール.
Android のアイコン作成で面倒な画面サイズごとの生成を
一度に行ってくれる.
サービス・ツール - deploygate
https://deploygate.com
Android,iOS 等ネイティブアプリの
ファイルをアップロードして実機に
インストールさせることができる
サービス.開発中のアプリを他人に
使ってみてもらいたい時などに.
(Twitter 社の Crashlytics とかにも
ベータ版配信機能があるよね)
まとめ
まとめ
何が言いたかったのか
Android Studio をいじくり回したり
ライブラリに頼ったりして
Android アプリ開発を
ちょっと楽して楽しみましょう
参考文献
Android Studio 開発講座
http://www.slideshare.net/keijiariyama/android-studio-56078096
Android Studio で覚えておくと便利なこと
http://qiita.com/sugoi_wada/items/db449d5cbb5c83cb586c
ありがとうございました

More Related Content

Viewers also liked

Code for KOSEN meetup #3
Code for KOSEN meetup #3Code for KOSEN meetup #3
Code for KOSEN meetup #3Yoshihiro Wada
 
To learn Interpolator
To learn InterpolatorTo learn Interpolator
To learn InterpolatorMima Yuki
 
3D touch for iOS
3D touch for iOS3D touch for iOS
3D touch for iOStoyship
 
TestFlightみたいなのを自作する
TestFlightみたいなのを自作するTestFlightみたいなのを自作する
TestFlightみたいなのを自作するTomoki Hasegawa
 
Android で Realm を使ってみよう
Android で Realm を使ってみようAndroid で Realm を使ってみよう
Android で Realm を使ってみようRyutaro Miyashita
 
バグのことは嫌いになってもXcodeのことは嫌いにならないでください。
バグのことは嫌いになってもXcodeのことは嫌いにならないでください。バグのことは嫌いになってもXcodeのことは嫌いにならないでください。
バグのことは嫌いになってもXcodeのことは嫌いにならないでください。Daisuke Yamashita
 

Viewers also liked (6)

Code for KOSEN meetup #3
Code for KOSEN meetup #3Code for KOSEN meetup #3
Code for KOSEN meetup #3
 
To learn Interpolator
To learn InterpolatorTo learn Interpolator
To learn Interpolator
 
3D touch for iOS
3D touch for iOS3D touch for iOS
3D touch for iOS
 
TestFlightみたいなのを自作する
TestFlightみたいなのを自作するTestFlightみたいなのを自作する
TestFlightみたいなのを自作する
 
Android で Realm を使ってみよう
Android で Realm を使ってみようAndroid で Realm を使ってみよう
Android で Realm を使ってみよう
 
バグのことは嫌いになってもXcodeのことは嫌いにならないでください。
バグのことは嫌いになってもXcodeのことは嫌いにならないでください。バグのことは嫌いになってもXcodeのことは嫌いにならないでください。
バグのことは嫌いになってもXcodeのことは嫌いにならないでください。
 

Similar to あの手この手で楽して覚えるAndroid開発Tips

Rinko 1 Android
Rinko 1 AndroidRinko 1 Android
Rinko 1 Androidjagsc
 
12.04.22 勉強会イントロ
12.04.22 勉強会イントロ12.04.22 勉強会イントロ
12.04.22 勉強会イントロKei Nakazawa
 
モダンなAndroidアプリ開発勉強会
モダンなAndroidアプリ開発勉強会モダンなAndroidアプリ開発勉強会
モダンなAndroidアプリ開発勉強会Shoichi Kakizaki
 
HTML5/JavaScriptで作るAndroidアプリ開発seminar
HTML5/JavaScriptで作るAndroidアプリ開発seminarHTML5/JavaScriptで作るAndroidアプリ開発seminar
HTML5/JavaScriptで作るAndroidアプリ開発seminarkujirahand kujira
 
クロスプラットフォーム開発環境のすヽめ
クロスプラットフォーム開発環境のすヽめクロスプラットフォーム開発環境のすヽめ
クロスプラットフォーム開発環境のすヽめYuki Yazaki
 
Abc2012f adamrocker
Abc2012f adamrockerAbc2012f adamrocker
Abc2012f adamrockeradamrocker
 
[ABC2016S]Android Wear アプリ開発入門
[ABC2016S]Android Wear アプリ開発入門[ABC2016S]Android Wear アプリ開発入門
[ABC2016S]Android Wear アプリ開発入門Kenichi Kambara
 
AndroidのAppirater何使ってますか?
AndroidのAppirater何使ってますか?AndroidのAppirater何使ってますか?
AndroidのAppirater何使ってますか?Shigeki Yamato
 
Android Wearアプリ開発経験談
Android Wearアプリ開発経験談Android Wearアプリ開発経験談
Android Wearアプリ開発経験談Kenichi Kambara
 
20170804 Builderscon Androidアプリ開発アンチパターン
20170804 Builderscon Androidアプリ開発アンチパターン20170804 Builderscon Androidアプリ開発アンチパターン
20170804 Builderscon Androidアプリ開発アンチパターンmokelab
 
Cordova利用アプリ開発経験談
Cordova利用アプリ開発経験談Cordova利用アプリ開発経験談
Cordova利用アプリ開発経験談Kenichi Kambara
 
スマホアプリの開発手法をまとめてみた。
スマホアプリの開発手法をまとめてみた。スマホアプリの開発手法をまとめてみた。
スマホアプリの開発手法をまとめてみた。Hiroshi Goto
 
Androidと歩んだコミュニティーの14年【デブサミ2022/ 10年を10分で語る!? 老舗コミュニティ/カンファレンス運営者LT】
Androidと歩んだコミュニティーの14年【デブサミ2022/ 10年を10分で語る!? 老舗コミュニティ/カンファレンス運営者LT】Androidと歩んだコミュニティーの14年【デブサミ2022/ 10年を10分で語る!? 老舗コミュニティ/カンファレンス運営者LT】
Androidと歩んだコミュニティーの14年【デブサミ2022/ 10年を10分で語る!? 老舗コミュニティ/カンファレンス運営者LT】嶋 是一 (Yoshikazu SHIMA)
 
香川支部キックオフ 香川支部について
香川支部キックオフ 香川支部について香川支部キックオフ 香川支部について
香川支部キックオフ 香川支部についてyohei iwakura
 
とあるサイボウズのAndroidエンジニアのお仕事
とあるサイボウズのAndroidエンジニアのお仕事とあるサイボウズのAndroidエンジニアのお仕事
とあるサイボウズのAndroidエンジニアのお仕事Cybozu, Inc.
 
Androidをやっただけで iOSアプリもできればいいのに 〜MOEという選択〜
Androidをやっただけで iOSアプリもできればいいのに 〜MOEという選択〜Androidをやっただけで iOSアプリもできればいいのに 〜MOEという選択〜
Androidをやっただけで iOSアプリもできればいいのに 〜MOEという選択〜Saiki Iijima
 
Androidコース 第一回 資料
Androidコース 第一回 資料Androidコース 第一回 資料
Androidコース 第一回 資料Gaku Takeno
 

Similar to あの手この手で楽して覚えるAndroid開発Tips (20)

Rinko 1 Android
Rinko 1 AndroidRinko 1 Android
Rinko 1 Android
 
12.04.22 勉強会イントロ
12.04.22 勉強会イントロ12.04.22 勉強会イントロ
12.04.22 勉強会イントロ
 
モダンなAndroidアプリ開発勉強会
モダンなAndroidアプリ開発勉強会モダンなAndroidアプリ開発勉強会
モダンなAndroidアプリ開発勉強会
 
HTML5/JavaScriptで作るAndroidアプリ開発seminar
HTML5/JavaScriptで作るAndroidアプリ開発seminarHTML5/JavaScriptで作るAndroidアプリ開発seminar
HTML5/JavaScriptで作るAndroidアプリ開発seminar
 
クロスプラットフォーム開発環境のすヽめ
クロスプラットフォーム開発環境のすヽめクロスプラットフォーム開発環境のすヽめ
クロスプラットフォーム開発環境のすヽめ
 
Abc2012f adamrocker
Abc2012f adamrockerAbc2012f adamrocker
Abc2012f adamrocker
 
[ABC2016S]Android Wear アプリ開発入門
[ABC2016S]Android Wear アプリ開発入門[ABC2016S]Android Wear アプリ開発入門
[ABC2016S]Android Wear アプリ開発入門
 
AndroidのAppirater何使ってますか?
AndroidのAppirater何使ってますか?AndroidのAppirater何使ってますか?
AndroidのAppirater何使ってますか?
 
Android Wearアプリ開発経験談
Android Wearアプリ開発経験談Android Wearアプリ開発経験談
Android Wearアプリ開発経験談
 
!(びっくり)するかもしれないヤフーでのアプリ開発
!(びっくり)するかもしれないヤフーでのアプリ開発!(びっくり)するかもしれないヤフーでのアプリ開発
!(びっくり)するかもしれないヤフーでのアプリ開発
 
20170804 Builderscon Androidアプリ開発アンチパターン
20170804 Builderscon Androidアプリ開発アンチパターン20170804 Builderscon Androidアプリ開発アンチパターン
20170804 Builderscon Androidアプリ開発アンチパターン
 
Cordova利用アプリ開発経験談
Cordova利用アプリ開発経験談Cordova利用アプリ開発経験談
Cordova利用アプリ開発経験談
 
スマホアプリの開発手法をまとめてみた。
スマホアプリの開発手法をまとめてみた。スマホアプリの開発手法をまとめてみた。
スマホアプリの開発手法をまとめてみた。
 
Swift afterbeginner
Swift afterbeginnerSwift afterbeginner
Swift afterbeginner
 
Androidと歩んだコミュニティーの14年【デブサミ2022/ 10年を10分で語る!? 老舗コミュニティ/カンファレンス運営者LT】
Androidと歩んだコミュニティーの14年【デブサミ2022/ 10年を10分で語る!? 老舗コミュニティ/カンファレンス運営者LT】Androidと歩んだコミュニティーの14年【デブサミ2022/ 10年を10分で語る!? 老舗コミュニティ/カンファレンス運営者LT】
Androidと歩んだコミュニティーの14年【デブサミ2022/ 10年を10分で語る!? 老舗コミュニティ/カンファレンス運営者LT】
 
香川支部キックオフ 香川支部について
香川支部キックオフ 香川支部について香川支部キックオフ 香川支部について
香川支部キックオフ 香川支部について
 
とあるサイボウズのAndroidエンジニアのお仕事
とあるサイボウズのAndroidエンジニアのお仕事とあるサイボウズのAndroidエンジニアのお仕事
とあるサイボウズのAndroidエンジニアのお仕事
 
Androidをやっただけで iOSアプリもできればいいのに 〜MOEという選択〜
Androidをやっただけで iOSアプリもできればいいのに 〜MOEという選択〜Androidをやっただけで iOSアプリもできればいいのに 〜MOEという選択〜
Androidをやっただけで iOSアプリもできればいいのに 〜MOEという選択〜
 
Androidの開発概要
Androidの開発概要Androidの開発概要
Androidの開発概要
 
Androidコース 第一回 資料
Androidコース 第一回 資料Androidコース 第一回 資料
Androidコース 第一回 資料
 

Recently uploaded

論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 

Recently uploaded (8)

論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 

あの手この手で楽して覚えるAndroid開発Tips