이 포스트는 안드로이드에 대해서 학습한 내용을 정리하는 내용이 되겠습니다.
1. 안드로이드 스튜디오에서 프로젝트 구조
안드로이드 스튜디오에서 새로운 프로젝트를 생성하고 "1.Project" 를 보면 다음과 같습니다.
프로젝트를 구성하는 폴더와 주요파일의 역할을 정리해보면 다음과 같습니다.
manifests/AndroidManifest.xml | 앱의 구성요소와 각종권한을 설정하는 파일. 앱에 액티비티를 추가할때에는 이 파일에 액티비티를 사용하겠다고 설정해야하며, 앱에서 인터넷을 사용하고자 한다면, 이 파일에 인터넷을 사용하겠다고 설정해주어야함. |
java | 앱의 동적인 처리를 하는 Java코드가 들어가는 폴더 프로젝트를 생성할때 입력한 패키지명과 동일하게 하위 폴더가 생성됨. |
res/drawable | 사진파일이 위치하는 폴더. |
res/layout | 액티비티, 프래그먼트와 연결되는 화면 구성용의 xml이 위치하는 폴더 |
res/values | 고정되는 값들을 정의한 xml이 위치하는 폴더 |
2. 기능을 구현할 때 어떤 흐름으로 진행하면 될까?
1) 신규기능 추가 및 기능수정 전에 일단 현재의 코드를 기준으로 빌드해보기
- 빌드를 해서 앱이 동작이 되는지 확인이 안된 상태에서 기능추가를 한 후 앱이 이상동작을 하게되면, 새롭게 추가한 코드가 문제의 원인인지, 기존의 코드에도 문제가 있었는지 확실히 잘라 말 할 수 없으므로 개발업무 착수전엔 빌드가 필요합니다.
2) 의존성 및 설정을 추가하고 다시 빌드해보기
(1) 라이브러리 추가
기능추가에 외부라이브러리가 필요하다면 build.gradle의 dependencies에 의존성을 추가해주어야합니다.
의존성을 추가한 후 반드시 "Sync now"를 클릭해야합니다.
Sync now를 클릭하면 자동으로 build.gradle파일이 수정된 대로 .jar라이브러리 파일이 다운로드 되어집니다.
신규개발의 경우 여기까지만 해주면 문제는 없다고 생각되지만,
기존코드가 존재하는 기능의 추가나 수정에대한 개발업무의 경우 새로 추가되는 라이브러리의 의존성에 버젼호환 등에 대해서 확인하여 기존의 기능에 영향을 주는지를 확인해주어야합니다.
(2) AndroidManifest.xml에 권한설정 추가하기
앱에서 스마트폰의 기능 (인터넷, 카메라 등등...)을 사용하기 위해서는 이 설정파일에서 권한을 설정해 주어야합니다.
3). 화면의 요소정의 하기 (레이아웃과 뷰 {텍스트, 이미지, 버튼 등등...})
res/layout/*.xml에서 필요한 요소를 정의한다.
4) Java파일에서 로직 구현하기 (이벤트, 데이터 매핑등등..)
하나의 화면에서 버튼을 클릭하면 TextView에 표시하는 문자열이 변경되는 기능을 구현하는 것을 예로 들어보면
(1) res/layout/*.xml에 정의한 요소(TextView)를 id값으로 찾아서 Java의 TextView 참조변수와 매핑합니다.
변수 = findViewById(R.id.{xml에 정의 한 요소의 id값});
(2) TextView변수에 이벤트 리스너를 설정합니다.
변수.set{이벤트종류}Listener(new View.{Listener종류}() {
-- 이벤트 시 행할 동작을 정의
});
'프로그래밍 > Android' 카테고리의 다른 글
【Android】01_레이아웃과 뷰 배치 (0) | 2021.09.26 |
---|
댓글