狠狠撸

狠狠撸Share a Scribd company logo
アプリ開発で役立つ
ライブラリの紹介
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
? 変数の型宣言の代わりに使用
? ?nal変数として宣言される
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日日曜日

More Related Content

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