전체 글194 [Android] 코틀린Kotlin 현재 날짜 가져오기 LocalDateTime 혹은 LocalDate val localDateTime: LocalDateTime = LocalDateTime.now() val localDate: LocalDate = LocalDate.now() Log.d("localDateTime",localDateTime.toString()) Log.d("localDate",localDate.toString()) 이렇게 하면 로그에 아래처럼 찍힌다. localDateTime 2023-04-03T 05:08:43.775 localDate 2023-04-03 LocalDateTime을 가지고 이렇게 시간과 날짜를 각각 가져올 수도 있다. Log.d("localDateTime",localDateTime.toLocalDate().toString(.. 안드로이드 앱 개발 공부/자꾸 까먹어서 적어두는 구현방법 2023. 4. 3. [Android] kotlin 뷰바인딩 ViewBinding 1. build gradle (Module:app)에 추가하기 android { ... viewBinding { enabled true } } 2. 사용하려는 뷰에서 접근 두 가지 방법이 있다. 첫 번째는 class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) val binding = ActivityMainBinding.inflate(layoutInflater); setContentView(binding.root) } } 두 번째는 class MainActivity : AppCompatActivity() { val binding.. 안드로이드 앱 개발 공부/자꾸 까먹어서 적어두는 구현방법 2023. 4. 3. [Java] 백준 14503 : 로봇 청소기 https://www.acmicpc.net/problem/14503 14503번: 로봇 청소기 첫째 줄에 방의 크기 $N$과 $M$이 입력된다. $(3 \le N, M \le 50)$ 둘째 줄에 처음에 로봇 청소기가 있는 칸의 좌표 $(r, c)$와 처음에 로봇 청소기가 바라보는 방향 $d$가 입력된다. $d$가 $0$인 경우 북쪽 www.acmicpc.net N*M의 칸을 청소하는 로봇청소기가 있는데, 1은 벽 0은 방이다. 이때 로봇청소기가 청소할 수 있는 방의 개수를 구하는 문제이다. 조건 1. 처음 빈칸은 청소되어 있지 않다. 2. 현재 칸의 주변 4칸 중 청소되지 않은 빈칸이 없는 경우 후진가능하면 후진하고 불가능하면 종료한다. 3. 현재 칸의 주변 4칸 중 청소되지 않은 빈칸이 있는 경우 반시.. 코딩테스트/백준 2023. 3. 31. 도통 모르겠어서 기록하면서 공부하는 Jetpack Compose_ glance 코드 샘플 분석 후 적용하기까지 (2) 이번에는 https://github.com/android/user-interface-samples/tree/main/AppWidget/app/src/main/java/com/example/android/appwidget/glance/image 여기 코드를 분석해 볼 것이다! 이렇게 이미지를 사이즈에 따라 갱신하도록 구현한 것이다. 고정되지 않은 데이터를 보여주는 것이 아니기 때문에 내가 원하는 방법을 구현하는 것에 감이 올 수 도 있을 것 같아서 분석해 본다. 이거는 두 개의 파일이 있는데 ImageGlanceWidget.kt는 위젯 ui 전방에 관련된 코드이고, ImageWorker.kt는 이미지를 가져오는 코드로 추정된다. ImageGlanceWidget.kt에는 3덩어리로 이루어져 있다. 1. cl.. 안드로이드 앱 개발 공부/jetpack Compose 2023. 3. 21. 도통 모르겠어서 기록하면서 공부하는 Jetpack Compose_ glance 코드 샘플 분석 후 적용하기까지 (1) 투두, 메모, 디데이 기능을 하나의 앱 안에서 모두 사용할 수 있는 간단한 앱을 만드는 데 1주일이 걸렸다. compose의 매력을 즐기면서 간단하고 빠르게 구현할 수 있어서 즐거웠는데... 가장 주요 목적이었던 위젯 만드는 부분에서 완전히 꽉 막히고 말았다. 이왕이면 compose로 만들고 싶어서 시작한 것이었는데, 자료도 많지 않았고 있어도 단순히 정말 위젯을 만들기만 하는 코드들이었다. 그래서 그냥 자료 많은 방법으로 갈까도 하다가 이왕 시작한 거 어떻게 해서든지 끝까지 해내보겠다는 마음으로 공부를 시작해 본다. 아래 url은 공식문서의 glance파트에 있는 코드 샘플 깃허브이다. https://github.com/android/user-interface-samples/tree/main/AppWi.. 안드로이드 앱 개발 공부/jetpack Compose 2023. 3. 20. [Android] JetPack https://developer.android.com/jetpack/androidx/explorer?hl=ko 유형별 Jetpack 라이브러리 살펴보기 | Android 개발자 | Android Developers 유형별 Jetpack 라이브러리 살펴보기 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 카테고리 선택: 모두 인기 휴대전화 이상 데이터 그래픽 수명 주기 미디 developer.android.com 구글에서 발표한 라이브러리와 도구 모음집 개발을 빠르고 쉽게 할 수 있도록 도와주는 라이브러리 모음이다. AndroidX라는 이름의 라이브러리로 사용되어 진다. jetpack Compose Jetpack Compose UI 앱 개발 도구 키트 - Android 개발자.. 안드로이드 앱 개발 공부/안드로이드 기본(노션 이동) 2023. 3. 16. [Android] 디자인 패턴 (MVC, MVP, MVVM) 소프트웨어 공학에서 특정 문맥에 공통적으로 발생하는 문제에 대해 재사용이 가능하게 만든 해결책 코드를 효율적으로 작성하기 위한 방법론 궁극적으로 건강한 소프트웨어 개발을 위한 방법론 MVC, MVP, MVVM 💡 MVC (Model View Presenter) View 사용자에게 보이는 UI를 나타낸다. Model로부터 Data를 박아 사용자에게 보여준다. 애플리케이션에서 사용되는 Data를 처리한다. View에 의존적이지 않기 때문에 재사용이 가능하다. Controller 사용자의 입력(action)을 받고 처리한다. 주로 Activity나 Fragment로 표현된다. Model의 Data변화에 따라 View를 선택한다. 동작 사용자의 Action이 Controller에 들어온다. Controller는.. 안드로이드 앱 개발 공부/안드로이드 기본(노션 이동) 2023. 3. 16. [Android] List View와 Recycler View의 차이 정리 RecyclerView ListView ViewHolder ViewHolder 패턴 이용 ViewHolder 패턴 이용 필요 x Item Layout 가로/세로/지그재그 모두 지원 세로만 지원 Item Animation 아이템 애니메이션 처리 클래스 O 아이템 애니메이션 처리 클래스 x Adapter 데이터 제공을 위해 직접 구현 다양한 소스에 대한 어댑터 존재 Decoration 많은 구분선 설정 쉽게 구분 가능 Click Event 개별 터치 이벤트 관리O, 클릭 처리 기능 X 이벤트에 바인딩 하기 위한 인터페이스 존재 안드로이드 앱 개발 공부/안드로이드 기본(노션 이동) 2023. 3. 16. [jetpack compose] 제트팩 컴포즈로 탭 만들기 유튜브에서 한 외국인의 강의를 듣고 만들었다. 에스파냐어를 사용해서 무슨 말인지는 못 알아 들었지만.. 직접 공부하면서 코드를 분석해서 만들어봤땅. 1. 메인 액티비티 : MainActivity.kt Tabs_principle함수는 탭을 어떻게 구성할지를 작성한 코드이다. 호출해서 적용한다. class MainActivity : ComponentActivity() { @SuppressLint("ResourceAsColor") override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { StickyMemoryTheme { Surface { Tabs_principle() } } } } } .. 안드로이드 앱 개발 공부/jetpack Compose 2023. 3. 7. [Android] Rest Api 안드로이드에서 HTTP통신을 서버와 통신을 할 때 AsyncTaksk(비동기)로 통신을 해야 한다. 왜냐하면 안드로이드의 메인 스레드는 전부 UI관련 처리를 위해 사용되기 때문이다. Rest 아키텍처의 제약 조건을 준수하는 애플리케이션 프로그래밍 인터페이스 서버와 클라이언트 구조 Socket 통신과는 다르게 양방향이 아닌 단방향 통신 Request와 Response로 이루어짐 Get, Post, Put, Delete등의 메서드를 사용 아래 클래스나 라이브러리를 사용해 통신을 구현 OkHttp Retrofit HttpURLConnection/HttpsURLConnection HttpURLConnection/HttpsURLConnection Post와 Get 두가지 방식 Post : Post에서 URI를 통.. 안드로이드 앱 개발 공부/안드로이드 기본(노션 이동) 2023. 3. 7. [Android] LayoutInflater 란? 💡 LayoutInflater XML에 미리 정의해 둔 틀을 실제 메모리에 올려주는 역할을 한다. XML에 정의된 Resource를 VIew 객체로 변환해 주는 역할을 한다. 절대 직접 사용하지 않는다. 대신 Activity.getLayoutInflater()또는 Context#getSystemService를 사용하여 현재 콘텍스트에 이미 연결되어 있고 실행 중인 장치에 대해 올바르게 구성된 표준 LayoutInflater 인스턴스를 검색한다. 이 클래스는 스레드로쿠터 안전하지 않으며 지정된 인스턴스는 단일 스레드에서만 액세스 해야 한다. 안드로이드 앱 개발 공부/안드로이드 기본(노션 이동) 2023. 3. 7. [Android] Rx (RxJava, RxAndroid,...)란? 반응형 프로그래밍 데이터를 관찰할 수 있고, 데이터 스트림으로 처리한다. ReactiveX 관찰 가능한(Observable) 스트림을 사용하는 비동기 프로그래밍을 위한 API이다. RxJava ReactiveX(Reactive Extensions)를 Java로 구현한 라이브러리 RxAndroid RxJava에 안드로이드용 스케쥴러 등 몇 가지 클래스를 추가해 안드로이드 개발을 쉽게 해주는 라이브러리이다. RxKotlin RxJava에 Kotlin의 extension function을 이용하여 사용하기 편리하도록 만든 경량 라이브러리이다. RX = Observable + Observers + Schedulers Observable: Observable은 데이터 스트림입니다. Observable은 하나의 스.. 안드로이드 앱 개발 공부/안드로이드 기본(노션 이동) 2023. 3. 7. 이전 1 2 3 4 5 6 7 ··· 17 다음