일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- ViewPager2
- AndroidX
- 수리통계
- github api
- okHttp
- kotlin
- FragmentStateAdapter
- Android
- 셀레니움
- Kotiln
- Android 컴파일
- 안드로이드 플랫폼
- 안드로이드 API
- 통계대학원
- Clean Architecture
- Java
- gson
- TODO
- 백준 15686
- REST API
- LRU
- TabLayout
- 필답고사
- ViewModel
- Devexpress
- RecyclerView
- 웹 크롤링
- python3
- RETROFIT
- 데이터바인딩
- Today
- Total
목록전체 글 (40)
그냥 가끔의 기록장

mvvm 하나 알겠다고 무작정 검색하던 것이 어느새 흘러흘러 clean Architecture로 갔다. 사실 아직도 안드로이드가 너무 어렵고 아는 내용이 많지 않아서 할 게 산더미같지만.. 아무튼 mvvm을 정복하기까지 mvp, mvvm, model, clean Architecture, data binding, live data, .... 찾아볼게 정말 많다. 매일 하나씩이라도 해나가야지. 오늘은 우선 clean Architecture를 알아보고자 한다. https://proandroiddev.com/clean-architecture-data-flow-dependency-rule-615ffdd79e29 에 데이터 흐름과 종속성 규칙이 정말 정말 잘 나와있다. 1. 데이터 흐름 데이터 흐름은 그림과 같이 ..

안드로이드 기본기가 부족한데 마땅한 강의가 없어서 Google Android Kotlin Course를 듣고 있다. Unit 2 Part3에서 RecyclerView를 사용하는 예제가 나와서 이를 정리해보았다. 0. RecyclerView가 뭔지 과거에는 한 화면에 여러개의 item 목록들을 보여주려고 ListView, GridView를 사용했으나 안드로이드 3.1 버전 이후부터 얘네들은 legacy가 되었다고 한다. RecyclerView를 구글에서도 권장하니, 앞으로는 item 목록들을 보여줄 때 RecyclerView를 사용하자. RecyclerView에는 LayoutManager가 속성으로 들어있어서, grid, linear 처럼 item 목록들을 어떻게 보여줄지도 결정해준다. 매번 헷갈렸는데, ..

Okhttp란? Square에서 제공하는 오픈소스 라이브러리로 HTTP 통신을 쉽게 할 수 있게 해준다. 안드로이드에서 Okhttp 없이 Http 통신을 하게 되면 예외처리, Buffer입출력, HttpURLConnection연결 등 할게 엄청 많아진다고 한다. ( 참고: https://heepie.me/282) Retrofit이 Okhttp위에서 돈다하니, 나중엔 이것도 사용해봐야겠다. (Retrofit이 뭔지 잘 모르나, 서버와 클라이언트간 http 통신을 위한 인터페이스라고 한다. 근데 Okhttp랑은 뭐가 다른거지...얘도 또 찾아보고 정리해야겠다.) GSON이란? json 구조인 데이터를 Java 객체로 바꿔주는 자바 라이브러리이다. 즉, JSON Object Java Object 로 서로 변환..

1. Data binding이란 1. 정의 데이터 바인딩이란, 데이터와 UI 요소를 프로그래매틱 방식이 아니라 선언적 형식으로 결합하게 해주는 라이브러리이다. 참고: https://developer.android.com/topic/libraries/data-binding 개발 공식 문서의 정의를 예시로 살펴보자. TextView에 text를 정의할 때는 두 가지 방식이 있다. 1. 프로그래매틱 방식: java나 kt 파일의 onCreate 메서드 내에서 Textview.setText("~~"); 로 정의하는 방식 2. 선언적 방식: xml의 android:text에 @{user.name} 이렇게 선언하는 방식 두 번째 경우는 첫 번째와 달리 자바나 코틀린 코드를 직접 호출하지 않아도 데이터와 UI요소를 ..

안드로이드를 공부하기로 시작하기 앞서, 공부할 목록들을 정리하는 중인데 생각보다 내가 아는게 없고.. 매우 심각한 상황임을 새삼 다시 깨달아서 1주일에 1개는 공부해서 정리보려 한다. 언제까지 갈 진 모르나 1일차엔 Android Room 개념 및 코드를 정리해보았다. 코드는 Java로 작성했고, 깃헙 코드도 참고할 수 있다. https://github.com/leesoeun98/android-room-java Android developer 문서에서는 SQLite대신 Room을 사용할 것을 적극적으로 권장하고 있다. Android Room 장점 1. SQLite는 DB Scheme이 바뀔 때 자동 업데이트가 되지 않으나, Room은 자동으로 DB 업데이트를 해준다. 2. SQLite는 Boilerpla..

1. 좌표 저장 어떻게 풀까 고민하다가 우선 1 (집), 2(치킨집)으로 된 각 좌표를 저장하였다. 2. 각 치킨집에서 집까지의 거리 구해 배열에 저장 그 후, 각 치킨집에서 집까지의 거리를 구해 distance_per_chickenshop 배열에 저장하였다. 입력이 아래와 같을 때 distance_per_chickenshop의 출력 결과는 다음과 같다. 즉, 3개의 치킨집에 임의로 번호를 붙였을 때, 3개의 각 치킨집에서 4개의 집까지의 각 거리를 구한것이다. (원소 0번째: 1번 치킨집에서 1-4번 집까지의 거리, 원소 1번째: 2번 치킨집에서 1-4번 집까지의 거리....) 3. 치킨집 수 C m 으로 모든 치킨집 조합 구하기 치킨집이 최대 m개가 존재할 수 있다는 소리는, 치킨집이 1개부터 m개까..
우선순위 큐를 이용하여, compareTo를 통해 색깔에 따른 선물의 우선순위를 결정한다. n만큼 반복하며 시간, 색, 선물 갯수를 입력받으며 색에 따라 우선순위 큐에 (선물_포장_시작_시간, 색) 형태로 저장한다. 우선순위 큐에 선물의 포장 시작 시간과 색에 따라 선물을 다 넣었으면, 우선 순위 큐에서 하나하나 원소를 뺀다. 뺀 원소의 색을 확인하고 색에 맞게 gift 변수를 1씩 증가해준다. => 우선 순위 큐의 compareTo 메서드를 통해 선물 포장 순서가 순서대로 쌓인다. import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; i..
1. 입력 1. Scanner (0) import java.util.Scanner; (1) Scanner 객체 생성 (생성자 입력으로 System.in 필요) (2) 객체.메소드()로 콘솔 입력 읽기 메서드 종류 next: 단어 nextLine: 문장 nextInt: 정수 import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner scan = new Scanner(System.in); String sentence=scan.nextLine(); // 문장 입력 String word=scan.next(); // 단어 입력 int num=scan.nextInt(); // 정수 입력 } } 주의점: nex..