Androidでは、Lifecyclerアクティビティ、アクティビティ、アクションバーアクティビティ、およびAppCompactActivityの拡張の主な違いは何ですか?これらのクラスは、使用法の点でどのように異なりますか?
ActionBarActivity
は、すべてのAPIレベルで ActionBar
sの機能を提供します> = 7Activity
を拡張することにより、プロジェクト/ライブラリをプロジェクトに追加することを避けることができますが、11未満のAPIレベルでは ActionBar
が不足します。edit:詳細:
ActionBarActivity
は Support Library の一部です。サポートライブラリは、古いプラットフォームで新しい機能を提供するために使用されます。たとえば、ActionBar
はAPI 11で導入され、デフォルトではActivity
の一部です(実際にはテーマによって異なります)。対照的に、古いプラットフォームにはActionBar
はありません。そのため、サポートライブラリは、Activity
の機能とUIを提供するActionBarActivity
(ActionBar
)の子クラスを追加します
edit2:2015年4月に更新-サポートライブラリのrevision 22.1.0
でActionBarActivity
が廃止されたようです。 AppCompatActivity
を代わりに使用する必要があります。
edit3:2017年8月更新- LifecycleActivity は LifecycleOwner but:
「アーキテクチャコンポーネントはアルファ段階にあるため、FragmentおよびAppCompatActivityクラスは実装できません(安定したコンポーネントから不安定なAPIに依存関係を追加できないため)。Lifecycleが安定するまで、LifecycleActivityおよびLifecycleFragmentクラスが提供されます。 Lifecyclesプロジェクトがリリースされ、サポートライブラリのフラグメントとアクティビティはLifecycleOwnerインターフェイスを実装します; LifecycleActivityとLifecycleFragmentはその時点で廃止されます。」
(アーキテクチャコンポーネントガイドラインからコピー)
よく見ると、これが見えます
public class ActionBarActivity extends FragmentActivity
implements ActionBarDrawerToggle.DelegateProvider TaskStackBuilder.SupportParentable
ここでFragmentActivityについて読むことができます: http://developer.Android.com/reference/Android/support/v4/app/FragmentActivity.html
アクティビティとFragmentActivityの違い: アクティビティとFragmentActivityの違い
また、actionBarをスタイリングするためのいくつかの新しいテーマがあります... https://developer.Android.com/training/basics/actionbar/styling.html
ActionbarはAPIレベル11で導入されました。com.Android.support:appcompat-v7:+は、Android 3.0以下で実行されているデバイスのアプリにActionBarを含めることができるサポートライブラリです。そのため、APIレベル11未満のアクションバーが必要な場合、アクティビティはActionBarActivityを拡張する必要があります。
APIレベル11以上をターゲットにしている場合、ActionBarActivityを拡張してAppCompatを参照する必要はありません。単にActivityを拡張するだけで、デフォルトでactionabrを使用できます。
Android Studioのデフォルトのプロジェクトでは、依存関係に自動的に含まれ、ActivityではなくActionbarActivityを拡張して使用します。
ActionBarActivity
またはSupportActionBarActivity
には、一般的なActivity
にはない追加のメソッドとプロパティがあります。たとえば、タブを追加するためのメソッドはActionBarActivity
にあり、汎用のActivity
にはありません。
主な違いは、汎用ActionBar
でActivity
を取得しないことです。
Actionbaractivityにアクセスすると、Androidサポートライブラリを使用しています。サポートライブラリの使用は、アプリケーションがデバイスの最大数に対応できるようにすることです。サポートライブラリは、アプリケーションに後方互換性の力を与えます。 Actionbaractivityは、Actionbardrawerトグルなどの複数の機能を提供します。利用可能なサポートライブラリがさらにあります。このリンクを参照してください..そして友人と共有してください... https://developer.Android.com/tools/support-library/index.html
ActionBarActivityには、より多くのサポートライブラリがあり、api 11から利用可能な新しいテーマの使用方法が改善されています。
「最も基本的なフォームでは、アクションバーにはアクティビティのタイトルと左側にアプリのアイコンが表示されます。このシンプルなフォームでも、アクションバーはすべてのアクティビティでユーザーに現在地を知らせ、一貫性を維持するのに役立ちますアプリのID。」