1. Download our Official Android App: Forums for Android!

Apps Avtivity vs AppCompatActivity

Discussion in 'Android Development' started by Bee Torika, Feb 27, 2016.

  1. Bee Torika

    Bee Torika Newbie
    Thread Starter
    Rank:
    None
    Points:
    26
    Posts:
    35
    Joined:
    Nov 12, 2015

    Nov 12, 2015
    35
    2
    26
    Hi

    I just start to use AppCompatActivity, because when I create new project by selecting blank activity template,
    android studio create class file extends AppCompatActivity.

    I know it is from android.support.v7.app.AppCompatActivity.

    But, is that much better than Activity ?

    And almost all android devices can import this class (AppCompatActivity) ?
    (I mean, is this safe to use that class ? I dont want my app couldnt be run in old android device, because my app uses that class.)

    What is main difference between Activity and AppCompatActivity ?

    Thanks
     

    Advertisement

  2. LV426

    LV426 I say we take off and nuke this place from orbit
    Recognized Developer
    Rank:
     #12
    Points:
    1,988
    Posts:
    9,176
    Joined:
    Oct 16, 2015

    Oct 16, 2015
    9,176
    13,681
    1,988
    Male
    Software developer
    South West of England
    This might be of some interest. From http://stackoverflow.com/questions/...mentactivity-and-actionbaractivity-when-to-us


    Activity is the baseline. Every activity inherits from Activity, directly or indirectly.

    FragmentActivity is for use with the backport of fragments found in the support-v4 and support-v13 libraries. The native implementation of fragments was added in API Level 11, which is higher than your proposed minSdkVersion values. The only reason why you would need to consider FragmentActivity specifically is if you want to use nested fragments (a fragment holding another fragment), as that was not supported in native fragments until API Level 17.

    AppCompatActivity is from the appcompat-v7 library. Principally, this offers a backport of the action bar. Since the native action bar was added in API Level 11, you do not need AppCompatActivity for that. However, current versions of appcompat-v7 also add a limited backport of the Material Design aesthetic, in terms of the action bar and various widgets. There are pros and cons of using appcompat-v7, well beyond the scope of this specific Stack Overflow answer.

    ActionBarActivity is the old name of the base activity from appcompat-v7. For various reasons, they wanted to change the name. Unless some third-party library you are using insists upon an ActionBarActivity, you should prefer AppCompatActivity over ActionBarActivity.

    So, given your minSdkVersion in the 15-16 range:

    • If you want the backported Material Design look, use AppCompatActivity

    • If not, but you want nested fragments, use FragmentActivity

    • If not, use Activity
     
    Bee Torika and scary alien like this.
  3. Bee Torika

    Bee Torika Newbie
    Thread Starter
    Rank:
    None
    Points:
    26
    Posts:
    35
    Joined:
    Nov 12, 2015

    Nov 12, 2015
    35
    2
    26
    LV426 !
    Thank you so much ^ ^
    have a nice weekend
     

Share This Page

Loading...