Studying 38

안드로이드에서 API 키 숨기기 왜 안 되는거야?! 😣 (부제: API 키 숨기기)

카카오 로그인이나 API 키를 사용하게 될 경우Github와 같이 다른 사람들이 볼 수 있는 곳에 노출을 시키면 안되겠죠?그래서 저희는 local.properties에 값을 적어준 것을 활용해서 API 키를 숨기고는 합니다! 그냥 코틀린 코드에서 숨기는 방법은 제가 알고있었으나,이번에 카카오 로그인 API를 쓰면서AndroidManifest에서도 사용을 해야하는데 방법이 되지를 않더라고요...검색을 해봐서 하려고 하는데 검색된 방법들을 아무리 몇개를 다해봐도 안되는거에요??그래서 간신히 찾은 해결 방법을 공유하려고 합니다! 1️⃣ local.properties에 API 키 넣어놓기 🚨 여기서 잠깐 !다른 분들이 하는 방법대로 하니까 문제가 발생했습니다...Properties properties = ne..

Studying/Android 2024.04.30

쇼핑몰 팀프로젝트 회고 1탄 ! (부제: 코드리뷰의 중요성😂)

현재 저는 테킷 안드로이드 앱 스쿨에 참여하고 있는데요멋쟁이 사자처럼이라는 곳에서 진행하고 있습니다 🦁열심히 배운 지식들을 쏟아부었던 ...쇼핑몰 팀 프로젝트를 가지고 회고를 해보려고 이렇게 글을 쓰게되었습니당(부제의 비하인드 스토리는 추후 공개...) 👩‍🎓 첫 시작_ 주제 잡기 + 기획쇼핑몰이라는 큰 주제는 정해주셨지만 어떤 쇼핑몰을 기획하고 개발할지는 저희의 몫이였습니다,,,그래서 첫 시작은 기획 회의를 진행했죠...! 제가 낸 아이디어는 대학생들의 작품 판매 쇼핑몰이였는데요 !제 주변 미대생들의 얘기도 듣기도 했었고,,, 졸전이나 과제로 작품들을 만들면교내 보관이나 개인 보관 폐기처리까지 잘 활용하지 못한다고 하더라고요...그래서 낸 아이디어였는데 당첨~앱 이름도 제가 낸 아이디어로 당첨 !..

Studying/회고 2024.04.28

gitignore 설정을 잘못했는데 어쩌지😥 (부제: git 캐시 삭제)

안녕하세요 오늘은 gitingore 설정을 잘못했을 경우에 대해서 얘기해보겠습니다! 개인프로젝트에서 잘못한게 아니라...무려 팀프로젝트에서 gitingore 설정을 잘못하고 사용했더라고요...! # Android Studio Navigation editor temp files.navigation/# Android Studio captures foldercaptures/# IntelliJ*.iml.idea/*.idea/workspace.xml.idea/tasks.xml.idea/gradle.xml.idea/assetWizardSettings.xml.idea/dictionaries.idea/libraries# Android Studio 3 in .gitignore file..idea/caches.idea/m..

Studying/Android 2024.04.28

[원티드 프리온보딩 안드로이드 챌린지 3월] Compose

좋은 기회로 원티드에서 진행하는 '프리온보딩 안드로이드 챌린지 3월'을 듣게 되었습니다. 평소에 Compose에 대해 흥미가 많았는데 이번 기회를 통해 Compose의 사용 방법 뿐 아니라, Compose가 어떤 UI인지, 상태를 관리하는 방법, 생명주기까지 배울 수 있었습니다. Compose의 사용 방법에서 그치지 않고 원리까지 깊게 배울 수 있었던 것 같아 좋은 기회였던 것 같습니다. Declarative UI 선언형 UI 변경에 대한 것들은 관심을 끄고, UI를 어떻게 만드는지에 대한 설정은 제거하고 오로지 어떤 UI를 만들어야하는지에만 집중하는 UI 개발 방법론 명령형 UI: name 상태가 바뀌면 개발자가 setText로 뷰에 text를 직접 바꿔줌 선언형 UI: 텍스트에 name 상태가 바인딩..

Studying/Android 2024.03.05

[kotlin in action] 2.5 예외처리! (try, catch, finally)

예외(Exception)란? 프로그램 실행 중 예측이 가능한 오류들을 이야기한다. 예외가 발생하게 되면 코드의 수행이 중단된다. 예외 처리는 예외가 발생 했을 때 프로그램이 수행되는 것을 막고 예외 발생 시 동작해야 하는 코드를 수행 시켜 프로그램이 문제 없이 동작하게 하기 위한 목적을 가지고 있다. try, catch, finally? Kotlin에선 이러한 예외 처리를 위해 try, catch, finally와 같은 3가지의 키워드를 가지고 있다. try: 개발자가 구현하는 코드 부분( 주로 예외가 발생할 확률이 있는 코드를 작성한다) catch: try 부분에서 예외가 발생했을 경우 예외를 처리하는 부분 finally: 예외가 발생하거나 또는 정상적으로 작성했을 때 모두 처리해야 하는 부분 fun ..

Studying/Kotlin 2024.03.01

[kotlin in action] 2.4 대상을 이터레이션: while for 루프

코틀린 while 루프는 자바와 동일하다. 코틀린의 for는 자바의 for-each 루프에 해당하는 형태만 존재한다. for in 형태를 취한다. for 루프는 자바에서와 마찬가지로 컬렉션에 대한 이터레이션에 가장 많이 쓰인다. 2.4.1 while 루프 코틀린에는 while과 do-while 루프가 있다. (자바와 크게 다르지 않다) while문은 조건을 만족해야 루프를 돈다. do-while문은 한번 실행 후 조건을 확인 fun main(){ var a = 0 while(a < 0){ println("while문 입니다.") a++ } var b = 0 do { println("do - while문 입니다.") b++ }while(b < 0) println("a: $a") println("b: $b"..

Studying/Kotlin 2024.03.01

[kotlin] 스마트 캐스트

is and !is operators if (obj is String) { print(obj.length) } if (obj !is String) { // Same as !(obj is String) print("Not a String") } else { print(obj.length) } is를 통해서 지정된 객체 유형에 맞는지 검사를 수행한다. Smart casts fun demo(x: Any) { if (x is String) { print(x.length) // x is automatically cast to String } } is의 대부분의 경우 컴파일러가 명시적 캐스트를 추적해서 필요할때 자동으로 안전한 캐스트를 삽입하기 때문에, 명시적 캐스트 연산자를 사용할 필요가 없다. if (x !is..

Studying/Kotlin 2024.02.29

[kotlin in action] 선택 표현과 처리: enum과 when (스마트캐스트)

2.3 선택 표현과 처리: enum과 when when은 자바의 switch을 대치하되 훨씬 더 강력하고, 자주 사용할 프로그래밍 요소 자바의 switch [ 기존의 switch ] switch (day) { case MONDAY: case FRIDAY: case SUNDAY: System.out.println(6); break; case TUESDAY: System.out.println(7); break; case THURSDAY: case SATURDAY: System.out.println(8); break; case WEDNESDAY: System.out.println(9); break; } 기존 자바 코드에서는 fall through를 사용해서 case MONDAY, FRIDAY, SUNDAY인 ..

Studying/Kotlin 2024.02.29

[INTERVIEW 2주차] Annotation

Annotation 주석이라는 의미를 가지고 있다. @suppressWarnings @Deprecated, 등 이러한 것들을 Annotation이라고 한다. Annotation의 뜻은 주석이라는 뜻을 가지고 고 있다. 특정 클래스, 변수, 메소드 등에 붙이는 코드로 해당 타켓의 기능을 좀 더 명확하게 해주는 역할을 한다. Java 에서 Annotation 이 동작하는 방식은 크게 2가지다. java.lang.reflection 을 이용해서 Class 정보를 읽어 Instance 의 타겟에 Annotation 에 해당되는 기능을 정의하는 방식 Annotation Processing Tool(APT) 을 이용하여 Compile 단계에서 Annotation 이 정의된 타겟의 정보를 미리 정의하는 방식 위의 2..

Studying/Android 2023.06.30

[INTERVIEW 2주차] Dialog and Toast, SnackBar

Dialog 다이얼로그는 사용자에게 추가 정보를 입력 또는 결정을 내릴 때 표시하는 작은 화면을 뜻한다. 화면을 가득 채우지 않으며 보통은 사용자가 다음으로 계속 진행하기 전에 조치를 취해야하는 모달 이벤트에 사용된다. https://developer.android.com/guide/topics/ui/dialogs?hl=ko 대화상자 | Android 개발자 | Android Developers 대화상자 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 대화상자는 사용자에게 결정을 내리거나 추가 정보를 입력하라는 메시지를 표시하는 작은 창입니 developer.android.com Toast 토스트 메세지는 작은 팝업으로 작업에 관한 간단한 피드백을 제공한다. 메세지에 필요한..

Studying/Android 2023.06.30