[TEKHIT] 오늘의 멘토링
·
TEKHIT ANDROID SCHOOL
멋쟁이 사자처럼에서 진행하는 안드로이드 앱 스쿨에서 멘토링을 받고 배운 지식들을 정리하는 글입니다. 👩‍💻 오늘의 할 말 어제에 이어 오늘도 멘토링을 받았습니다. 개인 멘토링은 아니었구 스터디분들과 팀 멘토링을 신청했는데 궁금한게 생겨서 팀 멘토링 후에 따로 개인 질문 시간을 요청했습니다. 어쩌다 보니까 이번주엔 멘토 세분 모두에게 멘토링을 받았네요 아주 고냥 좋아 죽어요 👼 📖 확장 함수를 사용해 권한 요청하기 제가 계속해서 찾고 찾던 확장 함수를 사용해 권한 요청하는 법을 드디어 알았습니다! 진짜 쉽고 간단한데 너무 신기하더라구요. 먼저 코드 부터 보시죠! 원리는 액티비티는 모두 Context를 가지고 있기 때문에 이를 이용해 확장 함수로 만들어주면 액티비티 내에서도 자유롭게 호출이 가능했습니다. 실..
[TEKHIT] 오늘의 멘토링
·
TEKHIT ANDROID SCHOOL
멋쟁이 사자처럼에서 진행하는 안드로이드 앱 스쿨에서 멘토링을 받고 배운 지식들을 정리하는 글입니다. 📕 질문 갤러리 관련 권한을 요청할 때 아래 코드와 같이 요청합니다. PermissionManagement를 따로 만든 이유는 여러 화면에서 갤러리를 접근할 때마다 권한이 있는지 확인하기 때문에 액티비티나 프래그먼트 마다 권한을 검사하는 코드가 완전히 중복되어 최대한 중복되는 부분을 줄이고자 만들었습니다. 제가 할 수 있는 최대한으로 만들어봤는데 여기서 다른 더 좋은 방법이 있는지 알고 싶습니다. class PermissionManagement(private val context: Context) { companion object{ val REQUEST_IMAGE_PERMISSIONS = if (Build..
[TEKHIT] 오늘의 멘토링
·
TEKHIT ANDROID SCHOOL
멋쟁이 사자처럼에서 진행하는 안드로이드 앱 스쿨에서 멘토링을 받고 배운 지식들을 정리하는 글입니다. 👩‍💻 오늘의 할 말 요즘 프로젝트를 하느라 바빠서 오랜만에 글을 쓰네요. 빨리 프로젝트를 마무리하고 싶습니다. 다음 계획으론 MVVM과 GoF의 디자인 패턴을 공부할 건데 재미있어 보여서 얼렁 빨리 하고 싶어요😭 공부할 책이랑 강의도 미리 정해놔서 빨리 하고싶습니다...!🔥 📕 질문 내가 등록한 매장 정보를 보여주는 프래그먼트에서 정보를 수정 후, 사진첩을 열고 돌아오면 기존의 수정 데이터가 저장되지 않고 수정 이전의 데이터를 보여주며 사진첩에서 이미지를 선택하고 변경해도 이미지가 변경되지 않습니다. 📌Layout.xml Layout은 매장 정보는 Local Database인 Room에서 가져온 정보를 ..
[TEKHIT] 오늘의 멘토링
·
TEKHIT ANDROID SCHOOL
멋쟁이 사자처럼에서 진행하는 안드로이드 앱 스쿨에서 멘토링을 받고 배운 지식들을 정리하는 글 입니다. 👩‍💻 오늘의 할 말개인 프로젝트를 진행하던 중에 startActvity( )를 통한 액티비티 전환 시 전환하려는 액티비티가 두 개 생성되는 문제가 발생하여 멘토링을 요청하게 되었습니다. 매장 정보를 입력하는 RegistStoreInfoFragment 의 서버에 데이터를 저장하는 과정을 주석처리하고 실행을 해본결과 문제없이 동작했습니다. 그래서 이 부분이 문제의 원인임을 확인하였습니다.                                                            서버에 데이터를 전송하는 과정은 다음과 같습니다.  문제의 원인을 생각했을 때 데이터를 저장 하는 작업이 끝나기..
[TECKHIT] Material3 Text fields
·
TEKHIT ANDROID SCHOOL
출처 : Tekhit Android App School / Soft campus 윤재성 강사님 공식 문서 Text fields – Material Design 3 Text fields allow users to enter text into a UI. They typically appear in forms and dialogs. m3.material.io 📌 Text fields 기존 안드로이드 컴포넌트 중 EditText와 유사한 동작을 하지만 에러 메시지를 출력하거나 Box형식으로 입력을 받을 수 있는 등 기존의 EditText보다 발전된 컴포넌트 입니다. 📕 주요 속성 - hint : 입력 안내 문구를 표시합니다. - startIconDrawable : 좌측에 표시되는 아이콘을 설정합니다. - end..
[TECKHIT] Material3 Button
·
TEKHIT ANDROID SCHOOL
출처 : Tekhit Android App School / Soft campus 윤재성 강사님 Material Design 공식 사이트 🎉 Material3 구글에서 만들어 배포하고 있는 UI 라이브러리 입니다. - 최신 Stable 버전 : 1.9.0 - 최신 버전 : 1.11.0-alpha01 사용 방법 : App 수준의 build.gradle에 다음 dependency를 추가해 줍니다. implementation("com.google.android.material:material:1.11.0") 🎉 Button의 다양한 Material Design 기본 MaterialButton 일반 Button(Material 3 라이브러리를 적용해주면 그냥 Button을 사용해도 MaterialButton 처럼..
[TEKHIT] KOTLIN 범위 지정 함수와 배열
·
TEKHIT ANDROID SCHOOL
출처 : Tekhit Android App School / Soft campus 윤재성 강사님 🎉let 첫번째 매개 변수로 객체의 주소값이 들어옵니다. it 통해 객체의 프로퍼티나 메소들에 접근할 수 있습니다. let 호출인 객체가 Null이 아닌 경우에만 호출되기 때문에 컴파일러는 람다 안에서 it 파라미터가 널이 될 수 없는 값임을 보장합니다. Null이 될 수 있는 값을 안전성 검사를 걸쳐 Null이 될 수 없는 함수에 값으로 만들 수 있습니다. 코드 블럭 마지막에 작성된 값을 반환니다. t2 에 객체를 담기 위해선 마지막에 it 작성해 객체의 주소값이 반환될 수 있도록 해줘야 합니다. class TestClass1(var a1:Int, var a2:Int){ var a3:Int = 0 var a4..
[TEKHIT] KOTLIN FUNCTION
·
TEKHIT ANDROID SCHOOL
출처 : Tekhit Android App School / Soft campus 윤재성 강사님 🎉Lambda Function 전달 받은 값을 처리 후 결과를 반환 합니다. 가장 마지막에 작성한 수식의 결과를 반환 합니다. (Int, Int) : 매개 변수의 타입을 정의합니다. val lambda1 : (Int, Int) -> Int = {a1:Int, a2:Int -> a1 + a2} 코틀린은 람다식만 작성이 가능합니다. val lambda2 = {a1:Int, a2:Int -> a1 + a2} 타입 생략이 가능합니다. val lambda3 : (Int, Int) -> Int = {a1, a2 -> a1 + a2} 코드가 엄청나게 줄어든당께요 ???? fun testFun3(a1:Int, a2:Int) ..