Android Multiple Activity
http://www.mobiledevguide.com/2011/12/how-to-work-with-multiple-activity-in.html
관련글 링크 입니다.
Android 제작 하다 보면, 여러 메뉴를 서로 어떻게 연동하나 궁금했었는데요.
방식은 크게 윈도우의 쓰레드 기반과 크게 다를바가 없다란 느낌이 듭니다.
일단 UI상의 콘트롤들은 Thread로 처리 해야되니, 엮여 있는 코드 역시 Thread 관련되서 처리 되어야 하는 것 같네요.
보통 thread 코드 처럼 start 후 결과 값을 전역 변수 or Local변수에 담아 서 다시 참조 하는 방식을 쓰는데요.
여러 화면이 서로 바뀌면서 처리 될때는 화면 전환 후 결과값을 받아야 하는데,
결국 이벤트(publish,subscribe) 활용 방식으로 구현되어줘야 될 듯 한데요.
Android도 예외는 없는 것 같습니다.
Activity가 하나의 thread 개념 으로 보면될꺼고요.
Main에서는 여러 개의 Activity를 내부적으로 핸들링 하는듯 하네요.
이부분에서 보시면 , onClick 시 ColorSelectorActivity.class를 갖고 오는데요.
아마 해당 class를 동적으로 invoke 시키는 인스턴스 정보를 갖고 있는게 아닌가 싶습니다.
이 후
요 Activity를 onCreate 시킴으로써 invoke 처리가 되는 것 같고.
요러한 방식의 코딩은 C#에서 anonymous 함수 라든지, delegate을 쓸 때 코드가 지저분해지는 이유였습니다.
연유는 어떠하든,
결국 subActivity가 종료 될 경우 아래와 같은 코드가 실행됩니다.
puExtra값이 String인걸 보내 내부적으로 HashMap 같은 데이터 구조를 사용하는 것 같네요.
이후 실행된 함수의 결과값을 토대로 다음 로직을 실행하는데요.
흡사 C#의 async 가 생각이 나네요.
이 후 다시 처음 MainActivity 코드를 보면 아래와 같은 함수가 있습니다.
RESULT_OK일 경우에 해당되는 값을 String 형태로 갖고 와라 같은데요.
이런 방식의 코딩을 할 경우 외부 XML형태 or 제너레이터 를 사용해서 처리 하지 않으면,
코딩 하다가 주화입마에 빠지는 경우가 생깁니다.
http://ko.medicine.wikia.com/wiki/%EC%A3%BC%ED%99%94%EC%9E%85%EB%A7%88
코딩이 무협같네요.
감사 합니다.
'관련자료' 카테고리의 다른 글
Aspx 공수산정 (0) | 2015.04.01 |
---|---|
부동산 실거래가 관련 자료. (0) | 2015.01.31 |
Android Reverse Unity on Android (0) | 2015.01.26 |
Android App Hacking – Hero Defense (0) | 2015.01.26 |
Android APK Downloader (0) | 2015.01.26 |