2016-05-21 3 views
1

この質問で私を助けてください。AndroidのMainActivityは、異なる時間に異なるアクティビティクラスを拡張するのはなぜですか?

新しいプロジェクトを作成すると、MainActivityがアクティビティクラスまたはAppCompatActivityを拡張しています。なぜこれが起こるのですか?毎回アンドロイドプロジェクトのデフォルト設定を変更する理由は何ですか? MainActivityが拡張できる他のクラスは何ですか?助けていただければ幸いです。

+0

AppCompatActivityはActivityを拡張するFragmentActivityを拡張します。これはPolyfill(ウェブ開発)と呼ばれ、新しい機能(例えばマテリアルデザイン)を使用するための旧バージョンのAndroidをサポートします – shilch

答えて

2

ActvityはAndroid 3.0(APIレベル11)で導入されたシステムActionBarをサポートしています。

AppCompatActivityには、サポートライブラリのActionBarで動作するインターフェイスがあり、APIレベル7で使用できます)。

+0

ツールバーはサポートライブラリandroid.support.v7.widget.Toolbarを使用してAppcompatActivityと併用されます – USKMobility

+0

そうです。編集: – mklimek

+0

だから、常にAppCompatActivityを使うべきですか?その後、他のアクティビティクラスを拡張することができますか? – Marat

1

アクションバーのようないくつかの機能をサポートしたい場合は、アンドロイドのAPIレベルを下げるためにAppcompateActivityを使用してください。例えば、アクティビティクラスで威力を伸ばすと、APIレベル11

AppCompatActivity provide backward compatibility for new features 
+0

いいえ、アクティビティで使用したい機能や、あなたのAPPでサポートされているAPIレベルに依存します。たとえば、メニューレベル7のアクションバー(meniestの最小APIレベル)を使用しない場合は、AppCompateActivityを使用します。最小APIレベルが11の場合、Activityクラスを使用します。 – USKMobility

0

私はMainActivityアクティビティクラスまたはAppCompatActivityを延びる参照。あなたはそれがActivityタイプを尋ねる新しいプロジェクトを作成し、あなたのproject.whenに使用していますどのような種類の活動


は、まあ、それはあなたに依存します。 FragmentActivityなど

関連する問題