반응형

Android 41

Android studio 버전 다른거 여러개 깔기

https://developer.android.com/studio/archive Android 스튜디오 다운로드 자료실  |  Android Studio  |  Android Developers이 페이지에는 Android 스튜디오 출시 관련 다운로드 자료실이 포함되어 있습니다.developer.android.com 깔고 싶은 버전은 여기서 찾으면 됨..꼭 영어로 보세요 한글을 안나옴 원하는 버전 찾아서 깔았으면 잘되는지 실행해보고 잘되면 다른 버전 깔러 고고 https://www.jetbrains.com/ko-kr/toolbox-app/?source=post_page-----7002e6437a85-------------------------------- JetBrains Toolbox App: 도구를 간..

Android 2024.07.26

[삽질] Dialog 커스텀해서 쓰기 ! (input있는 dialog)

졸업 프로젝트에서 어쩌다보니 전반적인 XML 구현을 하게 되었다. 얼마 안되는 화면이지만 까다로웠던 부분이 꽤 있었따. 그중에서 제일 기억에 남는 Dialog 이번 프로젝트에서 핵심은 링크를 저장할때, 링크에 제목과, 설명, 그리고 태그를 달 수 있따는 것이다. 태그를 달면 태그별로 링크들을 모아볼 수 있다. 자세한 설명은 프로젝트 뽀개기 포스팅에서 .. 아무튼 태그 창을 클릭하면 dialog가 나오고 태그를 선택할 수 있고, ADD버튼을 누르면 새로운 태그를 추가하는 방식이었다. material Design의 builder을 이용해서 간단하게 구현하였는데 PM님께서 태그를 추가하는 방식이 상당히 비효율적이라고, 창 한켠을 새로운 태그를 받는 곳으로 바꿔주실 수 있냐고 여쭤보셨다.. 처음에는 할게 산더미..

Android 2024.06.12

[삽질] Recycler View 값이 없을 때 안보이게 하기

?? 바텀 네비게이션 왜저래 고치고 왔다 ㅎㅎ 우리 프로젝트는 링크 저장을 편하게 해주는 어플이다.  링크를 저장할때 저장했던 맥락을 기록할 수 있고 관련해서 태그도 달 수 있다. 그리고 태그 별로 링크(훅)을 모아서 볼 수도 있따. 홈뷰 형식은 리사이클러 뷰 안에 리사이클러 뷰를 삽입하였다.. 매일 매일 직접 앱을 써보며 테스트를 하던 중   태그가 없을때 잘 나오던 훅이   이런식으로 빈값이 태그로 인식되어 리사이클러 뷰에 보이고 있었다. 기존 코드는 태그리스트에 아무런 값이 없을때 GONE을 사용해서 화면에 안보이게 하고 있었다. 그런데 API가 바뀌면서 뭐가 잘못되었는지 저렇게 ""값이 전달되어 태그에 나오고 있었따. 1. 태그리스트 값이 비어 있으면 null값 전달하기 APIServiceMaga..

Android 2024.06.08

Room

Room 을 사용하면 SQLite를 활용하면서 원활한 데이터베이스 액세스가 가능하도록 SQLite의 추상화 계층을 제공한다. 추상화 ? 복잡한 시스템을 단순화하고 중요한 정보만을 노출하여 불필요한 세부 사항을 감추는 방법데이터 추상화: 데이터 구조와 관련된 복잡성을 숨기고 데이터를 처리하는 방법을 정의합니다. 예를 들어, 객체 지향 프로그래밍에서 클래스는 데이터 추상화의 한 형태입니다. 클래스는 데이터(속성)와 데이터를 처리하는 메서드(함수)를 포함하며, 외부에서는 이 클래스의 내부 구현 세부 사항을 알 필요 없이 클래스의 인터페이스(메서드)를 통해 상호작용할 수 있습니다.제어 추상화: 특정 작업을 수행하는데 필요한 제어 흐름을 단순화합니다. 예를 들어, 함수를 사용하여 특정 작업을 수행하는 코드를 함수..

Android 2024.06.04

코루틴

스레드 (Thread) 스레드는 프로그램 범위 내에서 예약하고 실행할 수 있는 코드의 최소 단위.. 멀티스레딩을 지원함으로써 사용자에게 원활한 실행을 제공한다. 하지만 한정된 시간안에 UI를 준비하고 그려야하는데 이것이 복잡해지면 앱이 멈춰버린다. 또한 여러 스레드가 동시에 메모리의 동일한 값에 액세스하려고 할 때 경합 상태가 발생할 수 있다. 그래서 스레드를 직접 사용하는 것을 권장하지 않는다. 코틀린 코루틴(Kotlin Coroutine)  백그라운드 작업을 위한 스레드를 만들고 사용하는 것은 android에서 이루어지지만 코틀린은 동시 실행을 더 유연하고 쉽게 관리할 수 있는 코루틴도 제공한다.  코루틴 기능1. 상태를 저장하여 중단했다가 재개할 수 있음2. 코루틴은 실행되거나 실행되지 않을 수 있..

Android 2024.05.24

동기 / 비동기

동기(synchronous)동기 작업은 연산이 완료될 때까지 해당 작업을 호출한 스레드가 기다리는 방식이다. 즉, 작업이 완료될 때까지 다음 작업이 시작되지 않는다. 안드로이드에서는 주로 UI 스레드(Main Thread)에서 실행된다. 동기 작업의 예로는 파일 읽기/쓰기, 네트워크 요청 등을 들 수 있다.특징:블로킹(Blocking): 작업이 완료될 때까지 다른 작업을 차단한다.직관적: 코드가 순차적으로 실행되므로 이해하기 쉽다.잠재적 성능 문제: 긴 시간이 걸리는 작업(예: 네트워크 요청)을 UI 스레드에서 동기적으로 실행하면 애플리케이션이 응답하지 않을 수 있다. 비동기(asynchronous)비동기 작업은 작업을 요청한 후 그 결과를 기다리지 않고, 다른 작업을 계속해서 수행하는 방식이다. 작업이..

Android 2024.05.20

Json / 직렬화 / 역직렬화

serialization : 직렬화 객체를 json 포맷으로 바꾼다 => 직렬 json 데이터를 받아올 때, 객체로 변환해야 한다. => 역직렬화 Gson -> Java 100%https://github.com/google/gson GitHub - google/gson: A Java serialization/deserialization library to convert Java Objects into JSON and backA Java serialization/deserialization library to convert Java Objects into JSON and back - google/gsongithub.com dependencies { implementation 'com.google.code..

Android 2024.05.16

Android 리사이클러뷰

https://developer.android.com/develop/ui/views/layout/recyclerview?hl=ko RecyclerView로 동적 목록 만들기  |  Views  |  Android Developers이 페이지는 Cloud Translation API를 통해 번역되었습니다. 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. RecyclerView로 동적 목록 만들기   Android Jetpack의 구성요developer.android.com https://gift123.tistory.com/67 안드로이드 개발 (34) RecyclerView 성능 향상Android 개발을 하다보면 불가피 하게 RecyclerView를 사용해야 하는 순간이 대부..

Android 2024.05.06

[삽질][Kotlin] Android Studio Google Social Login

플젝에서 공유 기능을 넣는다하여 소셜로그인이 필요하게 되었다. 프론트 팀원과 나 모두 처음이었기 때문에 서로 시도해보고 취합하기로 했는데 새벽에 오기가 발동해 혼자서 다 해버렸다. https://www.youtube.com/watch?v=H_maapn4Q3Q https://visualandroidblog.blogspot.com/2023/04/google-sign-in-firebase-android-kotlin-tutorial.html Step-by-Step Guide: Google Sign-In with Firebase in Android Studio Using Kotlin Securely implement Google Sign-In with Firebase in Android Studio using K..

Android 2024.04.07

Layout / View

View? 화면을 구성하는 모든 기본 화면의 구성 요소 Layout? - 뷰 중 눈에 보이지 않는 것들 - 뷰 중 눈에 보이는 것들 -> widget View의 기본 속성 - id : 뷰의 식별자 속성 - layout_width, layout_height : 뷰의 크기 지정(wrap_content, match_parent) wrap_content = 콘텐츠 크기에 맞추기 match_parent = 부모뷰에 맞추기 1. LinearLayout - 가로 또는 세로 단일 방향으로 모든 요소를 정렬하는 레이아웃 2. RelativeLayout - View끼리의 상대적 위치로 배치를 적용하는 Layout 3. Constraint Layout - 상대적 위치 관계에 따른 배치를 할 수 있다. - 다른거 거의 안쓰고..

Android 2024.04.02