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

재사용 목적으로 작성한 클래스나 프래그먼트를 어떻게 사용하는걸까요?

0 추천
연습삼아 교재의 예제를 작성하여 이리저리 기능을 더하여 수정해보고 있습니다 그런데 이렇게 작성된 자신만의 코드가 당연히 다른 프로젝트에서도 재사용 가능할텐데, 그 방법을 몰라 헤메고 있습니다

안드로이드 스튜디오에서...

재사용 가능하도록 작성된 클래스를 별도의 새로운 프로젝트에서 java 파일 내부에 패키지 이름을 포함한 전체 경로를 자바에서 import 되지 않습니다, 이렇게 하는것이 아닐까요? 또 마찬가지로 기존 플래그먼트를 재사용 하기 위해 새 프로젝트에서 패키지 이름을 포함한 전체 이름으로 참조 되지 않습니다

위 방법으로 안되니까 좀 의야스러운데 결국 파일을 단순 복사하여 한 프로젝트 내부에 있게 해야 하는걸까요? 이렇게 해야한다면 재사용 가능한 클래스나 프래그먼트 또는 커스텀 위젯등이 이후 수정을 거쳐서 버전이 바뀐다면 이를 재사용한 프로젝트를 일일이 찾아서 다시 복사해줘야 한다는 번거로움이 생기는듯 한데

설마 그렇게 해야만 하도록 만들어 놓지는 않았을껏 같고...대체 어떻게 해야 하는 걸까요?
생각꿈들 (390 포인트) 님이 2017년 2월 24일 질문

2개의 답변

0 추천
교재의 예제로 나온 코드를 실제 프로젝트에서 수정없이 재사용하는 경우는 거의 없습니다. 정말 괜찮은 코드라면 필요한 부분의 코드만 가져와서 새로 클래스를 만드는 정도고요.

다른 곳의 클래스 파일을 현재 프로젝트에 추가한다음에는 패키지 경로는 현재 프로젝트에 맞게 바꿔줘야 합니다. kr.abc.com.utils.Util.java를 kr.sss.com.utils 경로에 넣었다면 Util.java 상단의 패키지 경로를 kr.sss.com.utils 로 바꿔야 하죠.

그리고 프로젝트 마다 추가되고, 조금씩 바뀌는 클래스가 있다면, 굳이 기존 프로젝트의 것을 바꿀 필요는 없습니다. 잘 돌아가는 코드를 바꿔서 에러가 날 수도 있어요.

정말로 쉽게 관리를 하려고 나온 게 gradle이나 maven 같은 것들 입니다.
쎄미 (162,410 포인트) 님이 2017년 2월 27일 답변
0 추천
범용적으로 사용될 라이브러리를 일반적으로는 안드로이드 스튜디오에서 Module 프로젝트로 분류하고

이 Module 프로젝트 와 메인프로젝트 분류는 프로젝트마다의 build.gradle 정보에 보시면

 

apply plugin : 'com.android.application'(메인프로젝트)

또는

apply plugin : 'com.android.library'(모듈 프로젝트)

 

로 구분이 됩니다.

 

만약 모듈 프로젝트를 다른 메인 프로젝트에서 사용하고 싶다면 dependency 설정만 해주시면 됩니다.
Development Guy (70,570 포인트) 님이 2017년 2월 27일 답변
...