본문 바로가기

개발자/Android

옵션메뉴 같은 각 액티비티에 공통인 코드 처리 방법

반응형



옵션메뉴 : 폰에 왼쪽 맨 밑에 책갈피 쌓아논 듯한 버튼 있죠 ? 앱 실행중에 가끔 누르기도 하는 버튼... 근데 이게 보통 앱 개발시에 액티비티마다 모두 떠야 되니 공통으로 들어가는 코드인데...


구현 화면 잠깐 보여드리면~ 아래 옵션메뉴가 모든 액티비티에 들어가게 되는데 이걸 간단하게 하는 방법입니다.






처음에는 모든 액티비티에  오버라이드 해서 


// @Override

// public boolean onCreateOptionsMenu(Menu menu) {

// // TODO Auto-generated method stub

// MenuInflater inflater = getMenuInflater();

// inflater.inflate(R.menu.mugen_main, menu);

//

// return true;

// }


onCreateOptionsMenu(Menu menu) 요 코드를 전부 집어넣었죠. 이게 좀 아닌듯 해서 정보를 찾아보았더니


액티비티를 상속 받는 BaseActivity를 하나 만들어 거기서 key이벤트, 메뉴 등등의 공통 처리를 해놓은 다음

실제 개발 하는 Activity에서는 BaseActivity를 상속 받아서 사용하시면 됩니다.


실제 코드로 보여드리면


아래는 공통 코드, 여기서는 옵션메뉴가 되겠죠. 액티비티를 상속한 CommonActivity 를 하나 만들고 그 안에 옵션메뉴 처리 코드만 달랑 위치시킵니다.


public class CommonActivity extends Activity {


@Override

public boolean onCreateOptionsMenu(Menu menu) {

// TODO Auto-generated method stub

MenuInflater inflater = getMenuInflater();

inflater.inflate(R.menu.mugen_main, menu);

return true;

}

}


그리고 액티비티 만드는 파일에는 무조건  CommonActivity  이 놈을 상속하여 만들어 주면  됩니다.


CommonActivity  얘가 Activity를 상속하여 만들어 진것이니 당연히 Activity를 상속한 여러개가 만들어 지죠.. 아랴처럼 여러군데에서 상속해서 쓰심 됩니다.


public class Base000 extends CommonActivity {

@Override

public void onCreate(Bundle savedInstanceState){

super.onCreate(savedInstanceState);


이하~~~


public class Base001 extends CommonActivity {


@Override

public void onCreate(Bundle savedInstanceState){

super.onCreate(savedInstanceState);


이하~~



궁금한거 물어보시고요. 개발자의 공유는 1만줄의 코드보다 중요합니다.



반응형

캐어랩 고객 지원

취업, 창업의 막막함, 외주 관리, 제품 부재!

당신의 고민은 무엇입니까? 현실과 동떨어진 교육, 실패만 반복하는 외주 계약, 아이디어는 있지만 구현할 기술이 없는 막막함.

우리는 알고 있습니다. 문제의 원인은 '명확한 학습, 실전 경험과 신뢰할 수 있는 기술력의 부재'에서 시작됩니다.

이제 고민을 멈추고, 캐어랩을 만나세요!

코딩(펌웨어), 전자부품과 디지털 회로설계, PCB 설계 제작, 고객(시장/수출) 발굴과 마케팅 전략으로 당신을 지원합니다.

제품 설계의 고수는 성공이 만든 게 아니라 실패가 만듭니다. 아이디어를 양산 가능한 제품으로!

귀사의 제품을 만드세요. 교육과 개발 실적으로 신뢰할 수 있는 파트너를 확보하세요.

지난 30년 여정, 캐어랩이 얻은 모든 것을 함께 나누고 싶습니다.

카카오 채널 추가하기

카톡 채팅방에서 무엇이든 물어보세요

당신의 성공을 위해 캐어랩과 함께 하세요.

캐어랩 온라인 채널 바로가기

캐어랩