추상 클래스를 이용한 액티비티 구현 2-1.

2-2에서 퍼미션 권한 이용.



안드로이드 스튜디오 프로잭트 생성.


생성된 기본 액티비티.

MainActivity.java

//////////////////////////////////////////////////////////////////////////////////////////

public class MainActivity extends AppCompatActivity {


    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

    }

}

//////////////////////////////////////////////////////////////////////////////////////////



추상 클래스 BaseActivity 생성.

BaseActivity.java

//////////////////////////////////////////////////////////////////////////////////////////

abstract class BaseActivity extends AppCompatActivity {


    /**상속받은 곳에서 xml 레이아웃을 받아옴.*/

    abstract int setLayout();


    @Override

    protected void onCreate(@Nullable Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(setLayout());

    }


}

//////////////////////////////////////////////////////////////////////////////////////////


생성된 BaseActivity를 MainActivity에서 상속받음.

MainActivity.java

//////////////////////////////////////////////////////////////////////////////////////////

public class MainActivity extends BaseActivity {



    @Override

    int setLayout() {

        // BaseActivit에서 만들어 놓은 추상 메서그 구현.

        // setContentView(R.layout.activity_main);

        // 추상메서드로 구현.

        return R.layout.activity_main;

    }


    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        

    }

}


//////////////////////////////////////////////////////////////////////////////////////////



이렇게 작업 한 이유는 액티비티를 상속 받은 처리 중 퍼미션 사용시 필요한 클래스 들을 정의 하여 사용하기 위함.

구현이 필요 없을 시엔 기존에 사용하던 대로 사용 가능.



'Android > source code' 카테고리의 다른 글

안드로이드 추상 클래스 이용한 퍼미션 권한 설정. 2-2  (0) 2018.10.15
Android RecyclerView 예제  (0) 2018.10.15
동적 레이아웃 등록(xml)  (0) 2018.10.11
액티비티  (0) 2018.09.18
MVP 패턴 코틀린으로 작업  (0) 2018.08.14

+ Recent posts