추상 클래스를 이용한 액티비티 구현 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 |