2013/08/04 このエントリーをはてなブックマークに追加 はてなブックマーク - 【Android】ActionBar/ActionBarSherlockを使おう2~使い方編~(try to use ActionBarSherlock API 2)

【Android】ActionBar/ActionBarSherlockを使おう2~使い方編~(try to use ActionBarSherlock API 2)






今回はActionBarSherlockについてのエントリの第2弾です。




例のごとく、ActionBarSherlockのサイトの内容を日本語意訳してみました。




ちなみに、「」で囲まれているのが原文、その下に日本語訳、★で囲まれているのが補足です。





 「Usage」用法




「Sticking with the theme of the official compatibility library,
ActionBarSherlock aims to allow the use of the action bar design pattern by mimicking the experience
that would be found natively on Android Ice Cream Sandwich with as little effort as required.」
公式の互換ライブラリに従い、
ActionBarSherlockは必要な限り少ない労力でAndroid4.0(Ice Cream Sandwich)のネイティブ機能(つまり、ActionBarの機能)
を模倣し、それによりアクションバーのデザインパターンを使用できることを目指しています。




★ActionBarの使い方そのままで利用できちゃう!ってことですね。★




 「Requirements」必要条件




「Due to its use of the native action bar and its related classes on Ice Cream Sandwich,
the library requires that both it and your project are compiled with Android 4.0 or newer. 」

Android4.0(Ice Cream Sandwich)のネイティブなActionBarとその関連クラスを採用したので、
ライブラリは、プロジェクトの両方がアンドロイド4.0以降でコンパイルされている必要があります。

「The project also requires that you are compiling with JDK 1.6 in both your editor and
any build systems that you may be using.」

このプロジェクトはまた、あなたのエディタと、使用するであろうビルドシステム(AntやMaven、IDEのビルド)の両方で、
JDK 1.6でコンパイルされている必要があります。




★開発環境はJDK1.6、Android4.0以降。
エミュレーターやターゲットなどをAndroid4.0に設定しないとダメなようです。★



「Since the library is an extension of the official support library
you must also have the android-support-v4.jar referenced by your project.」
ライブラリは公式のサポートライブラリを拡張したものなので、
プロジェクトで android-support-v4.jarを参照する必要があります。


★ActionBarSherlockを動かすためにはandroid-support-v4.jarが必要ってことですね。★



 「Including In Your Project」プロジェクト内に導入するものについて



「There are a few ways to leverage ActionBarSherlock in your projects」
あなたのプロジェクトでActionBarSherlockを活用する方法はいくつかあります。

「If you’re using the Eclipse Development Environment with the ADT plugin version 0.9.7 or greater
you can include ActionBarSherlock as a library project. 」

あなたがEclipse開発環境0.9.7以降のADTプラグインのバージョンを使用している場合は、
ライブラリプロジェクトとしてActionBarSherlockを含めることができます。



★Eclipse開発環境0.9.7以降のADTプラグインの環境なら開発が出来ます!★



「Create a new Android project in Eclipse using the actionbarsherlock/ folder as the existing source.
Then, in your project properties, add the created project under the ‘Libraries’ section of the ‘Android’ category.」

「File>New>Project>Create a new Android project」(「ファイル>新規>プロジェクト>アンドロイドプロジェクト」)を選択し、
「existing source」(「既存のソース」)としてactionbarsherlockフォルダを指定し、新しいAndroidプロジェクトを作成します。
次に、プロジェクトのプロパティで、 'アンドロイド'カテゴリの 「use liblary」(「ライブラリの使用」)に作成されたプロジェクトを追加します。



★Eclipseの左上から既存のソースのプロジェクトを自分のワークスペースに展開しましょう。★



「If you use ant to compile from the command line you will need to run android update project -p .
inside the actionbarsherlock/ folder of the project. 」

actionbarsherlock /フォルダ内のプロジェクトから
Antなどでコマンドラインからコンパイルする場合は、
「android update project -p」コマンドを実行する必要があります。

Once completed, you can reference the actionbarsherlock/ folder of ActionBarSherlock from your application's project.properties file.
For more information please see the Android developer guide for referencing library projects.」

完了したら、あなたのアプリのproject.propertiesファイルからActionBarSherlockのactionbarsherlockフォルダを参照することができます。
詳細については、ライブラリプロジェクトを参照するためのAndroid開発者ガイドを参照してください。


★Antからも既存ソースのプロジェクトを導入できます。★




「If you use maven to build your Android project you can simply add a dependency for this library.」
あなたのAndroidのプロジェクトをビルドするためにMavenを使用する場合は、単純に、
このライブラリの依存関係を追加することができます。
   <dependency>
      <groupId>com.actionbarsherlock</groupId>
      <artifactId>actionbarsherlock</artifactId>
      <version>4.3.1</version>
      <type>apklib</type>
   </dependency>


★Mavenで依存関係の設定もできます。★



 Action Bar API アクションバーAPI




「When creating an activity to use the action bar on all versions of Android,
you must declare your activity to extend any of the activity classes that start with 'Sherlock' (e.g., SherlockActivity, SherlockFragmentActivity).
Interaction with the action bar is handled by calling getSupportActionBar() (instead of getActionBar()).」

アンドロイドのすべてのバージョンでActionBarを使用するためのActivityを作成するときは、
'Sherlock'(例えば、SherlockActivity、SherlockFragmentActivity)で始まり、
Activityクラスのいずれかを拡張するためにActivityを宣言する必要があります。
アクションバーとの相互作用はgetActionBar()メソッドを呼び出す代わりに、
getSupportActionBar()メソッドを呼び出すことによって処理されます。


「The API exposed by the ActionBar instance is an exact duplicate of that which the native method exposes.」
APIによって呼び出されるActionBarのインスタンスは、ネイティブメソッドの実行と全く挙動を取ります。



「NOTE: When using SherlockFragmentActivity there are also 'Sherlock'-prefixed fragment classes
which you should use to ensure proper functionality (e.g. SherlockFragment, SherlockListFragment).
The activity will still function with the normal fragment classes but you will not be able to use any of the menu-related methods.」

注: SherlockFragmentActivityを使用する時は、Sherlockが頭文字のフラグメントクラスを利用する必要があります。
あなたの用途に応じて適切な機能を確保するために使用しなければいけません。(例えばSherlockFragment、SherlockListFragmentなど)
Activityは通常のFragmentクラスで機能はしますが、あなたはメニュー関連のメソッドのいずれかを使用することはできません。




★基本的に、動きはAndroidのAPIで提供されているActionBarと同じものです。
ただ、Fragmentを使う場合はSherlockで始まるFragmentとAcrtivityクラスで実装する必要があります。★



 「Required Theming」 必要なテーマ設定




「Since the action bar widget is very complex it requires a set of default themes.
The library provides three core themes? one of which must be applied to each activity on which you want the action bar present.」

アクションバーのウィジェットは非常に複雑なので、デフォルトのTheme(テーマ)のセットが必要です。
ライブラリには、アクションバーが存在する各Activityに適用する必要があります。
3つのコアを提供するうち、一つのTheme(テーマ) を選択しなければいけません。


★AndroidのThemeの設定によってActionBarのデザインが変わります。
ここらへんも元々のActionBarと同じですね。★



 「Imports」 インポート



「In order to provide functionality that was not available on version of Android prior to 3.0,
the library includes and uses a lot of classes that are named the same as their native counterparts. 」

3.0以前のAndroidのバージョンで利用できなかった機能を提供するために、ライブラリは含まれており、
それらのネイティブ対応と同じ名前が付けられていたクラスの多くを使用しています。

「The three most common are:」
最も一般的な3つは以下のとおりです。

com.actionbarsherlock.app.ActionBar
com.actionbarsherlock.view.Menu
com.actionbarsherlock.view.MenuItem
com.actionbarsherlock.view.MenuInflater

「It is important to ensure that you are using these types where appropriate since
they contain the additional functionality required to support the action bar.」

それらはアクションバーをサポートするために必要な追加機能を含んでいるので、
これらのタイプの適切な場所を使用していることを確認することが重要である。


「NOTE: The majority of errors regarding the @Override-ing of methods from the activities are a result of using the incorrect imports.
All of the classes which exist in the com.actionbarsherlock.* package whose names match that of a native class extend from
that native class and as such can be used in their place.」
注:Activityからのメソッドの@Overrideに関するエラーの大半は間違ったクラスをimportをしたことが原因です。
必要なクラスはcom.actionbarsherlockに存在する、すべてのクラスです。これらはネイティブクラスを継承しており、
クラスは同じような場面で利用されるようになっています。


「NOTE: In order to inflate your menu from XML you should call getSupportMenuInflater() in your activities.
The fragment callbacks will already have an instance of the inflater as an argument.」

注:XMLからメニューを拡張するためには、あなたのActivityにgetSupportMenuInflater()を呼び出す必要があります。
fragmentのコールバックはすでに引数としてinflaterのインスタンスを持っています。




「This library was meant to be as behind-the-scenes as possible and require a minimal amount of changes to support.
The core usage of the action bar itself is no different than if you were interacting with the native action bar.」

ActionBarSherlockは、できるだけ舞台裏に回るようにして、変更量を最小限にしてサポートするよう作成しました。
従って、アクションバー自体のコアの使用は、ネイティブのActionBarを使用するのとなんら変わりありません。






 まとめ



訳した部分を簡単にまとめてみました。



・ActionBarの使い方そのままで利用できる

・開発環境はJDK1.6、Android4.0以降。
エミュレーターやターゲットなどをAndroid4.0に設定しないとダメ ・ActionBarSherlockを動かすためにはandroid-support-v4.jarが必要 ・Eclipse開発環境0.9.7以降のADTプラグインの環境で開発が可能 ・Eclipseの左上から既存のソースのプロジェクトを
自分のワークスペースに展開する必要あり ・Antからも既存ソースのプロジェクトを導入可能 ・Mavenで依存関係の設定も可能 ・基本的に、動きはAndroidのAPIで提供されているActionBarと同じ ※ただ、Fragmentを使う場合は  Sherlockで始まるFragmentとAcrtivityクラスで実装する必要がある ・AndroidのThemeの設定によってActionBarのデザインが変わる (ここらへんも元々のActionBarと同じ)







このように環境さえ整えてしまえば、とても簡単にActionBarを2.x系でも利用できるようになります。
導入手順の細かな部分はいろんな方が書いてますが、
僕の方でもエントリが書ければなぁと思ってます。










0 件のコメント:

コメントを投稿