2021/07/05 5

안드로이드 스튜디오(Android studio) 파일의 개념 (manifests, java, res, gradle scripts)

1. manifests 안드로이드 OS에 실제로 앱이 어떻게 동작하는지, 어떤 구조로 되어있는지에 대한 설명을 써놓은것입니다. 즉 얼굴입니다. 여기에는 나와있지 않지만, 권한 설정하는것도 여기서 설정할 수 있습니다. 2. java Java라는 폴더에 들어가면 소스코드를 확인 할 수 있습니다. 3. res res폴더에 들어가면 4가지 폴더를 볼 수 있습니다. drawable, layout, mipmap, values를 볼 수 있습니다. 각각 의미하는것을 하나씩 파헤쳐 봅시다. 1. drawable 이미지 리소스를 저장하고 있는 폴더 입니다. 2. layout 어떤구조로 그려질지 보여주는 도화지같은 역할을 합니다. 3. mipmap 이미지가 들어가 있는 폴더입니다. 4. values 안드로이드 스튜디오에서 ..

안드로이드 스튜디오(Android Studio)의 기본 개념 (Log cat, Project, Android)

Log cat이란? 로그라는것은 어떤 행위에 대한 기록을 말하는 것입니다. 그래서 만약에 연결되어있는것이 아무것도 없으면 log가 찍혀나오는것을 보실 수 없습니다. 보시면 에뮬레이터가 연결되었다는것, app_part1_chapter2라는 프로젝트에 연결, 그리고 밑에는 본인이 작업한 시간과 행위가 찍혀있는것을 보실 수 있습니다. 실제 프로젝트 파일의 존재를 실제 구조로 나타낸 것입니다. 안드로이드는 폴더의 복잡한 경로를 간단하게 표현이 되어있어서 편리하게 사용할 수 있습니다. 즉, 실행하는데 필요한 파일들만 간단하게 나와있는 것입니다.

Lambda expression

button.setOnclickListener(new View.onClickListener(){ @Override public void onClick(View view){ ``` } }) 자바에서는 다음과 같이 이벤트리스너를 표현합니다. 코틀린에서는 간단하게 표현할 수 있습니다. 하나만 이벤트처리를 해야하는 경우에는 간단하게 할 수 있습니다. 그리고 코틀린은 파라미터가 하나이면 생략이 가능하기 때문에 더욱 간단한 코드가 만들어질 수 있습니다. button.setOnclickListener{v -> }

Android/Kotlin 2021.07.05

Data Class

코틀린은 자바와 다르게 Data Class를 제공하고 있습니다. public class JavaObject { private String s; JavaObject(String s){ this.s = s; } public String getS(){ return s; } public void setS(String s){ this.s = s; } } 다음은 자바코드 예시입니다. 자바코드를 보면 알 수 있듯이, getter와 setter로 값을 접근하여 지정해야하기 때문에 번거롭고 긴 코드가 되는것을 볼 수 있습니다. 말그대로 data class는 데이터를 저장하는 목적으로 만들어진 class입니다. 일반 자바코드와 다르게 다음과 같이 간단하게 표현할 수 있습니다. data class JavaObject(val..

Android/Kotlin 2021.07.05

With 함수 & Run 함수

val person = Person() with(person) { work() sleep() println(age) } Person person = new Person(); person.work(); person.sleep(); System.out.println(person.age); with함수의 결과값은 람다의 결과값이기 때문에 person의 객체나 값을 호출할 수 있습니다. val result = service.run { port = 8080 query() } service.port = 8080 Result result = service.query() run함수는 with함수와 비슷하게 함수의 결과값을 표현한다는것에 있지만, with함수는 확장함수로 사용하는것이 불가능합니다. run함수는 확장함수로..

Android/Kotlin 2021.07.05