SlideShare a Scribd company logo
ライブラリを作った話
t-kashima
近況
ライブラリを作った話
t-kashima
何のライブラリ?
アプリの前面に常に画像を表示するライブラリ
画像をドラッグして動かすこともできる
こんなの
https://github.com/t-kashima/
accesory
GitHubにあります
デモ
何でつくったのか
・どうやって作るかに興味があった
・Kotlinを試してみたかった
・ライブラリを作る知識をつけたい
どうやって作ったか
・WindowManager
・ActivityLifecycleCallbacks
WindowManager
http://techbooster.org/android/ui/13182/
Androidの画面は複数のレイヤーで構成されており、
情報の重要度・優先度によって使い分けられている
Activity
Activityのライフサイクルに
左右されず常に表示できる
ActivityLifecycleCallbacks
Applicationクラスに設定することで
Activityのライフサイクルを検知できる
Activityのライフサイクル
http://www.javadrive.jp/android/activity/index2.html
Kotlinとは
Kotlinは、ジェットブレインズ社のアンドリー・ブレスラ
フ、ドミトリー・ジェメロフが開発した、静的型付けのオ
ブジェクト指向プログラミング言語である。
Java 言語よりも簡潔に書けることを目指している。
たしかに Kotlin の Hello World プログラムでも、Java の
Hello World プログラムよりは短い。
https://ja.wikipedia.org/wiki/Kotlin
var list = array("catfish", "water")
List<String> list = new ArrayList<>();
list.add("catfish");
list.add("water");
Kotlin
Java
Kotlinは簡潔に書けて最高😇
Kotlinで良かったこと
ベスト3
型推論
型を書かなくて良いのはかなり助かる
val number = 3
val list = array("catfish", "water")
val cat = Cat("name")
ラムダ式
view.setOnClickListener {
v -> Log.d(TAG, "onClick")
}
view.setOnClickListener(View.OnClickListener() {
@Override
public void onClick(View v) {
Log.d(TAG, "onClick");
}
});
Kotlin
Java
null安全
String text = null;
int length = 0;
if (text != null) {
length = text.length();
}
Kotlin
Java
val text : String? = null
val length = text?.length() ?: 0
null以降のメソッドは呼ばれない
Kotlinは1.0.0Beta 4
(2016.1.14現在)
ライブラリの知見はまだまだ…
また後日😅
まとめ
新しいことへの挑戦🏃
大きなモチベーション👯
2016年
ライブラリを作って
挑戦していきたい

More Related Content

Similar to ライブラリを作った話

Custom lintcheckをつくろう
Custom lintcheckをつくろうCustom lintcheckをつくろう
Custom lintcheckをつくろう
Makoto Yamazaki
 
Excel 方眼紙撲滅委員会 活動報告 2013.9 #yapcasia
Excel 方眼紙撲滅委員会 活動報告 2013.9 #yapcasiaExcel 方眼紙撲滅委員会 活動報告 2013.9 #yapcasia
Excel 方眼紙撲滅委員会 活動報告 2013.9 #yapcasia
Takeshi Komiya
 
Sample App: Tizengram
Sample App: TizengramSample App: Tizengram
Sample App: Tizengram
Cafejp Tizen
 
リモートデバッグツール Weinerをつかってみた
リモートデバッグツール Weinerをつかってみたリモートデバッグツール Weinerをつかってみた
リモートデバッグツール Weinerをつかってみた
Masakazu Muraoka
 
全人關懷獎簡報
全人關懷獎簡報全人關懷獎簡報
全人關懷獎簡報
bgbgbg
 

Similar to ライブラリを作った話 (20)

運用に自動化を求めるのは間違っているだろうか
運用に自動化を求めるのは間違っているだろうか運用に自動化を求めるのは間違っているだろうか
運用に自動化を求めるのは間違っているだろうか
 
Git 20100724
Git 20100724Git 20100724
Git 20100724
 
Custom lintcheckをつくろう
Custom lintcheckをつくろうCustom lintcheckをつくろう
Custom lintcheckをつくろう
 
KotlinつかってQiitaクライアント作った時の話
KotlinつかってQiitaクライアント作った時の話KotlinつかってQiitaクライアント作った時の話
KotlinつかってQiitaクライアント作った時の話
 
KinectとC#を用いた 実践的VRアプリ開発 第2回 2015/10/13 Github CLI編
KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編
KinectとC#を用いた 実践的VRアプリ開発 第2回 2015/10/13 Github CLI編
 
はじめよう Backbone.js
はじめよう Backbone.jsはじめよう Backbone.js
はじめよう Backbone.js
 
osc_tokyo20100226
osc_tokyo20100226osc_tokyo20100226
osc_tokyo20100226
 
一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理
 
5分程度で分かる? Appceleratorの方のAlloy
5分程度で分かる? Appceleratorの方のAlloy5分程度で分かる? Appceleratorの方のAlloy
5分程度で分かる? Appceleratorの方のAlloy
 
Riot.jsに触れてみた話
Riot.jsに触れてみた話Riot.jsに触れてみた話
Riot.jsに触れてみた話
 
DroidKaigi アプリの内部を見る
DroidKaigi アプリの内部を見るDroidKaigi アプリの内部を見る
DroidKaigi アプリの内部を見る
 
Excel 方眼紙撲滅委員会 活動報告 2013.9 #yapcasia
Excel 方眼紙撲滅委員会 活動報告 2013.9 #yapcasiaExcel 方眼紙撲滅委員会 活動報告 2013.9 #yapcasia
Excel 方眼紙撲滅委員会 活動報告 2013.9 #yapcasia
 
Hello Java
Hello JavaHello Java
Hello Java
 
Swift勉強会第4回 〜ライブラリを触ってみよう〜
Swift勉強会第4回 〜ライブラリを触ってみよう〜Swift勉強会第4回 〜ライブラリを触ってみよう〜
Swift勉強会第4回 〜ライブラリを触ってみよう〜
 
Sample App: Tizengram
Sample App: TizengramSample App: Tizengram
Sample App: Tizengram
 
リモートデバッグツール Weinerをつかってみた
リモートデバッグツール Weinerをつかってみたリモートデバッグツール Weinerをつかってみた
リモートデバッグツール Weinerをつかってみた
 
Github入門2014
Github入門2014Github入門2014
Github入門2014
 
全人關懷獎簡報
全人關懷獎簡報全人關懷獎簡報
全人關懷獎簡報
 
インタラクションデザインにおけるオープン化事例の検討
インタラクションデザインにおけるオープン化事例の検討インタラクションデザインにおけるオープン化事例の検討
インタラクションデザインにおけるオープン化事例の検討
 
ロボットシステム学2015年第9回
ロボットシステム学2015年第9回ロボットシステム学2015年第9回
ロボットシステム学2015年第9回
 

More from Takumi KASHIMA (8)

趣味でサービスを作った話
趣味でサービスを作った話趣味でサービスを作った話
趣味でサービスを作った話
 
動画のあれこれ
動画のあれこれ動画のあれこれ
動画のあれこれ
 
朝活のすすめ
朝活のすすめ朝活のすすめ
朝活のすすめ
 
Realmという衝撃
Realmという衝撃Realmという衝撃
Realmという衝撃
 
UX勉強会(第十五章)
UX勉強会(第十五章)UX勉強会(第十五章)
UX勉強会(第十五章)
 
UX勉強会(第十章)
UX勉強会(第十章)UX勉強会(第十章)
UX勉強会(第十章)
 
UX勉強会(第五章)
UX勉強会(第五章)UX勉強会(第五章)
UX勉強会(第五章)
 
UX勉強会(第四章)
UX勉強会(第四章) UX勉強会(第四章)
UX勉強会(第四章)
 

Recently uploaded

Recently uploaded (6)

今年こそ始めたい!SQL超入門 セミナー資料 2024年5月22日 富士通クラウドミートアップ
今年こそ始めたい!SQL超入門 セミナー資料 2024年5月22日 富士通クラウドミートアップ今年こそ始めたい!SQL超入門 セミナー資料 2024年5月22日 富士通クラウドミートアップ
今年こそ始めたい!SQL超入門 セミナー資料 2024年5月22日 富士通クラウドミートアップ
 
人的資本経営のための地理情報インテリジェンス 作業パターン分析と心身状態把握に関する実証事例
人的資本経営のための地理情報インテリジェンス 作業パターン分析と心身状態把握に関する実証事例人的資本経営のための地理情報インテリジェンス 作業パターン分析と心身状態把握に関する実証事例
人的資本経営のための地理情報インテリジェンス 作業パターン分析と心身状態把握に関する実証事例
 
今さら聞けない人のためのDevOps超入門 OSC2024名古屋 セミナー資料
今さら聞けない人のためのDevOps超入門 OSC2024名古屋  セミナー資料今さら聞けない人のためのDevOps超入門 OSC2024名古屋  セミナー資料
今さら聞けない人のためのDevOps超入門 OSC2024名古屋 セミナー資料
 
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
 
【登壇資料】スタートアップCTO経験からキャリアについて再考する CTO・VPoEに聞く by DIGGLE CTO 水上
【登壇資料】スタートアップCTO経験からキャリアについて再考する  CTO・VPoEに聞く by DIGGLE CTO 水上【登壇資料】スタートアップCTO経験からキャリアについて再考する  CTO・VPoEに聞く by DIGGLE CTO 水上
【登壇資料】スタートアップCTO経験からキャリアについて再考する CTO・VPoEに聞く by DIGGLE CTO 水上
 
本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について
本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について
本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について
 

ライブラリを作った話