일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 강릉 맛집
- 공주 맛집
- 맛집
- 결혼준비
- 방콕여행
- 싱가포르 맛집
- 홍콩 맛집
- 싱가포르 여행
- 부산여행
- 스페인 여행
- 세종시 맛집
- 서울 여행
- 세종 맛집
- 태국여행
- 제주 맛집
- 홍콩여행
- 공주 여행
- 스톡홀름 여행
- 전주 맛집
- 부산 맛집
- 제주여행
- 바르셀로나 여행
- 스톡홀름 패스
- 스웨덴 여행
- 스몰웨딩
- 서울 맛집
- 제주 여행
- 전주 여행
- 오딩
- 영화
- Today
- Total
우리라이프
[Android] Android Studio src, res 공용으로 사용하기 본문
Android 환경에서 개발하면서 미리 짜놓은 소스파일과 리소스 파일을 공용으로 사용할 일이 많습니다.
Android Studio 에서 기존에 사용하던 소스 파일과 리소스 파일을 링크하여 사용하는 방법.
<!--[if !supportLists]-->1. <!--[endif]-->build.gradle 작성 (App 폴더 내)
Build.gradle
android {
sourceSets.main{
java.srcDirs += 'src/main/../../../../../../common/src/main/java'
//src 파일이 있는 디렉토리를 src/main을 붙여서 추가한다.
res.srcDirs = ['src/main/res', 'src/main/../../../../../../common/src/main/res']
//res 파일이 있는 디렉토리를 src/main을 붙여서 추가한다.
}}
java.srcDirs는 java의 소스디렉토리에 상대경로로 지정한 소스파일을 추가한다는 의미이다. 다시 말하면 프로젝트의 src/main/java에 상대경로로 지정한 common폴더에 있는 src 파일을 링크하는 방법이다.
res.srcDirs는 대괄호로 묶여있는 경로에 있는 res파일을 res폴더에 링크시키는 내용이다.
2. 다음과 같은 폴더에 링크한 src 파일과 res 파일이 보임
<!--[if !supportLineBreakNewLine]-->
3. <!--[endif]-->주의 사항
R.id 등 프로젝트에 의존적인 리소스 파일이 src 파일에 포함되어 있으면 에러가 발생한다.
따라서 R.id, R.layout 과 같은 리소스 링크는 문자열로 갖고 와야한다.
resource link code
//context.getResources().getIdentifier("파일명", "디렉토리명", "패키지명")
context.getResources().getIdentifier("popup_dialog", "layout", context.getPackageName());
context.getResources().getIdentifier("dialogTitle", "id", context.getPackageName());
ex)
setContentView(context.getResources().getIdentifier("popup_dialog", "layout", context.getPackageName()));
findViewById(context.getResources().getIdentifier("dialogTitle", "id", context.getPackageName()));
<!--[endif]-->
'IT > Android' 카테고리의 다른 글
Context가 무엇인가? Intent가 무엇인가? (0) | 2018.03.16 |
---|---|
멀티스레드 프로그래밍(Multi Thread Programming)에서 스레드 간의 커뮤니케이션(Communication) (0) | 2018.03.11 |