make a splash
728x90
[Android] Round 모서리, 그림자 버튼만들기
Android Studio 2023. 9. 13. 18:11

그림자를 주고 싶은 뷰의 elevation 주기 drawable에 radius들어간 rectangle 추가하고 background에 둥근 모서리 적용 [참고] https://developer.android.com/develop/ui/views/theming/shadows-clipping Create Shadows and Clip Views | Android Developers Material design introduces elevation for UI elements. Elevation helps users understand the relative importance of each element and focus their attention to the task at hand. The elevatio..

[젯팩 컴포즈로 개발하는 안드로이드 UI] 4장 UI 요소 배치
Android Studio 2023. 7. 5. 16:30

미리 정의된 레이아웃 사용 요소가 어디에 나타나야하는지, 어느 크기가 돼야하는지 정의해야 한다. 배열하기 위한 기본적인 레이아웃 구성 수평 - Row() 수직 - Column() 스택 - Box(), BoxWithConstraints() 기본 구성 요소 전환 @Composable fun CheckboxWithLabel(label: String, state: MutableState) { Row( modifier = Modifier.clickable { state.value = !state.value }, verticalAlignment = Alignment.CenterVertically, ) { Checkbox(checked = state.value, onCheckedChange = { state.valu..

[젯팩 컴포즈로 개발하는 안드로이드 UI] 3장 컴포즈 핵심 원칙 자세히 알아보기
Android Studio 2023. 7. 4. 13:36

컴포저블 함수 자세히 알아보기 컴포저블 함수의 구성요소 [선택사항] 가시성 변경자 - private, protected, internal, public) fun 키워드 함수명 파스칼 표기법 사용 : 대문자로 시작, 나머지는 소문자. 여러단어일 경우 명사, 명사구 사용. 매개변수 목록 [선택사항] 반환타입 아무것도 작성하지않으면 Unit 반환 Unit : Unit이라는 하나의 값만 갖는 타입 코틀린은 void 키워드를 알지 못함 → 함수는 무언가를 반환해야 함. 반환타입을 생략해서 반환타입이 kotlin.Unit임을 암시적으로 제시 코드 블록 하나의 표현식만 실행돼야 하는 경우, 축약어로 사용 @Composable fun ShortText( text: String = "" ) = Text(text = te..

[젯팩 컴포즈로 개발하는 안드로이드 UI] 2장 선언적 패러다임 이해
Android Studio 2023. 7. 1. 11:02

2장 : 선언적 패러다임 이해 뷰 기반과 컴포저블 함수와 유사점과 차이점 컴포저블 함수가 컴포넌트 중심 프레임워크의 한계를 어떻게 극복하는지 1. 안드로이드 뷰 시스템 살펴보기 기존 접근 방식 컴포넌트 트리를 정의하고 런타임에서 변경하는 것. 레이아웃 xml 파일에서 어떤 UI를 화면에 나타낼 지 정의함. ConstraintLayout 내부에 TextView가 있는 경우 (레이아웃 파일은 계층구조(트리)를 정의한다) → 루트 노드 : ConstraintLayout, 자식 노드 : TextView 실제 앱은 여러 자식노드를 갖는 훨씬 더 중첩적인 구조가 된다. 레이아웃 + 비레이아웃 요소 ⇒ 컴포넌트 1.1. 레이아웃 파일 인플레이팅 뷰 기반 방식 Activity 내에서 onCreate() 매서드는 앱을 ..

[젯팩 컴포즈로 개발하는 안드로이드 UI] 1장 컴포즈 앱 첫 빌드
Android Studio 2023. 7. 1. 10:52

컴포즈 앱 첫 빌드 화면 크기, 픽셀 밀도, 폼 팩터가 다른 수많은 디바이스 생성 + 안드로이드 뷰 시스템을 이해하기 쉽게 하기 위해 앱 복잡성 증가 + 목록을 스크롤, 애니메이션 추가 시 많은 양의 상용구 코드가 필요하게 됨. 명력적 접근 방식의 UI 툴킷의 문제 리액트, 플러터, SwiftUI 가 선언적 접근 방식 도입. 잿팩 컴포즈 : 구글이 안드로이드용으로 만든 코틀린 전용 선언적 UI 프래임워크. 컴포저블 함수 컴포저블 함수 컴포저블 함수 Composable functions 는 컴포즈 앱의 핵심 구성 요소 @Composable 어노테이션으로 식별 반환타입을 가질 필요가 없으며, 대신 UI 요소를 내보냄. 일반적으로 다른 컴포저블 함수를 호출하는 것으로 끝남. @Composable fun Wel..

서버 Base Url 정보 숨기기
Android Studio 2023. 3. 18. 00:25

1. local.properties에 BASE_URL 정보 입력 local.properties는 gitignore 에 포함시켜야합니다 BASE_URL = "https:어쩌고저쩌고" 2. build.gradle (app단위) // plugins 밑에 Properties properties = new Properties() properties.load(project.rootProject.file('local.properties').newDataInputStream()) android { ... defaultConfig { buildConfigField( "String", "BASE_URL", properties.getProperty("BASE_URL") ) ... } } 3. 다시 빌드 다시 빌드하면 Bui..

[코틀린문법] 입력 함수 readLine, readln, 자바 Scanner
Android Studio 2023. 1. 3. 21:15

코틀린 함수 Kotlin functions readLine readLine : 줄 전체를 String 으로 읽음 val line = readLine()!! readln Kotlin 1.6 부터는 readln() 사용 가능 readLine()!! 과 같은 기능을 함 val line = readln() String 이 아닌 Int로 읽고 싶을 때 toInt()로 형 변환 val number = readLine()!!.toInt() val number = readln().toInt() 한 줄에 여러 단어가 공백이나 새 줄 문자와 같은 하나 이상의 구분 기호로 구분될 때 .split(구분자) 사용 val (a, b) = readLine()!!.split(' ') // for input "Hello world!"..

[코틀린 문법] 변수 타입, val과 var, const
Android Studio 2023. 1. 1. 22:29

[출처] JetBrains Academy - Kotlin Basics https://hyperskill.org/tracks/18a Kotlin Basics – JetBrains Academy — Learn programming by building your own apps Want to get a taste of programming with a cutting-edge developer language? Try Kotlin, a modern cross-platform language combining functional and object-oriented programming features. hyperskill.org 타입 정수형 타입 Integer numbers 그냥 숫자 쓰면 됨. 중간에 언더스코어..

article thumbnail
[Android] MVP 아키텍처
Android Studio 2022. 4. 11. 20:55

MVC 패턴과 MVP 패턴 MVC : Model + View + Controller를 합친 용어 MVC 패턴의 장점은 널리 사용되고 있는 패턴이라는 점에 걸맞게 가장 단순합니다. MVC 패턴의 단점은 대부분의 코드는 View에서 Model을 직접 호출하여 사용하기 때문에 View와 Model 사이의 의존성이 높다는 것입니다. 이말은 즉 UI에서 모든 것을 하고 있다는 뜻입니다. View와 Model의 높은 의존성은 어플리케이션이 커질 수록 복잡하지고 유지보수가 어렵습니다. Unit test 에서 UI위주의 테스트 코드만 작성이 가능하기 때문에 한계점이 존재합니다. MVP 패턴: Model + View + Presenter를 합친 용어 Model과 View는 MVC 패턴과 동일하고, Controller 대..

article thumbnail
리소스 관리
Android Studio 2020. 6. 10. 21:24

K-MOOC 모바일 프로그래밍 10주차 리소스와 멀티미디어, 10-1 리소스 관리 에 대한 내용입니다. 리소스(resource)는 어플리케이션 제작 시 필요한 다양한 종류의 데이터를 가진다. 종류에 따라 특정한 리소스 폴더에 모여 있다. 리소스 파일마다 필요한 데이터를 가진다. drawable > 이미지 파일 layout > 액티비티들이 필요로 하는 레이아웃 파일 values > 각종 데이터 값 기본 리소스 : 장치와 상관없이 기본적으로 사용되는 리소스 ( 스마트폰, 테블릿 상관없이) 대체 리소스 : 특정한 장치의 구성을 위한 리소스 ( 스마트폰과 테블릿 구분, 사용하는 국가 구분(언어 및 그림)) 대체 리소스가 있는 경우 스마트폰과 테플릿이 다른 레이아웃을 사용하는게 가능하다. 리소스 폴더의 이름을 바..

728x90