イカしたライブラリを作った
話
横幕圭真(@KeithYokoma)
114年3月27日木曜日
イカしたライブラリ
• Amalgam
• https://github.com/nohana/Amalgam
• 頻繁に使う手続きをまとめてユーティリティに
• ほぼ static なメソッドばかり
• Context を使ったものも安心設計...
イカしたライブラリ
• Laevatein
• https://github.com/nohana/Laevatein
• 写真セレクタ画面のセット
• 目指したのは、KitKat のファイルセレクタのもっ
とイイカンジのやつ
• 簡単な AP...
イカしたライブラリ
• Laevatein
• やるべきことは以下
public	
  static	
  final	
  int	
  REQUEST_CODE	
  =	
  1;
public	
  void	
  onButtonCl...
イカしたライブラリ
514年3月27日木曜日
超カンタン!
✌(‘ω’✌ )三✌(‘ω’)✌三( ✌’ω’)✌
614年3月27日木曜日
イカしたライブラリ
• Laevatein
• オプションもいろいろ
• 画質にこだわる場合
• 選び直しをしたい場合
• セルのレイアウトを変えたい場合
Laevatein.from(this)
	
  	
  	
  	
  	
  	
 ...
イカしたライブラリ
• Laevatein
• テーマはアプリが定義したものに
814年3月27日木曜日
超カンタン!
✌(‘ω’✌ )三✌(‘ω’)✌三( ✌’ω’)✌
914年3月27日木曜日
苦労話
• attr.xml の闇
• 他のライブラリと <attr>の名前がかぶった時
• aapt がうまく解決できなくなってコンパイルエラー
• iOS 的ネーミングで解決
1014年3月27日木曜日
苦労話
• リソース名の闇
• ライブラリと同じ名前のリソースを持つアプリ
• アプリ本体側のリソース名が優先される
• iOS 的ネーミングで解決
1114年3月27日木曜日
orz
1214年3月27日木曜日
今後
• もう少し機能を増やす
• KitKat のやつ呼び出すとか
• 写真をその場で撮って選択状態にするとか
1314年3月27日木曜日
Upcoming SlideShare
Loading in …5
×

イカしたライブラリを作った話

699 views

Published on

イカしたライブラリの紹介と、それを作った時の苦労話

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
699
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

イカしたライブラリを作った話

  1. 1. イカしたライブラリを作った 話 横幕圭真(@KeithYokoma) 114年3月27日木曜日
  2. 2. イカしたライブラリ • Amalgam • https://github.com/nohana/Amalgam • 頻繁に使う手続きをまとめてユーティリティに • ほぼ static なメソッドばかり • Context を使ったものも安心設計 214年3月27日木曜日
  3. 3. イカしたライブラリ • Laevatein • https://github.com/nohana/Laevatein • 写真セレクタ画面のセット • 目指したのは、KitKat のファイルセレクタのもっ とイイカンジのやつ • 簡単な API でらくらく実装 314年3月27日木曜日
  4. 4. イカしたライブラリ • Laevatein • やるべきことは以下 public  static  final  int  REQUEST_CODE  =  1; public  void  onButtonClick(View  view)  {        Laevatein.from(this)                                        .choose(MimeType.allOf())                                        .count(0,  10)                                        .forResult(REQUEST_CODE); } private  List<Uri>  mSelected; @Override protected  void  onActivityResult(int  requestCode,  int  resultCode,  Intent  data)  {        super.onActivityResult(requestCode,  resultCode,  data);        if  (requestCode  ==  REQUEST_CODE  &&  resultCode  ==  Activity.RESULT_OK)  {                mSelected  =  Laevatein.obtainResult(data);        } } 414年3月27日木曜日
  5. 5. イカしたライブラリ 514年3月27日木曜日
  6. 6. 超カンタン! ✌(‘ω’✌ )三✌(‘ω’)✌三( ✌’ω’)✌ 614年3月27日木曜日
  7. 7. イカしたライブラリ • Laevatein • オプションもいろいろ • 画質にこだわる場合 • 選び直しをしたい場合 • セルのレイアウトを変えたい場合 Laevatein.from(this)                .choose(MimeType.allOf())                .quality(30000,  Integer.MAX_VALUE)                .forResult(REQUEST_CODE); Laevatein.from(this)                .choose(MimeType.allOf())                .resume(mSelectedList)                .forResult(REQUEST_CODE); Laevatein.from(this)                .choose(MimeType.allOf())                .bindEachImageWith(                        R.layout.hoge,  R.id.image,  R.id.check)                .forResult(REQUEST_CODE); 714年3月27日木曜日
  8. 8. イカしたライブラリ • Laevatein • テーマはアプリが定義したものに 814年3月27日木曜日
  9. 9. 超カンタン! ✌(‘ω’✌ )三✌(‘ω’)✌三( ✌’ω’)✌ 914年3月27日木曜日
  10. 10. 苦労話 • attr.xml の闇 • 他のライブラリと <attr>の名前がかぶった時 • aapt がうまく解決できなくなってコンパイルエラー • iOS 的ネーミングで解決 1014年3月27日木曜日
  11. 11. 苦労話 • リソース名の闇 • ライブラリと同じ名前のリソースを持つアプリ • アプリ本体側のリソース名が優先される • iOS 的ネーミングで解決 1114年3月27日木曜日
  12. 12. orz 1214年3月27日木曜日
  13. 13. 今後 • もう少し機能を増やす • KitKat のやつ呼び出すとか • 写真をその場で撮って選択状態にするとか 1314年3月27日木曜日

×