C만 주로 하고 예전에 Java를 잠깐하고 거의 안쓰다가 무작정 Android 하려니까 이것저것 막히는 부분이 많다.
역시 기초없이 하기란 힘들구나 +_+;;;
예약어 super 에 대해 알아본다.
예약어 super의 형태
super.객체변수 | 하위 클래스에 의해 가려진 상위 클래스의 멤버변수나 메소드 접근 |
super.메소드이름(매개변수) | 상위 클래스의 생성자를 호출하기 위해 사용 |
super(매개변수) |
상위클래스의 생성자를 호출 |
오버라이딩
이전에 메소드의 상속과 오버라이딩(Overriding)에 개념이 잡혀야 한다.
오버로딩과 오버라이딩 : 객체지향 언어의 주요 개념은 다형성을 제공하기 위함이 가장 크다.
안드로이드에서 @Overriding 으로 사용
: 상속관계에 있는 상위 클래스와 하위 클래스에서 같은 이름의 메소드를 정의하여 다형성을 지원한다.
super.onCreate(savedInstanceState) 는?
Activity가 실행될때(생성) 부분이다.
이 메서드는 구현 해야 한다. 시스템 활동을 만들 때에 호출 한다. 개발자가 자신의 구현하는 Activity 의 필수 구성 요소를 초기화 하는곳으로 주로 쓰인다.
가장 중요 한 것은, 이것은 활동의 사용자 인터페이스에 대 한 레이아웃을 정의 하는 Setcontentview()를 호출 해야 한다는 것이다.
protected void onCreate(Bundle
savedInstanceState) {
if (mLastNonConfigurationInstances != null) { mAllLoaderManagers = mLastNonConfigurationInstances.loaders; } if (savedInstanceState != null) { Parcelable p = savedInstanceState.getParcelable(FRAGMENTS_TAG); mFragments.restoreAllState(p, mLastNonConfigurationInstances != null ? mLastNonConfigurationInstances.fragments : null); } mFragments.dispatchCreate(); getApplication().dispatchActivityCreated(this, savedInstanceState); mCalled = true; } |
그냥 onCreate()를 오버라이드해서 쓰게되면 onCreate()를 텅텅빈 상태로 만들게 되는데
super.onCreate()로 액티비티를 만드는 기본적인 코드를 실행한다.
그리고 이제 새로만들 액티비티가 만들어질때 해야될 일을 기록한다.
'Android' 카테고리의 다른 글
java.lang.IllegalAccessException: access to class not allowed (5) | 2012.07.25 |
---|---|
Android with OpenCV using NDK - (2) (0) | 2012.07.21 |
안드로이드 Activity Intent Flag (0) | 2012.07.18 |
Android With OpenCV using NDK - (1) (0) | 2012.07.15 |
Re-installation failed due to different application signatures (0) | 2012.07.13 |