목록분류 전체보기 (185)
hmk run dev
개념에 대해선 따로 다루지 않고 구현에 대해서만 다루겠습니다. 의존성 추가 kapt 추가 apply plugin: 'kotlin-kapt' room 추가 //ROOM def roomVersion = "2.4.1" implementation("androidx.room:room-runtime:$roomVersion") kapt("androidx.room:room-compiler:$roomVersion") entity 추가( 간결함 무엇...? ) @Entity(tableName = "memo") class Memo ( @PrimaryKey(autoGenerate = true) var id: Long?, var memo:String = "") dao 추가( ?? 개쩐다... update빼고 다 구현 ) @Da..
Constraint Layout view를 담는 그릇이 layout이라고 할 수 있다. 보통 안드로이드에서 레이아웃은 수직, 수평 레이아웃을 나눠서 사용할 수 있는데 UI를 구성하다 보면 두개를 모두 써야하는 경우가 많다 그럴 경우엔 레이아웃 안에 레이아웃을 또 넣어서 수평 수직을 표현해야 하는데 앱 퍼포먼스에 좋지 않은 영향을 끼칠 수가 있다. 그래서 나온게 Constraint layout이다 . 반드시 수직과 수평방향 모두에 제약을 두는 레이아웃이다! 장점 1. 자식 뷰 사이의 관계 정의 가능 2. 뷰 비율 조절 가능 3. 레이아웃 중첩 간소화, 유지보수 및 성능 UP 4. Relative, Linear 레이아웃이 구현 할 수 있는 것들을 모두 구현가능 출처 https://www.youtube.com..
페이지 전환 fragment navigation 이용 하나의 activity 그리고 그 안에 여러개의 fragment로 구성 navigation 추가 1. navigation 의존성 추가 gradle.build > dependencies def nav_version = "2.3.5" // Kotlin implementation "androidx.navigation:navigation-fragment-ktx:$nav_version" implementation "androidx.navigation:navigation-ui-ktx:$nav_version" 네비게이션 docs https://developer.android.com/guide/navigation/navigation-getting-started 탐색..
LAMDA ( 개인적으로 코틀린 문법중 제일 어렵다. ) package com.example.kotlin_prac class sample3 { } fun main () { println(square(12)) println(nameAge("형민", 28)) // 확장함수 사용법 val a = "hmk good!" val b = "android" println(a.pizzaIsGreat()) println(b.pizzaIsGreat()) extendsString("hmk", 28) println(calcGrade(91)) // 람다식을 파라미터로 넘겨보기 val lamda : (Double) -> Boolean = { number : Double -> number == 4.341 } println("람다 넘..
안드로이드 앱개발을 배울겸 JAVA 대신 구글에서 공식 개발언어로 채택한 Kotlin으로 개발해보기로 했다! 실제로 배워보니 JAVA와 비교적 매우 간결해진 문법과 편리성이 매우 두드러진다...! FUNCTION package com.example.kotlin_prac // ; 콜론 생략가능 시원~~ fun main () { //helloWorld() //println(add(4,5)) // String Template val name = "hmk" val aka = "good" //println("my name is ${name + aka}I'm a boy") // ${} 표시를 쓰면 변수를 사용가능 //println("this is 2\$a") // 앞에 "\" 백슬래쉬를 쓰면 $를 문자열로 인식 /..
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
DB에 접근하는 서비스 처리요청 1. 매번 요청마다 connection이 필요하다. 2. 매번 요청마다 connection을 생성한다. - 전체 50% 이상의 공수 3. connection을 통해 요청을 처리한다. 4. connection을 닫는다. 매번 요청마다 connection을 생성하면 어플리케이션이 느려지거나 서버가 죽을 수 있다! 커넥션 풀 생성 시 고려할 사항 1. 너무 작다면 대기하는 요청이 많아진다. 2. 너무 크면 메모리 낭비가 심해진다. 3. 접속자 수, 서버 부하 등을 고려해 적절한 크기로 조정필요 Dao를 통해 예를 들어보자 1. 한개의 커넥션을 사용할 경우 MemberDao => connection MemberDao는 할당된 커넥션 객체를 이용해 DB에 접근 그러나 여러개의 Da..