SlideShare uma empresa Scribd logo
1 de 20
Baixar para ler offline
AppCompat
使ってみました
2013/9/14 つ部 Android 勉強会 2013年9月
@nagakenjs
自己紹介
Twitter ID:@nagakenjs(ながけん)
お仕事:ソフト屋さんです。
Java屋さんのはずですがCやC++もよく書きま
す。
Androidの中の人になることが多いです。
たまに.NET Micro Frameworkで遊んでます。
年末にかけて何かするかも。
あなたのアプリに
ActionBarはありますか?
ActionBar
こいつです
Honeycombより追加されたメニュー構造
アイコン、検索ボックス、ドロップダウンメニ
ューなどを配置可能
Andriodのシェア
http://developer.android.com/about/dashboards/index.html
2.2/2.3のシェアが3割
まだまだサポート捨てられない
ActionBar Sherlok
Andriod 2.xでActionBarが利用可能
サードパーティ製ライブラリ
http://actionbarsherlock.com/
v7 appcompat library
Android 2.1以降で使えるActionBarライブラリ
Android Support Library Rev.18で導入
Google謹製!
導入方法(Eclipse)
Action Bar用のサブプロジェクトを作成
<SDK>/extras/android/support/v7/appcompat をインポート
アプリからサブプロジェクトを参照
導入方法 (Android Studio)
プロジェクトを作る時のウィザードで「Action
Bar」にチェックを付ける(0.2.7から)
またはbuild.gradleに以下を設定
dependencies {
compile 'com.android.support:appcompat-v7:18.0.0'
compile 'com.android.support:support-v4:18.0.0'
}
どうやって使うの?
利用方法(その1)
Activity を ActionBarActivityに置き換える
テーマをAndroidManifest.xmlに設定する
Theme.AppCompat
Theme.AppCompat.Light
Theme.AppCompat.Light.DarkActionBar
public class MainActivity extends ActionBarActivity
利用方法(その2)
メニューは標準APIが使用可能
ActionBarで拡張された部分はMenuItemCompatを
使用
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
MenuItem item = menu.add(0, MENU_ID, Menu.NONE, "menu");
MenuItemCompat.setShowAsAction(
item, MenuItemCompat.SHOW_AS_ACTION_IF_ROOM);
super.onCreateOptionsMenu(menu, inflater);
}
利用方法(その3)
XMLファイルでメニューを扱う場合
ActionBar拡張部分は別途名前空間を定義する
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:yourapp="http://schemas.android.com/apk/res-auto" >
<item
android:id="@+id/menu_settings"
android:icon="@drawable/ic_menu_preferences"
android:title="@string/menu_settings"
yourapp:showAsAction="ifRoom" />
</menu>
利用方法(その4)
android.support.v7.app.ActionBar
appcompatで追加
android.app.ActionBarとAPIの互換性あり
// ActionBarActivityのメソッド内
ActionBar actionBar = getSupportActionBar();
つまずく点
ListActivityの代替クラスがない
ListFragmentを使うべき?
Andriod Studioでテーマが使えない
0.2.7にバージョンアップする
ActionBar Sherlockとの
違いは?
ActionBarSherlockとの
違い
各ライブラリのクラス数・リソース数
クラス数
リソース数
(png + xml)
AppCompat
ActionBar Sherlock
56ファイル 291ファイル
87ファイル 341ファイル
ActionBarSherlockとの
違い
AppCompat ActionBarSherlock
• ActionBar基本機能
• タブバー
• ポップアップメニュー
• 検索ビュー
• 共有
• ActionBar基本機能
• 各種Activityの拡張
• 各種Fragmentの拡張
• タブバー
• メニューの拡張
• ポップアップメニュー
• 検索ビュー
• 共有
ActionBarSherlockとの
違い
apkのサイズ
• Android StudioでHello Worldプロジェクトを作成
• build.gradleにDebug版とRelease版のapkを作るよう設定
Debug Release
AppCompat
ActionBar Sherlock
651,819 byte 635,201 byte
731,848 byte 708,439 byte
まとめ
Android 2.1からActionBarが利用可能
Activityやテーマを置き換えて使う
ActionBar Sherlockと比べるとコンパクト
標準提供されているので導入が容易

Mais conteúdo relacionado

Mais procurados

iPhoneアプリ無料勉強会 vol2
iPhoneアプリ無料勉強会 vol2iPhoneアプリ無料勉強会 vol2
iPhoneアプリ無料勉強会 vol2
codeal
 
WordPressで複数のプラグインをまとめて一気にインストールする方法
WordPressで複数のプラグインをまとめて一気にインストールする方法WordPressで複数のプラグインをまとめて一気にインストールする方法
WordPressで複数のプラグインをまとめて一気にインストールする方法
Masahiro Nakashima
 

Mais procurados (20)

Rancher select
Rancher selectRancher select
Rancher select
 
App inventor20分勝負
App inventor20分勝負App inventor20分勝負
App inventor20分勝負
 
Realm meetup presentation
Realm meetup presentationRealm meetup presentation
Realm meetup presentation
 
Rubykaigi2010
Rubykaigi2010Rubykaigi2010
Rubykaigi2010
 
Owasp japan6th
Owasp japan6thOwasp japan6th
Owasp japan6th
 
React way at_eight
React way at_eightReact way at_eight
React way at_eight
 
Milkcocoa のSDKを作る話
Milkcocoa のSDKを作る話Milkcocoa のSDKを作る話
Milkcocoa のSDKを作る話
 
cochica
cochicacochica
cochica
 
iPhoneアプリ無料勉強会 vol2
iPhoneアプリ無料勉強会 vol2iPhoneアプリ無料勉強会 vol2
iPhoneアプリ無料勉強会 vol2
 
女性エンジニアの1週間
女性エンジニアの1週間女性エンジニアの1週間
女性エンジニアの1週間
 
iPhoneアプリ無料勉強会 vol1
iPhoneアプリ無料勉強会 vol1iPhoneアプリ無料勉強会 vol1
iPhoneアプリ無料勉強会 vol1
 
miyagawanize2
miyagawanize2miyagawanize2
miyagawanize2
 
iPhoneアプリ無料勉強会 vol3
iPhoneアプリ無料勉強会 vol3iPhoneアプリ無料勉強会 vol3
iPhoneアプリ無料勉強会 vol3
 
The First React on Rails
The First React on Rails The First React on Rails
The First React on Rails
 
WordPressで複数のプラグインをまとめて一気にインストールする方法
WordPressで複数のプラグインをまとめて一気にインストールする方法WordPressで複数のプラグインをまとめて一気にインストールする方法
WordPressで複数のプラグインをまとめて一気にインストールする方法
 
デザイナさんにGithubでpr投げてもらうまで
デザイナさんにGithubでpr投げてもらうまでデザイナさんにGithubでpr投げてもらうまで
デザイナさんにGithubでpr投げてもらうまで
 
Excel vba講座
Excel vba講座Excel vba講座
Excel vba講座
 
【ストアカ】ExcelVBA(マクロ)サンプル
【ストアカ】ExcelVBA(マクロ)サンプル【ストアカ】ExcelVBA(マクロ)サンプル
【ストアカ】ExcelVBA(マクロ)サンプル
 
Mashup Awards は 新しい技術を試す 絶好の機会です
Mashup Awards は新しい技術を試す絶好の機会ですMashup Awards は新しい技術を試す絶好の機会です
Mashup Awards は 新しい技術を試す 絶好の機会です
 
milkcocoaチュートリアル
milkcocoaチュートリアルmilkcocoaチュートリアル
milkcocoaチュートリアル
 

Destaque

PQE GLOBAL - Presentation1 corretor
PQE GLOBAL - Presentation1 corretorPQE GLOBAL - Presentation1 corretor
PQE GLOBAL - Presentation1 corretor
Francisco Tadeu
 
第12回 つ部 ミーティング兼忘年会 LT資料
第12回 つ部 ミーティング兼忘年会 LT資料第12回 つ部 ミーティング兼忘年会 LT資料
第12回 つ部 ミーティング兼忘年会 LT資料
Kenji Nagase
 
つ部 Android 勉強会 2013年4月 発表資料
つ部 Android 勉強会 2013年4月 発表資料つ部 Android 勉強会 2013年4月 発表資料
つ部 Android 勉強会 2013年4月 発表資料
Kenji Nagase
 
Ft curriculum briefing for p3 parents
Ft curriculum briefing for p3 parentsFt curriculum briefing for p3 parents
Ft curriculum briefing for p3 parents
Clara Ang
 

Destaque (17)

Căn hộ phố đông quận 9 giá rẻ 11.3tr , lh 0989.707.653
Căn hộ phố đông quận 9 giá rẻ 11.3tr , lh 0989.707.653Căn hộ phố đông quận 9 giá rẻ 11.3tr , lh 0989.707.653
Căn hộ phố đông quận 9 giá rẻ 11.3tr , lh 0989.707.653
 
PAT1#5203
PAT1#5203PAT1#5203
PAT1#5203
 
PQE GLOBAL - Presentation1 corretor
PQE GLOBAL - Presentation1 corretorPQE GLOBAL - Presentation1 corretor
PQE GLOBAL - Presentation1 corretor
 
Căn hộ phố đông 66 m2, 735tr, lh 0915.45.75.39
Căn hộ phố đông 66 m2, 735tr, lh 0915.45.75.39Căn hộ phố đông 66 m2, 735tr, lh 0915.45.75.39
Căn hộ phố đông 66 m2, 735tr, lh 0915.45.75.39
 
PAT1#5210
PAT1#5210PAT1#5210
PAT1#5210
 
Театр в Таганроге
Театр в ТаганрогеТеатр в Таганроге
Театр в Таганроге
 
第12回 つ部 ミーティング兼忘年会 LT資料
第12回 つ部 ミーティング兼忘年会 LT資料第12回 つ部 ミーティング兼忘年会 LT資料
第12回 つ部 ミーティング兼忘年会 LT資料
 
Căn hộ phố đông 66 m2, 735tr, lh 0915.45.75.39
Căn hộ phố đông 66 m2, 735tr, lh 0915.45.75.39Căn hộ phố đông 66 m2, 735tr, lh 0915.45.75.39
Căn hộ phố đông 66 m2, 735tr, lh 0915.45.75.39
 
APRA presentation for inDegree 2012
APRA presentation for  inDegree 2012APRA presentation for  inDegree 2012
APRA presentation for inDegree 2012
 
Karla Munoz
Karla MunozKarla Munoz
Karla Munoz
 
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
 
Communication
CommunicationCommunication
Communication
 
Seni Kriya - Patung Mbis
Seni Kriya - Patung MbisSeni Kriya - Patung Mbis
Seni Kriya - Patung Mbis
 
Blowing Performance Spa parts
Blowing Performance Spa partsBlowing Performance Spa parts
Blowing Performance Spa parts
 
つ部 Android 勉強会 2013年4月 発表資料
つ部 Android 勉強会 2013年4月 発表資料つ部 Android 勉強会 2013年4月 発表資料
つ部 Android 勉強会 2013年4月 発表資料
 
Ft curriculum briefing for p3 parents
Ft curriculum briefing for p3 parentsFt curriculum briefing for p3 parents
Ft curriculum briefing for p3 parents
 
Crime prevention via job creation
Crime prevention via job creationCrime prevention via job creation
Crime prevention via job creation
 

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

Android SDK Toolsのおさらい
Android SDK ToolsのおさらいAndroid SDK Toolsのおさらい
Android SDK Toolsのおさらい
Tomoki YAMASHITA
 
Action Bar Compat読んでみた
Action Bar Compat読んでみたAction Bar Compat読んでみた
Action Bar Compat読んでみた
Yukiya Nakagawa
 
「Android アプリのガチ開 発者が Mobile Backend Starter を使ってみた」
「Android アプリのガチ開 発者が Mobile Backend Starter を使ってみた」「Android アプリのガチ開 発者が Mobile Backend Starter を使ってみた」
「Android アプリのガチ開 発者が Mobile Backend Starter を使ってみた」
Yuki Anzai
 
Google I/O 2011 HowToADK
Google I/O 2011 HowToADKGoogle I/O 2011 HowToADK
Google I/O 2011 HowToADK
Masahiro Hidaka
 

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

冬だからAndroid再入門
冬だからAndroid再入門冬だからAndroid再入門
冬だからAndroid再入門
 
Android SDK Toolsのおさらい
Android SDK ToolsのおさらいAndroid SDK Toolsのおさらい
Android SDK Toolsのおさらい
 
Realmの暗号化とAndroid System
Realmの暗号化とAndroid SystemRealmの暗号化とAndroid System
Realmの暗号化とAndroid System
 
ngCore engine for mobage platform
ngCore engine for mobage platformngCore engine for mobage platform
ngCore engine for mobage platform
 
Action Bar Compat読んでみた
Action Bar Compat読んでみたAction Bar Compat読んでみた
Action Bar Compat読んでみた
 
AndroidでDIxAOP
AndroidでDIxAOPAndroidでDIxAOP
AndroidでDIxAOP
 
Android api-levels
Android api-levelsAndroid api-levels
Android api-levels
 
Android Studioの魅力
Android Studioの魅力Android Studioの魅力
Android Studioの魅力
 
5 年続く 「はてなブックマーク」 アプリを継続開発する技術
5 年続く 「はてなブックマーク」 アプリを継続開発する技術5 年続く 「はてなブックマーク」 アプリを継続開発する技術
5 年続く 「はてなブックマーク」 アプリを継続開発する技術
 
「Android アプリのガチ開 発者が Mobile Backend Starter を使ってみた」
「Android アプリのガチ開 発者が Mobile Backend Starter を使ってみた」「Android アプリのガチ開 発者が Mobile Backend Starter を使ってみた」
「Android アプリのガチ開 発者が Mobile Backend Starter を使ってみた」
 
A Framework for LightUp Applications of Grani
A Framework for LightUp Applications of GraniA Framework for LightUp Applications of Grani
A Framework for LightUp Applications of Grani
 
AndroidでARの夢を再び 〜ARCoreの導入から応用まで
AndroidでARの夢を再び 〜ARCoreの導入から応用までAndroidでARの夢を再び 〜ARCoreの導入から応用まで
AndroidでARの夢を再び 〜ARCoreの導入から応用まで
 
リモート・スマホ・レンタル(第2回 Androidテスト祭り)
リモート・スマホ・レンタル(第2回 Androidテスト祭り)リモート・スマホ・レンタル(第2回 Androidテスト祭り)
リモート・スマホ・レンタル(第2回 Androidテスト祭り)
 
iPadでScratch
iPadでScratchiPadでScratch
iPadでScratch
 
Applinkで「選べる」アプリ
Applinkで「選べる」アプリApplinkで「選べる」アプリ
Applinkで「選べる」アプリ
 
Android0422
Android0422Android0422
Android0422
 
Google I/O 2011 HowToADK
Google I/O 2011 HowToADKGoogle I/O 2011 HowToADK
Google I/O 2011 HowToADK
 
スマートフォンアプリケーション開発の最新動向
スマートフォンアプリケーション開発の最新動向スマートフォンアプリケーション開発の最新動向
スマートフォンアプリケーション開発の最新動向
 
ABC2016Spring Androidアプリ実装アンチパターン(暫定)
ABC2016Spring Androidアプリ実装アンチパターン(暫定)ABC2016Spring Androidアプリ実装アンチパターン(暫定)
ABC2016Spring Androidアプリ実装アンチパターン(暫定)
 
2015年のAndroidアプリ開発入門 - ABCD 2015 Kanazawa
2015年のAndroidアプリ開発入門 - ABCD 2015 Kanazawa2015年のAndroidアプリ開発入門 - ABCD 2015 Kanazawa
2015年のAndroidアプリ開発入門 - ABCD 2015 Kanazawa
 

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