SlideShare ist ein Scribd-Unternehmen logo
1 von 75
Downloaden Sie, um offline zu lesen
1
LibreOffice Productivity Suite
Android StudioとGradleを利
用したScala言語による
Androidアプリの開発
茂木 勇
@saturday06
2
LibreOffice Productivity Suite
自己紹介
茂木 勇
フリーランス
Emacs
たけのこ
3
LibreOffice Productivity Suite
突然ですが
4
LibreOffice Productivity Suite
つらい事例1
5
LibreOffice Productivity Suite
偉い人「Reactive
Programming
とやらが
流行ってますね!」
6
LibreOffice Productivity Suite
iOSプログラマ
「せやな」
7
LibreOffice Productivity Suite
SI系プログラマ
(Java8利用中)
「せやな」
8
LibreOffice Productivity Suite
Androidプログラマ
(私です)
「ウッ・・・つらい・・・」
「ラムダ式欲しい」
9
LibreOffice Productivity Suite
Androidプログラマ
(私です)
「ウッ・・・つらい・・・」
「ラムダ式欲しい」
10
LibreOffice Productivity Suite
つらい事例2
11
LibreOffice Productivity Suite
iOS開発者に
Android開発
のヘルプに入っ
てもらった際
12
LibreOffice Productivity Suite
ByteArrayOutputStream baos =
new ByteArrayOutputStream();
iOS氏「長い型名を何度
も書くのつらいです」
13
LibreOffice Productivity Suite
ByteArrayOutputStream baos =
new ByteArrayOutputStream();
iOS氏「これどっちか省略
できませんか?」
14
LibreOffice Productivity Suite
ByteArrayOutputStream baos =
new ByteArrayOutputStream();
俺氏「...」
15
LibreOffice Productivity Suite
つらい
16
LibreOffice Productivity Suite
つらい俺にまかせろー!
17
LibreOffice Productivity Suite
・retrolambda
・lombok
・groovy ・kotlin ・scala
・ceylon ・clojure ・jruby
・jyson ・xamarin系
Javaに機能追加する方法
Java以外の言語を使う方法
18
LibreOffice Productivity Suite
今回は
Scalaを使います
19
LibreOffice Productivity Suite
Androidで
Scalaを使う方法
は2種類ある
20
LibreOffice Productivity Suite
1. PFN氏のSBTを
 使ったビルド環境
2. 拙作のGradleを
 使ったビルド環境
21
LibreOffice Productivity Suite
1. PFN氏のSBTを
 使ったビルド環境
2. 拙作のGradleを
 使ったビルド環境
22
LibreOffice Productivity Suite
環境セットアップ済み
Android Studioでの
実演
23
LibreOffice Productivity Suite
24
LibreOffice Productivity Suite
25
LibreOffice Productivity Suite
26
LibreOffice Productivity Suite
27
LibreOffice Productivity Suite
28
LibreOffice Productivity Suite
29
LibreOffice Productivity Suite
30
LibreOffice Productivity Suite
31
LibreOffice Productivity Suite
32
LibreOffice Productivity Suite
33
LibreOffice Productivity Suite
34
LibreOffice Productivity Suite
35
LibreOffice Productivity Suite
36
LibreOffice Productivity Suite
37
LibreOffice Productivity Suite
38
LibreOffice Productivity Suite
39
LibreOffice Productivity Suite
40
LibreOffice Productivity Suite
動いた!
41
LibreOffice Productivity Suite
セットアップ
手順
42
LibreOffice Productivity Suite
まずAndroidStudioに
Scalaプラグインを
入れます
43
LibreOffice Productivity Suite
44
LibreOffice Productivity Suite
45
LibreOffice Productivity Suite
46
LibreOffice Productivity Suite
47
LibreOffice Productivity Suite
48
LibreOffice Productivity Suite
次に、プロジェクトを
作ります
49
LibreOffice Productivity Suite
50
LibreOffice Productivity Suite
51
LibreOffice Productivity Suite
52
LibreOffice Productivity Suite
53
LibreOffice Productivity Suite
次は、
最上位ディレクトリの
build.gradleに
Scalaプラグインの
参照先を
追加します
54
LibreOffice Productivity Suite
55
LibreOffice Productivity Suite
56
LibreOffice Productivity Suite
次は、
アプリ用ディレクトリの
build.gradleに
Scalaプラグインを
適用します
57
LibreOffice Productivity Suite
58
LibreOffice Productivity Suite
59
LibreOffice Productivity Suite
Scalaのライブラリを
追加します。
60
LibreOffice Productivity Suite
61
LibreOffice Productivity Suite
62
LibreOffice Productivity Suite
MultiDexの手動設定を
します
※この処理は将来的に自動
化されます
63
LibreOffice Productivity Suite
64
LibreOffice Productivity Suite
65
LibreOffice Productivity Suite
66
LibreOffice Productivity Suite
MultiDexの設定ファイルを
作ります
※この処理も将来的に自動
化されます
67
LibreOffice Productivity Suite
68
LibreOffice Productivity Suite
69
LibreOffice Productivity Suite
AndroidManifest.xml
に
MultiDexの設定をします
70
LibreOffice Productivity Suite
71
LibreOffice Productivity Suite
72
LibreOffice Productivity Suite
以上で
73
LibreOffice Productivity Suite
動きます!
74
LibreOffice Productivity Suite
75
LibreOffice Productivity Suite
ありがとうございました!
See also:
https://github.com/saturday06/gradle-android-scala-plugin

Weitere ähnliche Inhalte

Was ist angesagt?

Scala.jsはじめました!
Scala.jsはじめました!Scala.jsはじめました!
Scala.jsはじめました!
K Kinzal
 
Asakusaソースコードリーディング #4 – Asakusa Test Driver
Asakusaソースコードリーディング #4 – Asakusa Test DriverAsakusaソースコードリーディング #4 – Asakusa Test Driver
Asakusaソースコードリーディング #4 – Asakusa Test Driver
apirakun
 

Was ist angesagt? (20)

Scala.jsはじめました!
Scala.jsはじめました!Scala.jsはじめました!
Scala.jsはじめました!
 
並行処理初心者のためのAkka入門
並行処理初心者のためのAkka入門並行処理初心者のためのAkka入門
並行処理初心者のためのAkka入門
 
Ruby on Rails 入門
Ruby on Rails 入門Ruby on Rails 入門
Ruby on Rails 入門
 
Scala警察のすすめ
Scala警察のすすめScala警察のすすめ
Scala警察のすすめ
 
進撃のSbt
進撃のSbt進撃のSbt
進撃のSbt
 
【LT】 怖くない恐怖のScala.js
【LT】 怖くない恐怖のScala.js【LT】 怖くない恐怖のScala.js
【LT】 怖くない恐怖のScala.js
 
Rails解説セミナー: リリースノート解説編
Rails解説セミナー: リリースノート解説編Rails解説セミナー: リリースノート解説編
Rails解説セミナー: リリースノート解説編
 
ScalaMatsuri 2016
ScalaMatsuri 2016ScalaMatsuri 2016
ScalaMatsuri 2016
 
Asakusaソースコードリーディング #4 – Asakusa Test Driver
Asakusaソースコードリーディング #4 – Asakusa Test DriverAsakusaソースコードリーディング #4 – Asakusa Test Driver
Asakusaソースコードリーディング #4 – Asakusa Test Driver
 
Akkaの翻訳みんなでやろう Let's translate akka doc
Akkaの翻訳みんなでやろう Let's translate akka docAkkaの翻訳みんなでやろう Let's translate akka doc
Akkaの翻訳みんなでやろう Let's translate akka doc
 
【LT】akka receive とScala Javaの違い
【LT】akka receive とScala Javaの違い 【LT】akka receive とScala Javaの違い
【LT】akka receive とScala Javaの違い
 
Rails解説セミナー: Railsのアップグレード編
Rails解説セミナー: Railsのアップグレード編Rails解説セミナー: Railsのアップグレード編
Rails解説セミナー: Railsのアップグレード編
 
SunspotではじめるSolr入門
SunspotではじめるSolr入門SunspotではじめるSolr入門
SunspotではじめるSolr入門
 
Scala勉強会 初心者向けハンズオン前編
Scala勉強会 初心者向けハンズオン前編Scala勉強会 初心者向けハンズオン前編
Scala勉強会 初心者向けハンズオン前編
 
Rails解説セミナー: Rails国際化 (I18n) API
Rails解説セミナー: Rails国際化 (I18n) APIRails解説セミナー: Rails国際化 (I18n) API
Rails解説セミナー: Rails国際化 (I18n) API
 
Scala.js触ってみた
Scala.js触ってみたScala.js触ってみた
Scala.js触ってみた
 
akka-doc-ja
akka-doc-jaakka-doc-ja
akka-doc-ja
 
SIG-SWO-A1402-09:SPINを用いたトリプルストアの性能評価システム
SIG-SWO-A1402-09:SPINを用いたトリプルストアの性能評価システムSIG-SWO-A1402-09:SPINを用いたトリプルストアの性能評価システム
SIG-SWO-A1402-09:SPINを用いたトリプルストアの性能評価システム
 
Laravel meetup5(Laravel meet NewSQL/VoltDB )
Laravel meetup5(Laravel meet NewSQL/VoltDB )Laravel meetup5(Laravel meet NewSQL/VoltDB )
Laravel meetup5(Laravel meet NewSQL/VoltDB )
 
Serverless apps on aws using scala
Serverless apps on aws using scalaServerless apps on aws using scala
Serverless apps on aws using scala
 

Andere mochten auch

Android Wear How to make watchface project abc2014W
Android Wear How to make watchface project abc2014WAndroid Wear How to make watchface project abc2014W
Android Wear How to make watchface project abc2014W
Hiroshi Hashimoto
 
Webプログラマのための Scala 入門勉強会 @ 渋谷 12/7
Webプログラマのための Scala 入門勉強会 @ 渋谷 12/7Webプログラマのための Scala 入門勉強会 @ 渋谷 12/7
Webプログラマのための Scala 入門勉強会 @ 渋谷 12/7
Hitoshi Asai
 
Scala界隈の近況
Scala界隈の近況Scala界隈の近況
Scala界隈の近況
takezoe
 
Clojureシンタックスハイライター開発から考えるこれからのlispに必要なもの
Clojureシンタックスハイライター開発から考えるこれからのlispに必要なものClojureシンタックスハイライター開発から考えるこれからのlispに必要なもの
Clojureシンタックスハイライター開発から考えるこれからのlispに必要なもの
sohta
 

Andere mochten auch (20)

ScalaプログラマのためのHaskell入門
ScalaプログラマのためのHaskell入門ScalaプログラマのためのHaskell入門
ScalaプログラマのためのHaskell入門
 
2016 Android × Scala @ScalaMatsuri2016
2016 Android × Scala @ScalaMatsuri20162016 Android × Scala @ScalaMatsuri2016
2016 Android × Scala @ScalaMatsuri2016
 
Scalaで学ぶ関数型言語超入門
Scalaで学ぶ関数型言語超入門Scalaで学ぶ関数型言語超入門
Scalaで学ぶ関数型言語超入門
 
Android Wear How to make watchface project abc2014W
Android Wear How to make watchface project abc2014WAndroid Wear How to make watchface project abc2014W
Android Wear How to make watchface project abc2014W
 
MultiDexApplicationの実装詳細について
MultiDexApplicationの実装詳細についてMultiDexApplicationの実装詳細について
MultiDexApplicationの実装詳細について
 
Cocos2d-x x iBeacon Bluetoothを使ったゲームを作ろう
Cocos2d-x x iBeacon Bluetoothを使ったゲームを作ろうCocos2d-x x iBeacon Bluetoothを使ったゲームを作ろう
Cocos2d-x x iBeacon Bluetoothを使ったゲームを作ろう
 
言語アップデート -Scala編-
言語アップデート -Scala編-言語アップデート -Scala編-
言語アップデート -Scala編-
 
[Android] モジュール管理で ビルド高速化!
[Android] モジュール管理で ビルド高速化!	[Android] モジュール管理で ビルド高速化!
[Android] モジュール管理で ビルド高速化!
 
No te comas la coma
No te comas la comaNo te comas la coma
No te comas la coma
 
Androidアプリ開発で活躍必至!? ビルドツールGradle
Androidアプリ開発で活躍必至!? ビルドツールGradleAndroidアプリ開発で活躍必至!? ビルドツールGradle
Androidアプリ開発で活躍必至!? ビルドツールGradle
 
Webプログラマのための Scala 入門勉強会 @ 渋谷 12/7
Webプログラマのための Scala 入門勉強会 @ 渋谷 12/7Webプログラマのための Scala 入門勉強会 @ 渋谷 12/7
Webプログラマのための Scala 入門勉強会 @ 渋谷 12/7
 
Scala界隈の近況
Scala界隈の近況Scala界隈の近況
Scala界隈の近況
 
15分でざっくり分かるScala入門
15分でざっくり分かるScala入門15分でざっくり分かるScala入門
15分でざっくり分かるScala入門
 
AppStore申請を一式まるっと自動化する
AppStore申請を一式まるっと自動化するAppStore申請を一式まるっと自動化する
AppStore申請を一式まるっと自動化する
 
Clojureシンタックスハイライター開発から考えるこれからのlispに必要なもの
Clojureシンタックスハイライター開発から考えるこれからのlispに必要なものClojureシンタックスハイライター開発から考えるこれからのlispに必要なもの
Clojureシンタックスハイライター開発から考えるこれからのlispに必要なもの
 
Scala初心者がPlay/ScalaでロックなWebアプリを作ったお話
Scala初心者がPlay/ScalaでロックなWebアプリを作ったお話Scala初心者がPlay/ScalaでロックなWebアプリを作ったお話
Scala初心者がPlay/ScalaでロックなWebアプリを作ったお話
 
Bluetoothl-Low-Energy入門講座-part1
Bluetoothl-Low-Energy入門講座-part1Bluetoothl-Low-Energy入門講座-part1
Bluetoothl-Low-Energy入門講座-part1
 
Scala@SmartNews_20150221
Scala@SmartNews_20150221Scala@SmartNews_20150221
Scala@SmartNews_20150221
 
Scala@SmartNews AdFrontend を Scala で書いた話
Scala@SmartNews AdFrontend を Scala で書いた話Scala@SmartNews AdFrontend を Scala で書いた話
Scala@SmartNews AdFrontend を Scala で書いた話
 
磯野ー!関数型言語やろうぜー!
磯野ー!関数型言語やろうぜー!磯野ー!関数型言語やろうぜー!
磯野ー!関数型言語やろうぜー!
 

Ähnlich wie AndroidStudioとGradleを利用したScala言語によるAndroidアプリの開発

RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発
RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発
RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発
takuma mori
 
第1回 コデアルiOSアプリ勉強会
第1回 コデアルiOSアプリ勉強会第1回 コデアルiOSアプリ勉強会
第1回 コデアルiOSアプリ勉強会
codeal
 

Ähnlich wie AndroidStudioとGradleを利用したScala言語によるAndroidアプリの開発 (20)

introduce LibreOffice and more
introduce LibreOffice and moreintroduce LibreOffice and more
introduce LibreOffice and more
 
LibreOffice No coding extention(ClipArt)
LibreOffice No coding extention(ClipArt)LibreOffice No coding extention(ClipArt)
LibreOffice No coding extention(ClipArt)
 
Raspberry piにlibreofficeを入れてみた
Raspberry piにlibreofficeを入れてみたRaspberry piにlibreofficeを入れてみた
Raspberry piにlibreofficeを入れてみた
 
LibreOfficeとLibrePCについて in SIGGRAPH Asia 2015
LibreOfficeとLibrePCについて in SIGGRAPH Asia 2015LibreOfficeとLibrePCについて in SIGGRAPH Asia 2015
LibreOfficeとLibrePCについて in SIGGRAPH Asia 2015
 
What's new in 4.0 of LibreOffice / LibreOffice 4.0の新機能
What's new in 4.0 of LibreOffice / LibreOffice 4.0の新機能What's new in 4.0 of LibreOffice / LibreOffice 4.0の新機能
What's new in 4.0 of LibreOffice / LibreOffice 4.0の新機能
 
CodeIgniter 最新情報 2011 (増補版)
CodeIgniter 最新情報 2011 (増補版)CodeIgniter 最新情報 2011 (増補版)
CodeIgniter 最新情報 2011 (増補版)
 
The Basic of How to build LibreOffice / LibreOffice開発版ビルドの基礎 for Windows
The Basic of How to build LibreOffice / LibreOffice開発版ビルドの基礎 for WindowsThe Basic of How to build LibreOffice / LibreOffice開発版ビルドの基礎 for Windows
The Basic of How to build LibreOffice / LibreOffice開発版ビルドの基礎 for Windows
 
What's new of LibreOffice 4.1 / LibreOffice 4.1 の新機能
What's new of LibreOffice 4.1 / LibreOffice 4.1 の新機能What's new of LibreOffice 4.1 / LibreOffice 4.1 の新機能
What's new of LibreOffice 4.1 / LibreOffice 4.1 の新機能
 
さらばデスクトップ?モバイル・クラウド時代のLibreOfficeの挑戦/LibreOffice current status, or the chall...
さらばデスクトップ?モバイル・クラウド時代のLibreOfficeの挑戦/LibreOffice current status, or the chall...さらばデスクトップ?モバイル・クラウド時代のLibreOfficeの挑戦/LibreOffice current status, or the chall...
さらばデスクトップ?モバイル・クラウド時代のLibreOfficeの挑戦/LibreOffice current status, or the chall...
 
Core Image Tips & Tricks in iOS 9
Core Image Tips & Tricks in iOS 9Core Image Tips & Tricks in iOS 9
Core Image Tips & Tricks in iOS 9
 
RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発
RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発
RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発
 
Linux環境でLibreOfficeをビルドしてみようかね
Linux環境でLibreOfficeをビルドしてみようかねLinux環境でLibreOfficeをビルドしてみようかね
Linux環境でLibreOfficeをビルドしてみようかね
 
第1回 コデアルiOSアプリ勉強会
第1回 コデアルiOSアプリ勉強会第1回 コデアルiOSアプリ勉強会
第1回 コデアルiOSアプリ勉強会
 
LibreOfficeをWindows上でビルドする
LibreOfficeをWindows上でビルドするLibreOfficeをWindows上でビルドする
LibreOfficeをWindows上でビルドする
 
LibreOffice, the free office productive suite and it's status of accessibilit...
LibreOffice, the free office productive suite and it's status of accessibilit...LibreOffice, the free office productive suite and it's status of accessibilit...
LibreOffice, the free office productive suite and it's status of accessibilit...
 
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
アイデアを形にする  ③3時間でアプリ公開!ゼロからのプログラミング講座アイデアを形にする  ③3時間でアプリ公開!ゼロからのプログラミング講座
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
 
スマホアプリディレクターが考えていること
スマホアプリディレクターが考えていることスマホアプリディレクターが考えていること
スマホアプリディレクターが考えていること
 
Visual Studio を使用した Cordova 開発
Visual Studio を使用した Cordova 開発Visual Studio を使用した Cordova 開発
Visual Studio を使用した Cordova 開発
 
Line Creators Studio Android With Kotlin
Line Creators Studio Android With KotlinLine Creators Studio Android With Kotlin
Line Creators Studio Android With Kotlin
 
Make It Better Together: コミュニティを主体としたLibreOffice翻訳 / : Community-centered Lib...
Make It Better Together: コミュニティを主体としたLibreOffice翻訳 / : Community-centered Lib...Make It Better Together: コミュニティを主体としたLibreOffice翻訳 / : Community-centered Lib...
Make It Better Together: コミュニティを主体としたLibreOffice翻訳 / : Community-centered Lib...
 

AndroidStudioとGradleを利用したScala言語によるAndroidアプリの開発