SlideShare uma empresa Scribd logo
1 de 26
Baixar para ler offline
アプリ開発で役立つ
ライブラリの紹介
2013/4/21 つ部 Android 勉強会 2013年4月
@nagakenjs
13年4月21日日曜日
自己紹介
• Twitter ID:@nagakenjs
• お仕事:ソフト屋さんです。
Java屋さんのはずですがCやC++もよく書きます。
Androidの中の人になることが多いです。
• たまに.NET Micro Frameworkで遊んでます。
13年4月21日日曜日
何ができるようになるの?
• Androidのバージョン差分を吸収
• 特定機能の提供(SNS連携、GUI部品、HTML解析…)
• ソースコードのダイエット
難しくて諦めていたあの機能がライブラリで
実現できるかも!?
13年4月21日日曜日
注意点
• ライセンス
• ライブラリのバグ
• アプリ容量
13年4月21日日曜日
紹介するライブラリ
• Android Support Library
• ActionBarSherlock
• Lombok
• ORMLite
13年4月21日日曜日
紹介するライブラリ
• Android Support Library
• ActionBarSherlock
• Lombok
• ORMLite
13年4月21日日曜日
ANDROID SUPPORT LIBRARY
• http://developer.android.com/tools/extras/support-library.html
• Googleが提供する純正ライブラリ
• Android 4.xで追加されたAPIを1.6∼2.3向けに提供
13年4月21日日曜日
ANDROID SUPPORT LIBRARY
• 最近のSDK Managerなら
標準でインストール
• FragmentやLoaderなどが
2.xでも使用可能に
• ActionBarなど一部機能は
使えません
13年4月21日日曜日
紹介するライブラリ
• Android Support Library
• ActionBarSherlock
• Lombok
• ORMLite
13年4月21日日曜日
ACTIONBAR SHERLOCK
• http://actionbarsherlock.com/
• Apache License,Version 2.0
• Android 2.xでも使えるActionBar
13年4月21日日曜日
ACTIONBAR SHERLOCK
動作確認:Nexus One (2.3.6)
13年4月21日日曜日
ACTIONBAR SHERLOCK
• Android 2.xと4.xでプロジェクトを統一できる
• APIはオリジナルのActionBarとほぼ同じ
• サンプルソースが豊富
13年4月21日日曜日
紹介するライブラリ
• Android Support Library
• ActionBarSherlock
• Lombok
• ORMLite
13年4月21日日曜日
LOMBOK(ろんぼく)
• http://projectlombok.org/
• MIT License
• Javaの冗長性を排除
• Annotationを使ってソースコードを拡張
• Android専用ではないので他のJava開発にも使用可
13年4月21日日曜日
LOMBOK(GETTER/SETTER)
• @Getter / @Setter
• getter / setterを自動生成してくれる
13年4月21日日曜日
LOMBOK(GETTER/SETTER)
public class Account {
@Getter @Setter
private String name;
@Getter
private String email;
@Setter
private int age;
}
13年4月21日日曜日
LOMBOK(@CLEANUP)
• @Cleanup
• リソースの解放処理を自動生成
• 解放するメソッド名は指定可能
13年4月21日日曜日
LOMBOK(@CLEANUP)
@Cleanup
InputStream in = new FileInputStream(“hoge.txt”);
InputStream in = new FileInputStream(“hoge.txt”);
try {
// ...
} finally {
if (in != null) {
in.close();
}
}
13年4月21日日曜日
LOMBOK(VAL)
• val
• 変数の型宣言の代わりに使用
• final変数として宣言される
13年4月21日日曜日
LOMBOK(VAL)
val map = new HashMap<String, String>();
final HashMap<String, String> map =
new HashMap<String, String>();
13年4月21日日曜日
紹介するライブラリ
• Android Support Library
• ActionBarSherlock
• Lombok
• ORMLite
13年4月21日日曜日
ORMLITE
• http://ormlite.com/
• ISC license
• SQLite用のO/Rマッパー
• DBへのアクセス処理を単純化
13年4月21日日曜日
ORMLITEと標準APIとの違い
標準API ORMLite
テーブル定義
CREATETABLE文を
手書き
クラス定義から
自動生成
データ
アクセス
SQLiteDatabasesク
ラスの各メソッド
クエリビルダー
取得データの
取り出し
Cursorから1カラム
ずつ処理
データクラスに
自動設定
13年4月21日日曜日
テーブル作成
@DatabaseTable(tableName = "user")
public class User {
public static final String COLUMN_ID = "id";
public static final String COLUMN_NAME = "name";
@DatabaseField(generatedId = true, columnName = COLUMN_ID)
public Integer id;
@DatabaseField(columnName = COLUMN_NAME)
public String name;
}
13年4月21日日曜日
クエリビルダー
Dao<User, Integer> dao = helper.getDao(User.class);
List<User> users = dao.queryBuilder()
.selectColumns(User.COLUMN_ID, User.COLUMN_NAME)
.where()
.eq(User.COLUMN_NAME, "nagakenjs")
.or()
.ge(User.COLUMN_ID, 10)
.query();
SELECT id, name FROM users
WHERE name = ‘nagakenjs’ OR id >= 10
13年4月21日日曜日
まとめ
• ライブラリの導入であなたのアプリがよりシン
プル・スマートに。
• 用法、用量を守って楽しいプログラミングを!
13年4月21日日曜日

Mais conteúdo relacionado

Destaque

Blowing Performance Spa parts
Blowing Performance Spa partsBlowing Performance Spa parts
Blowing Performance Spa partsLargo, Florida
 
Căn hộ phố đông giá gốc cđt 11.6tr m2, chuẩn bị giao nhà
Căn hộ phố đông giá gốc cđt 11.6tr m2, chuẩn bị giao nhàCăn hộ phố đông giá gốc cđt 11.6tr m2, chuẩn bị giao nhà
Căn hộ phố đông giá gốc cđt 11.6tr m2, chuẩn bị giao nhàkimthoa3124
 
Ft curriculum briefing for p3 parents
Ft curriculum briefing for p3 parentsFt curriculum briefing for p3 parents
Ft curriculum briefing for p3 parentsClara Ang
 
Mcpppt
McppptMcpppt
Mcppptjlweb
 
Nmdl presentation
Nmdl presentationNmdl presentation
Nmdl presentationTiara Ealey
 
Căn hộ phố đông 653 trcăn mở bán đợt cuối bàn giao nhà 0989707653
Căn hộ phố đông 653 trcăn mở bán đợt cuối bàn giao nhà 0989707653Căn hộ phố đông 653 trcăn mở bán đợt cuối bàn giao nhà 0989707653
Căn hộ phố đông 653 trcăn mở bán đợt cuối bàn giao nhà 0989707653kimthoa3124
 
áLbum de fotografías
áLbum de fotografíasáLbum de fotografías
áLbum de fotografíasJüän Riveroz
 
WPF - Controls &amp; Data
WPF - Controls &amp; DataWPF - Controls &amp; Data
WPF - Controls &amp; DataSharada Gururaj
 
Căn hộ sunview 3 trung tâm gò vấp chỉ 614 tr căn lh 0989.707.653
Căn hộ sunview 3 trung tâm gò vấp chỉ 614 tr căn lh 0989.707.653Căn hộ sunview 3 trung tâm gò vấp chỉ 614 tr căn lh 0989.707.653
Căn hộ sunview 3 trung tâm gò vấp chỉ 614 tr căn lh 0989.707.653kimthoa3124
 
Căn hộ sunview 3 trung tâm gò vấp chỉ 614 tr căn lh 0989.707.653
Căn hộ sunview 3 trung tâm gò vấp chỉ 614 tr căn lh 0989.707.653Căn hộ sunview 3 trung tâm gò vấp chỉ 614 tr căn lh 0989.707.653
Căn hộ sunview 3 trung tâm gò vấp chỉ 614 tr căn lh 0989.707.653kimthoa3124
 
Essential Mag Article- A window onto the world
Essential Mag Article- A window onto the worldEssential Mag Article- A window onto the world
Essential Mag Article- A window onto the worldTony Cassidy
 

Destaque (14)

Blowing Performance Spa parts
Blowing Performance Spa partsBlowing Performance Spa parts
Blowing Performance Spa parts
 
Căn hộ phố đông giá gốc cđt 11.6tr m2, chuẩn bị giao nhà
Căn hộ phố đông giá gốc cđt 11.6tr m2, chuẩn bị giao nhàCăn hộ phố đông giá gốc cđt 11.6tr m2, chuẩn bị giao nhà
Căn hộ phố đông giá gốc cđt 11.6tr m2, chuẩn bị giao nhà
 
Ft curriculum briefing for p3 parents
Ft curriculum briefing for p3 parentsFt curriculum briefing for p3 parents
Ft curriculum briefing for p3 parents
 
Mcpppt
McppptMcpppt
Mcpppt
 
Nmdl presentation
Nmdl presentationNmdl presentation
Nmdl presentation
 
Căn hộ phố đông 653 trcăn mở bán đợt cuối bàn giao nhà 0989707653
Căn hộ phố đông 653 trcăn mở bán đợt cuối bàn giao nhà 0989707653Căn hộ phố đông 653 trcăn mở bán đợt cuối bàn giao nhà 0989707653
Căn hộ phố đông 653 trcăn mở bán đợt cuối bàn giao nhà 0989707653
 
áLbum de fotografías
áLbum de fotografíasáLbum de fotografías
áLbum de fotografías
 
WPF - Controls &amp; Data
WPF - Controls &amp; DataWPF - Controls &amp; Data
WPF - Controls &amp; Data
 
PAT1#5203
PAT1#5203PAT1#5203
PAT1#5203
 
Căn hộ sunview 3 trung tâm gò vấp chỉ 614 tr căn lh 0989.707.653
Căn hộ sunview 3 trung tâm gò vấp chỉ 614 tr căn lh 0989.707.653Căn hộ sunview 3 trung tâm gò vấp chỉ 614 tr căn lh 0989.707.653
Căn hộ sunview 3 trung tâm gò vấp chỉ 614 tr căn lh 0989.707.653
 
Communication
CommunicationCommunication
Communication
 
Grape golilath
Grape golilathGrape golilath
Grape golilath
 
Căn hộ sunview 3 trung tâm gò vấp chỉ 614 tr căn lh 0989.707.653
Căn hộ sunview 3 trung tâm gò vấp chỉ 614 tr căn lh 0989.707.653Căn hộ sunview 3 trung tâm gò vấp chỉ 614 tr căn lh 0989.707.653
Căn hộ sunview 3 trung tâm gò vấp chỉ 614 tr căn lh 0989.707.653
 
Essential Mag Article- A window onto the world
Essential Mag Article- A window onto the worldEssential Mag Article- A window onto the world
Essential Mag Article- A window onto the world
 

Semelhante a つ部 Android 勉強会 2013年4月 発表資料

つ部 Android 勉強会 2013年9月 発表資料
つ部 Android 勉強会 2013年9月 発表資料つ部 Android 勉強会 2013年9月 発表資料
つ部 Android 勉強会 2013年9月 発表資料Kenji Nagase
 
Movable type-seminar-20120411-ideamans
Movable type-seminar-20120411-ideamansMovable type-seminar-20120411-ideamans
Movable type-seminar-20120411-ideamansKunihiko Miyanaga
 
OpenLayersで始める地図の操作
OpenLayersで始める地図の操作OpenLayersで始める地図の操作
OpenLayersで始める地図の操作Yuki Yazaki
 
ソニーでElectronアプリをリリースしてみた
ソニーでElectronアプリをリリースしてみたソニーでElectronアプリをリリースしてみた
ソニーでElectronアプリをリリースしてみたYasuharu Seki
 
Hyper → Highspeed → Development
Hyper → Highspeed → DevelopmentHyper → Highspeed → Development
Hyper → Highspeed → Developmentaktsk
 
Node.js を選ぶとき 選ばないとき
Node.js を選ぶとき 選ばないときNode.js を選ぶとき 選ばないとき
Node.js を選ぶとき 選ばないときRyunosuke SATO
 
131207 NECTJ Workshop 2
131207 NECTJ Workshop 2131207 NECTJ Workshop 2
131207 NECTJ Workshop 2NECTJ
 
5 年続く 「はてなブックマーク」 アプリを継続開発する技術
5 年続く 「はてなブックマーク」 アプリを継続開発する技術5 年続く 「はてなブックマーク」 アプリを継続開発する技術
5 年続く 「はてなブックマーク」 アプリを継続開発する技術Yu Nobuoka
 
早稲田大学授業 - モバイルプログラミング
早稲田大学授業 - モバイルプログラミング早稲田大学授業 - モバイルプログラミング
早稲田大学授業 - モバイルプログラミングIppei Arita
 
パッチを書いてみよう(第17回Nseg勉強会LT)
パッチを書いてみよう(第17回Nseg勉強会LT)パッチを書いてみよう(第17回Nseg勉強会LT)
パッチを書いてみよう(第17回Nseg勉強会LT)Masahiro Yamada
 
DLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミングDLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミングterurou
 
[Jagys3]android執筆書籍紹介
[Jagys3]android執筆書籍紹介[Jagys3]android執筆書籍紹介
[Jagys3]android執筆書籍紹介Kenichi Kambara
 
Weekend Androidのススメ
Weekend AndroidのススメWeekend Androidのススメ
Weekend AndroidのススメSuzuki Junko
 
React+fluxを導入した話
React+fluxを導入した話React+fluxを導入した話
React+fluxを導入した話Yuki Ishikawa
 
Perl Beginners #7 おとなのWAF
Perl Beginners #7 おとなのWAF Perl Beginners #7 おとなのWAF
Perl Beginners #7 おとなのWAF Munenori Sugimura
 
Mojoliciousでつくる! Webアプリ入門
Mojoliciousでつくる! Webアプリ入門Mojoliciousでつくる! Webアプリ入門
Mojoliciousでつくる! Webアプリ入門Yusuke Wada
 
「ドメイン駆動設計」の複雑さに立ち向かう
「ドメイン駆動設計」の複雑さに立ち向かう「ドメイン駆動設計」の複雑さに立ち向かう
「ドメイン駆動設計」の複雑さに立ち向かう増田 亨
 

Semelhante a つ部 Android 勉強会 2013年4月 発表資料 (20)

つ部 Android 勉強会 2013年9月 発表資料
つ部 Android 勉強会 2013年9月 発表資料つ部 Android 勉強会 2013年9月 発表資料
つ部 Android 勉強会 2013年9月 発表資料
 
Movable type-seminar-20120411-ideamans
Movable type-seminar-20120411-ideamansMovable type-seminar-20120411-ideamans
Movable type-seminar-20120411-ideamans
 
OpenLayersで始める地図の操作
OpenLayersで始める地図の操作OpenLayersで始める地図の操作
OpenLayersで始める地図の操作
 
ソニーでElectronアプリをリリースしてみた
ソニーでElectronアプリをリリースしてみたソニーでElectronアプリをリリースしてみた
ソニーでElectronアプリをリリースしてみた
 
Hyper → Highspeed → Development
Hyper → Highspeed → DevelopmentHyper → Highspeed → Development
Hyper → Highspeed → Development
 
Node.js を選ぶとき 選ばないとき
Node.js を選ぶとき 選ばないときNode.js を選ぶとき 選ばないとき
Node.js を選ぶとき 選ばないとき
 
131207 NECTJ Workshop 2
131207 NECTJ Workshop 2131207 NECTJ Workshop 2
131207 NECTJ Workshop 2
 
5 年続く 「はてなブックマーク」 アプリを継続開発する技術
5 年続く 「はてなブックマーク」 アプリを継続開発する技術5 年続く 「はてなブックマーク」 アプリを継続開発する技術
5 年続く 「はてなブックマーク」 アプリを継続開発する技術
 
早稲田大学授業 - モバイルプログラミング
早稲田大学授業 - モバイルプログラミング早稲田大学授業 - モバイルプログラミング
早稲田大学授業 - モバイルプログラミング
 
パッチを書いてみよう(第17回Nseg勉強会LT)
パッチを書いてみよう(第17回Nseg勉強会LT)パッチを書いてみよう(第17回Nseg勉強会LT)
パッチを書いてみよう(第17回Nseg勉強会LT)
 
Devsumi2013 fumi
Devsumi2013 fumiDevsumi2013 fumi
Devsumi2013 fumi
 
DLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミングDLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミング
 
[Jagys3]android執筆書籍紹介
[Jagys3]android執筆書籍紹介[Jagys3]android執筆書籍紹介
[Jagys3]android執筆書籍紹介
 
Weekend Androidのススメ
Weekend AndroidのススメWeekend Androidのススメ
Weekend Androidのススメ
 
Hiroshima.rb on github
Hiroshima.rb on githubHiroshima.rb on github
Hiroshima.rb on github
 
React+fluxを導入した話
React+fluxを導入した話React+fluxを導入した話
React+fluxを導入した話
 
Perl Beginners #7 おとなのWAF
Perl Beginners #7 おとなのWAF Perl Beginners #7 おとなのWAF
Perl Beginners #7 おとなのWAF
 
iPadでScratch
iPadでScratchiPadでScratch
iPadでScratch
 
Mojoliciousでつくる! Webアプリ入門
Mojoliciousでつくる! Webアプリ入門Mojoliciousでつくる! Webアプリ入門
Mojoliciousでつくる! Webアプリ入門
 
「ドメイン駆動設計」の複雑さに立ち向かう
「ドメイン駆動設計」の複雑さに立ち向かう「ドメイン駆動設計」の複雑さに立ち向かう
「ドメイン駆動設計」の複雑さに立ち向かう
 

つ部 Android 勉強会 2013年4月 発表資料