활동, 앱 호환 활동, 조각 활동 및 작업 표시줄 활동:어떤 것을 사용해야 합니까?
저는 iOS에서 왔고 당신은 간단히 UIView 컨트롤러를 사용합니다.그러나 Android의 경우 특정 API 수준에 대한 특정 UIC 구성 요소로 인해 상황이 훨씬 더 복잡해 보입니다. 2년 정도 된 입니다), BigNerdRanch(BigNerdRanch), BigNerdRanch(2년 정도 된 책입니다), BigNerdRanch를 합니다.Activity의 의호스트를 FragmentActivities하지만, 나는 생각했습니다.Activity사용되지 않습니다.
그렇다면 API Level 22(API Level 15 또는 16에 대한 최소한의 지원 포함)의 경우 구성 요소 호스팅과 구성 요소 자체에 대해 정확히 무엇을 사용해야 합니까?이 모든 것에 사용할 수 있습니까? 아니면 하나 또는 두 개를 거의 독점적으로 사용해야 합니까?
활동이 권장되지 않는다고 생각했습니다.
아니요.
그렇다면 API Level 22(API Level 15 또는 16에 대한 최소한의 지원 포함)의 경우 구성 요소 호스팅과 구성 요소 자체에 대해 정확히 무엇을 사용해야 합니까?이 모든 것에 사용할 수 있습니까? 아니면 하나 또는 두 개를 거의 독점적으로 사용해야 합니까?
Activity는 기준선입니다.모든 활동은 다음에서 상속됩니다.Activity직간접적으로
FragmentActivity는 에발의 fragment와 backport함에 됩니다.support-v4그리고.support-v13은 API 11에 추가되었으며, 제안하신 fragment보다 낮습니다.minSdkVersion가치. 당이고를 고려해야 하는 유일한 는 신야할입니다.FragmentActivity특히 API 레벨 17까지 네이티브 fragment에서 지원되지 않았기 때문에 중첩 fragment(다른 fragment를 포함하는 fragment)를 사용하려는 경우입니다.
AppCompatActivity에서 온 것입니다.appcompat-v7으로, 합니다.기본적으로 이것은 수행 표시줄의 백포트를 제공합니다..AppCompatActivity그러나 버전의 경우appcompat-v7또한 수행 표시줄 및 다양한 위젯 측면에서 재료 설계 미학의 제한된 백포트를 추가합니다.를 사용하는 것에는 장단점이 있습니다.appcompat-v7이 특정 스택 오버플로 답변의 범위를 훨씬 벗어납니다.
ActionBarActivity의 기본 활동의 이전 이름입니다.appcompat-v7다양한 이유로, 그들은 이름을 바꾸기를 원했습니다.사용 중인 일부 타사 라이브러리가 다음을 고집하지 않는 한ActionBarActivity은 당은선야합니다해호신합다▁prefer니▁you▁should를 선호해야 합니다.AppCompatActivity1파운드가 ActionBarActivity.
여러분의 그서의당신을 주어, 래의▁so.minSdkVersion15-16 µm:
백포트된 재료 설계 모양을 원하는 경우
AppCompatActivity그렇지 않지만 내포된 조각을 원할 경우
FragmentActivity그렇지 않은 경우 사용
Activity
주석에서 주석으로 추가하는 중:AppCompatActivity확장된FragmentActivity그래서 기능을 사용해야 하는 사람은 누구나FragmentActivity사용할 수 있습니다.AppCompatActivity.
Activity다른 모든 활동의 기본 클래스입니다, 저는 그것이 사용되지 않을 것이라고 생각하지 않습니다.그들 사이의 관계는 다음과 같습니다.
Activity<-FragmentActivity<-AppCompatActivity<-ActionBarActivity
여기서 '<-'는 상속을 의미합니다.참고인은 말했습니다.ActionBarActivity사용되지 않음, 사용AppCompatActivity대신.
그래서 기본적으로, 사용하는 것은AppCompatActivity항상 옳은 선택입니다.이들의 차이점은 다음과 같습니다.
Activity기본적인 것입니다.- 에 기반을 둔
Activity,FragmentActivity사용할 수 있는 기능을 제공Fragment. - 에 기반을 둔
FragmentActivity,AppCompatActivity에 기능을 제공ActionBar.
2019년: 사용AppCompatActivity
이 문서를 작성할 때(링크를 확인하여 여전히 사실임을 확인) Android 설명서는 다음을 사용할 것을 권장합니다.AppCompatActivity앱 모음을 사용하는 경우.
이것이 주어진 합리적인 이유입니다.
Android 3.0(API 레벨 11)부터는 기본 테마를 사용하는 모든 활동에 수행 표시줄이 앱 모음으로 제공됩니다.그러나 앱 모음 기능은 다양한 Android 릴리스에서 기본 ActionBar에 점차 추가되었습니다.따라서 기본 ActionBar는 장치가 사용하는 Android 시스템의 버전에 따라 다르게 작동합니다.반대로 최신 기능은 지원 라이브러리의 도구 모음 버전에 추가되며 지원 라이브러리를 사용할 수 있는 모든 장치에서 사용할 수 있습니다.
따라서 지원 라이브러리의 도구 모음 클래스를 사용하여 활동의 앱 모음을 구현해야 합니다.지원 라이브러리의 도구 모음을 사용하면 앱이 가장 광범위한 장치에서 일관된 동작을 수행할 수 있습니다.예를 들어 도구 모음 위젯은 Android 2.1(API 수준 7) 이상을 실행하는 장치에서 재료 설계 경험을 제공하지만 기본 수행 표시줄은 장치가 Android 5.0(API 수준 21) 이상을 실행하지 않는 한 재료 설계를 지원하지 않습니다.
도구 모음을 추가하는 일반적인 방법은 다음과 같습니다.
- v7 appcompat 지원 라이브러리 추가
- 이 확장되도록 .
AppCompatActivity - 에서 당신이 것은 " 매페스트당것선원언다니합을는하서니에신이다"입니다."입니다.
NoActionBar. - 추가
ToolBar각 활동의 xml 레이아웃으로 이동합니다. - 더 겟 더 겟 더
ToolBar에서.onCreate.
자세한 내용은 설명서 지침을 참조하십시오.그들은 꽤 분명하고 도움이 됩니다.
최소 15개의 API 수준에 대해 사용할 수 있습니다.AppCompatActivity, 여러분의 그서예들어를, 의신당.MainActivity: 다음과같표시다니됩이다▁would니표시.
public class MainActivity extends AppCompatActivity {
....
....
}
용방법을 AppCompatActivityGoogle 지원 라이브러리를 다운로드했는지 확인합니다(도구 -> Android -> SDK 관리자에서 확인할 수 있습니다).그런 다음 앱의 Gradle에 Gradle 종속성을 포함합니다.빌드 파일:
compile 'com.android.support:appcompat-v7:22:2.0'
이것을 사용할 수 있습니다.AppCompat당신의 주요 인물로서Activity그런 다음 Fragments 또는 다른 활동을 시작하는 데 사용할 수 있습니다(이것은 빌드 중인 앱의 종류에 따라 다릅니다).
Big Nerd Ranch 책은 좋은 자료이지만, 네, 구식입니다.Android 작동 방식에 대한 일반적인 정보를 보려면 이 문서를 읽으십시오. 그러나 Android에서 사용하는 특정 클래스가 최신 상태일 것으로 예상하지 마십시오.
Activityfragment management(API 11 를하는 fragment () (Fragment management) ( 11이후).프래그먼트 관리를 지원합니다(API 11 이후).전문화 기능이 훨씬 우수하기 때문에 더 이상 순수하게 사용하는 것을 권장하지 않습니다.
ActionBarActivity앱에서 ActionBar를 쉽게 처리할 수 있기 때문에 잠시 후 ActionBar를 Activity 클래스로 대체했습니다.
AppCompatActivity이제 ActionBar는 더 이상 권장되지 않으므로 도구 모음을 대신 사용해야 합니다(현재는 ActionBar 대체 기능).AppCompativity는 FragmentActivity에서 상속되므로 FragmentManager를 통해 Fragment를 처리할 수 있습니다.AppCompativity는 16+(누가 그렇게 말했습니까?) 뿐만 아니라 모든 API를 위한 것입니다.다음을 추가하여 사용할 수 있습니다.compile 'com.android.support:appcompat-v7:24:2.0'당신의 Gradle 파일에.API 10에서 사용하는데 완벽하게 작동합니다.
특히 시대에 뒤떨어진 자료를 읽는 경우 여기에는 많은 혼란이 있습니다.
인 것은 기적인것은입니다.Activity조각을 표시할 수 있습니다.안드로이드 버전 > 4에 있는 경우 이 조합을 사용할 수 있습니다.
이 말한 다른 : 그러나다같은다클포지는있다습니라도원리이러브.FragmentActivity,ActionBarActivity그리고.AppCompat원래는 Android 버전 < 4의 fragment를 지원하는 데 사용되었지만, 실제로는 최신 Android 버전(예: 재료 설계)의 기능을 지원하는 데도 사용됩니다.
은 가장최근것은의것입니다.AppCompat나머지 두 명은 나이가 더 많습니다.제가 사용하는 전략은 항상 사용하는 것입니다.AppCompat향후 Android 버전의 백포트에 대비하여 앱을 준비할 수 있도록 합니다.
향후 안드로이드 버전에서 이름이 바뀔 가능성이 높기 때문에 (현재 최신 버전은AppCompatActivity이다), 저는 .Activity그것은 확장되는AppCompatActivity그리고 당신의 모든 활동은 그것으로부터 확장됩니다.을 만약내일그이바꾸름면을들이,바꾸면으로 바꾼다면,AppCompatActivity2예를 들어 한 곳에서만 변경해야 합니다.
언급URL : https://stackoverflow.com/questions/31297246/activity-appcompatactivity-fragmentactivity-and-actionbaractivity-when-to-us
'codememo' 카테고리의 다른 글
| jQuery 선택한 확인란의 값을 배열로 가져옵니다. (0) | 2023.08.11 |
|---|---|
| 오라클에서 문자열의 일부를 제거하는 방법 (0) | 2023.08.11 |
| Oracle 예외 처리 (0) | 2023.08.11 |
| 비주얼 스튜디오 2015에서 ADO.net 아이덴티티 데이터 모델을 사용하여 엔티티 프레임워크 6(웹 API)으로 mariadb 설정(버전 10.2.17)을 수행하는 방법은 무엇입니까? (0) | 2023.08.11 |
| CSS에서 방사형 메뉴를 만드는 방법은 무엇입니까? (0) | 2023.08.06 |