마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 프로젝트 Activity 다른 안드로이드 프로젝트에서 재사용 하는 법?

0 추천
프로젝트 속성에서 Android탭으로 간 뒤, Is Library 체크하고 사용할 안드로이드 프로젝트에서 add해서 쓰면 된다는건 압니다.

근데 자꾸 Class not found가 뜨네요. 어떻게 해결해야할지 참 =_=...

일단 하고자 하는 건 이런겁니다.

 

똑같은 모양의 UI를 가진 어플을 5개 내놓고 싶습니다.

사실 이 5개의 어플이 하는일도 같습니다. 다만 다루는 데이터가 상이해서 찢어놔야 할 것 같네요.

모델을 따로 두고, 뷰를 재사용하겠다는 생각이죠.

 

그래서 일단 @Abstract란 이름의 프로젝트로 UI관련된 것들은 전부 짜놨습니다.

데이터는 인터페이스로 어떻게 할지만 정해놨구요. 무식하게 public static으로 해놔서 접근은 편해서 좋네요 (....)

 

그리고 이걸 @A, @B, @C, @D, @E 프로젝트에서 쓰고 싶은데요...

@Abstract에 있는 MainActivity(어플 진입점)를 5개의 별개의 프로젝트에 있는 LoadActivity(라고 명명한 어플진입점)에서 상속 받아서 실행을 시켜봤는데.... 네 Class not found랍니다. 왜그러는지 도통 모르겠네요.

@Abstract에서 R.java를 절대경로로 import해놨기 때문에 이거 문제 같진 않구요..

 

사실 프로젝트가 아니여도 상관없고, 컴파일 두번해도 좋으니까, 파일 한번 수정하면 5개에서 동시에 수정되게 하고 싶은데 다른 방법이 있을까요?
레몬사과 (160 포인트) 님이 2013년 5월 5일 질문

1개의 답변

0 추천
다른어플의 클래스에 접근하는건 불가능하다고 알고있습니다.

맨처음말하신부분은 클래스를 라이브러리화해서 타겟프로젝트에 추가시키는것으로 예상되며

질문자분이 생각하시는 다른어플의 클래스를 참조하는것이랑은 개념이 다르다고 생각합니다.

 

하지만 꼼수를 부리면 가능하게 만들수도있죠.

Main이되는 어플과 나머지 어플에서 커스텀액션을 만들고 어플시작이 이 커스텀액션을

발생시키고 BroadcastReceiver에서 캐치해서 작업하게끔하면 가능할수도있습니다.

 

그러나 문제는 또 하나 있습니다.

똑같은 형태의 어플을 여러개 올린다고 하셧는데.

똑같은형태의 어플을 여러개올리면 구글에서 하나로 합치라고 연락이오면서

마켓에서 내려질것입니다;;
얼룩돼지 (15,720 포인트) 님이 2013년 5월 6일 답변
UI구성 xml을 서버에 올리고
어플시작시 파싱해서 적용시키는쪽으로 해보세요.
...