[解決済み】Activity、AppCompatActivity、FragmentActivity、ActionBarActivity。いつ、どれを使用しますか?
質問
私はiOSから来たのですが、簡単で、単にUIViewControllerを使えばいいのです。しかし、Androidでは、特定のAPI Levelsのための特定のUIComponentで、物事ははるかに複雑なようです。私はBigNerdRanch for Android(この本は約2年前のものです)を読んでいますが、彼らは私に次のものを使うよう勧めています。
Activity
をホストするために
FragmentActivities
. しかし、私は
Activity
は非推奨とした。
API Level 22 (最低限API Level 15または16をサポート) では、コンポーネントをホストするために、そしてコンポーネントそのものに、一体何を使えばいいのでしょうか?それとも、1つか2つのみを使うべきでしょうか?
どのように解決するのですか?
<ブロッククオートアクティビティは廃止されたと思っていた
いいえ。
API Level 22 (最低限API Level 15または16をサポート) では、コンポーネントをホストするために、そしてコンポーネントそのものに、一体何を使えばいいのでしょうか?それとも、1つか2つのみを使用すべきでしょうか?
Activity
がベースラインです。すべてのアクティビティは
Activity
直接または間接的に、です。
FragmentActivity
で見つかったフラグメントのバックポートで使用するためのものです。
support-v4
と
support-v13
ライブラリを使用します。フラグメントのネイティブ実装はAPI Level 11で追加されており、あなたの提案する
minSdkVersion
の値を設定します。を考慮する必要がある唯一の理由は
FragmentActivity
これは、API Level 17 まではネイティブフラグメントでサポートされていなかったためです。
AppCompatActivity
は
appcompat-v7
ライブラリです。主に、アクションバーのバックポートを提供します。API Level 11 でネイティブのアクションバーが追加されたため、アクションバーのバックポートに
AppCompatActivity
そのために しかし、現在のバージョンでは
appcompat-v7
また、アクションバーやさまざまなウィジェットの点で、Material Designの美学の限定的なバックポートが追加されています。を使用することには、長所と短所があります。
appcompat-v7
このStack Overflowの回答の範囲をはるかに超えています。
ActionBarActivity
は、ベースとなるアクティビティの旧名称で
appcompat-v7
. 様々な理由で、名前を変えたいと思ったのでしょう。あなたが使っているサードパーティのライブラリが
ActionBarActivity
を選択する必要があります。
AppCompatActivity
オーバー
ActionBarActivity
.
ということは、あなたの
minSdkVersion
を15-16の範囲にする。
-
バックポートされたマテリアルデザインの外観が必要な場合は
AppCompatActivity
-
そうではなく、ネストされたフラグメントが必要な場合は
FragmentActivity
-
そうでない場合は
Activity
コメントからメモとして追加しただけです。
AppCompatActivity
が拡張されます。
FragmentActivity
の機能を使用する必要がある場合、その人は
FragmentActivity
を使用することができます。
AppCompatActivity
.
関連
-
[解決済み】このアクティビティでは、Theme.AppCompatテーマ(またはその子孫)を使用する必要があります。
-
[解決済み】Build Tools リビジョン 23.0.1 の検索に失敗しました。
-
[解決済み] Android Studioで「URIが登録されていません」と報告されるのはなぜですか?[クローズド]
-
[解決済み] Gradleのエラーです。イベントディスパッチスレッドからの書き込みアクセスは、Android Studioでのみ許可されます。
-
[解決済み] setBackgroundDrawable() 非推奨
-
[解決済み] アイテムの親を取得する際にエラーが発生しました。AppCompat v23にアップグレードした後、指定された名前に一致するリソースが見つかりません。
-
[解決済み] なぜフラグメントなのか、そしてアクティビティの代わりにフラグメントを使用するのはどんなときか?
-
[解決済み】ActivityとFragmentActivityの違いについて
-
[解決済み] フラグメント使用時のAndroid Navigation Drawerの画像とUpキャレットの切り替えについて
-
[解決済み] AppCompatActivityがActionBarActivityより優れている点は何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] シンボル 'context' を解決できない
-
[解決済み】AndroidのSSL接続でトラストアンカーが見つからない
-
[解決済み] ユーザーが拒否する可能性のあるパーミッションが必要なコール
-
[解決済み】Dalvikとdalvik-cacheとは何ですか?
-
[解決済み】onCreateOptionsMenu(Menu メニュー)とは何ですか?)
-
[解決済み】起動アクティビティを特定できませんでした。デフォルトのアクティビティが見つかりませんでした
-
[解決済み】Android Studioでused import文がunused import文に指定されるのはなぜ?
-
[解決済み] サポートされていないメソッドです。BaseConfig.getApplicationIdSuffix()がサポートされていません。
-
[解決済み] 起動アクティビティを特定できませんでした。デフォルトのアクティビティが見つかりませんでした
-
[解決済み] android.support.design.widget.FloatingActionButton クラスの展開に失敗しました。