Android

    [Android ]Progress Bar - Kotlin

    [Android ]Progress Bar - Kotlin

    build.gradle (Module)에서 viewBinding true 설정 프로그래스 바를 아래와 같이 배치를 해주고 MainActivity.kt UI 작업은 MainTread에서 해주어야 하기 때문에 아래와 같이 코드를 작성 합니다. class MainActivity : AppCompatActivity() { val binding by lazy { ActivityMainBinding.inflate(layoutInflater)} override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(binding.root) thread(start=true){ // 서브 스레드 Thread...

    [Kotlin] 코틀린에서의 변수 사용법

    [Kotlin] 코틀린에서의 변수 사용법

    변수에는 아래와 같이 두 가지 형태가 있다. val (value) - 변하지 않는 상수이며 val 키워드로 선언 var (variable) - 가변 변수이며 var 키워드로 선언 변수 선언과 동시에 값 넣기 var name = "seyoung" 값으로 초기화하지 않고 선언만 하고 사용하기 var name : String name = "seyoung" 선언만 할 경우에는 반드시 변수 명 옆에 콜론(:) 구분자를 붙여서 자료형을 지정 해주어야 합니다!! 코틀린에서 제공되는 기본 데이터 타입은 아래와 같습니다. 구분 데이터 타입 설명 숫자형 Double 64 비트 실수 Float 32비트 실수 Long 64비트 실수 Int 32비트 실수 Short 16비트 실수 Byte 8비트 정수 문자형 Char 1개의 문..

    코틀린으로 레이아웃 연결하기 (뷰 바인딩)

    코틀린으로 레이아웃 연결하기 (뷰 바인딩)

    코틀린의 레이아웃 요소에 접근하기 위해서는 findViewById 함수를 통해 접근하거나 익스텐션으로 접근할 수 있다. 하지만 코틀린 익스텐션은 최신 버전의 안드로이드 스튜디오에서는 사용을 권장하지 않는데 그 이유는 아래와 같다. 코틀린에서만 제공하므로 자바에서 사용하지 못한다. 일부 상황에서 뷰를 찾을 수 없는 오류가 발생할 수 있다. 어디서나 뷰를 호출할 수 있기 때문에 참조로 인해 앱이 강제로 종료될 수 있다. 모듈화를 추천하고 있는데 코틀린 익스텐션을 사용할 경우 다른 모듈에서 뷰에 대한 접근이 불가능하다. findViewById는 뷰의 요소에 접근 하기 위해서는 아래와 같이 각각의 요소에 대한 객체를 만들어 주어야 했다. public class MainActivity extends AppComp..

    안드로이드 컴파일 (JVM, DVM)

    안드로이드 컴파일 (JVM, DVM)

    안드로이드는 초창기에 사용된 Dalvik 컴파일 방식과 그 이후에 도입된 ART 컴파일 방식 2가지로 나누어 진다. 안드로이드는 개발 언어가 Java로 채택되면서 JVM이 필요 했었는데, 라이센스 문제와 메모리 효율성등의 문제로 안드로이드는 Dalvik VM(=DVM)을 사용하게 됩니다. 그럼 그 라이센스 문제가 뭔데? Java ME를 사용하기 위해서 Sun 회사에게 라이센스 비용을 지불해야하는 문제가 발생했다. (DVM에서 컴파일 과정 중 .class를 .dex로 변환하는 dx 툴은 Java SE를 사용했기 때문에 Java 언어 사용은 문제되지 않았다.) 그럼 라이센스는 알겠는데.. 메모리 효율성은 뭐죠? JVM은 스택 기반 모델로 많은 메모리를 요구하지만 DVM은 레지스터 기반 모델로 적은 메모리에 ..