1. ホーム
  2. Android development

AndroidにおけるActivity/ActionBarActivity/AppCompatActivityの区別と理解について

2022-02-23 19:32:37

        以前はEclipseを使ってAndroidを書いていたのですが、最近、やはりGoogleが推奨しているし、今後のトレンドでもあるので、Android Studioに乗り換えました。その過程で、Activityに関するいくつかの問題に遭遇したので、以下にその問題を説明します。

        まず、新規プロジェクトを作成し、Minimum Required SDK は API14 :Android 4.0,(Icecream Sandwich) を選択、Target SDK と Compile With は API19: Android 4.4(KitKat) を選択、新規プロジェクト完了後、アプリケーションのスクリーンショットは以下のとおりです。 .

ご覧のように、メインインターフェイスの上部にActionBarが現れ、現在のActivityであるAndroidTestの名前が表示されています。これはEclipseの場合ですが、Android Studioの場合はどうでしょうか。

        最初のAndroid Studioで新しいプロジェクトを作成し、アプリケーション名はAndroidTest、その後、プラットフォームとSDKの選択電話やタブレット:Android 4.0( IceCreamSandwich )、新しいの完了後、自動的にプロジェクトに新しいモジュールを作成します、名前はappです。ActionBarActivity is deprecated". ActionBarActivityは、非推奨です(deprecated")。これは、すでに非推奨である、もしくは、もう使うことは推奨されないという意味です。以下は、実行後のアプリケーションのスクリーンショットです。 . 相変わらずActionBarが上部に表示され、プロジェクト名AndroidTestがデフォルトで表示されていることがわかります。MainActivityが親クラスのActivityとActionBarActivityをそれぞれ継承していること以外は、Eclipseのプロジェクトと違いはありません。

        Android開発においてClassの陳腐化は常にイライラさせられるので、以下ではASで継承されているActionBarActivityをActivity.に手動で変更し、対応するパッケージをインポートして、プログラム実行後のスクリーンショットを以下に示します。 スクリーンショットは以下の通りです。 上部のActionBarがなくなっているのがわかります。これはEclipseとは全く違う。Activityからも継承されていますが、インターフェイスのUIが違います。これが、Androidプロジェクトを開発する際のEclipseとASの違いの一つです。

      ASでもActionBarを使いたい、すでに廃止されたActionBarActivityは使いたくないという場合、どのような解決策があるのでしょうか。AppCompatActivityを使用します。AppCompatActivityのMainActivityをASにインクルードし、対応するパッケージをインポートし、アプリケーションの実行のスクリーンショットを撮ります。 アプリケーション実行後のスクリーンショットを撮影しています。

       今後、私たちのプロジェクトでは、Activityの継承する親クラスを手動で修正することで、ActionBarを表示するかどうかを決めることができます。 また、それ以外のアプリケーションへの影響はありません。同じコードでもEclipsehとAndroid Studioでは見え方がもっと違うので、別の扱いが必要です。