본문 바로가기

분류 전체보기

(222)
MVC MVP MVVM MVI http://me2.do/xSzi7jxf
vscode에서 워크스페이스 열기 vscode -> xcode open ios/Runner.xcworkspace
[Android] 안드로이드 개발자를 위한 Flutter flutter-ko.dev/docs/get-started/flutter-for/android-devs Android 개발자를 위한 Flutter Android 개발 지식을 적용하여 Flutter 앱을 만드는 방법에 대해 알아보십시오. flutter-ko.dev 뷰 Flutter에서 View와 동일한 것은? 위젯을 변경하는 방법은 무엇입니까? 위젯을 어떻게 배치하나요? XML 레이아웃 파일은 어디에 있나요? 어떻게 하면 레이아웃에서 컴포넌트를 추가하거나 제거할 수 있나요? 위젯에 애니메이션을 넣는 방법은? Canvas를 사용하여 그리는 방법은? 커스텀 위젯을 만드는 방법은? Intents (인텐트) Flutter에서 Intent와 동일한 것은? 앱 외부에서 intent가 넘어올 때는 어떻게 처리해야? st..
람다식 lambda 사용하기 java 8 이상에서만 사용할 수 있음 build.gradle 설정 android { .... compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } }
Room Database 써 보기 Room 사용을 위한 3가지 중요한 요소 Database : 데이터베이스 홀더를 포함하고, 관계형 데이터 베이스에 접근할 수 있는 액세스 포인트를 제공한다. @Database라는 애노테이션을 클래스에 달아야 하며, 다음과 같은 조건을 만족해야한다. RoomDatabase를 상속해야한 abstract class여야 한다. 데이터베이스와 관련된 엔티티들을 애노테이션의 인자값으로 포함해야한다. abstract method 포함해야하는데, 이 메소드에는 인자가 0개이고 return 되는클래스가 @Dao 애노테이션을 달고 있어야한다. 런타임때에는 Room.databaseBuilder() 또는 Room.inMemoryDatabaseBuilder()를 통해 Database의 객체를 얻어 낼 수 있다. Entity :..
Retrofit Okhttp3 Interceptor를 이용해 쿠키 유지하기 대부분의 앱을 개발하다보면 10의 9은 로그인 기능이 들어간다. 로그인 유지를 위해서는 클라이언트는 쿠키, 서버는 세션을 이용하게 된다. 안드로이드에서 쿠키 저장하는 방법은 CookieStore가 있는데 이것은 앱을 다시 실행하면 새로운 쿠키를 생성해서 다시 로그인 해야 하고 그러면 매번 로그인을 해줘야 하는 번거로운 작업이 생긴다. 실제로 사용하고 있는 앱 중에서 이러한 앱이 있는데.. 이건 개발자를 때리고 싶ㄷ............ 찾아보다가 Okhttp를 이용하여 실행 시마다 항상 같은 쿠키값을 유지하는 방법이 있어 포스팅을 하게 되었다. 구현 방법은 말로 설명하면 아주 간단. 쿠키 가져옴 -> sharedPreferences에 저장 -> request 시 sharedPreferences에 저장해 ..
RecyclerView를 DiffUtil.Callback 으로 성능 향상하기 유저가 목록을 스크롤할 때 데이터를 업데이트 해야한다. 필요없으면 안 해도 되지만.. 이를 위해서는 서버에서 데이터를 가져와 아이템을 업데이트 해야할 수도 있는데 이런 과정에서 지연이 길어지면 UX에 영향을 미치기 시작해서 가능한 적은 리소스와 함께 빠른 작업이 필요하다. 기존에는 목록의 내용이 변경되면 notifyDataSetChanged()를 호출하여 아이템을 업데이트 해 왔지만 이건 비용이 많이 들기 때문에 DiffUtil를 개발해주었다. DiffUtil? RecyclerView Support Library v7의 24.2.0버전에 DiffUtil이라는 매우 편리한 유틸리티 클래스가 생겼다. 이 클래스는 두 목록간의 차이점을 찾고 업데이트 되어야 할 목록을 반환해주는 클래스다. Eugene W. M..
[공유] 안드로이드에서의 시간과 날짜 - 1 날짜나 시간을 가져오기 위해서 어떤 방법이 있는 지 검색해봤다. 일단 날짜를 출력하기 위해서는 달력이 어떻게 되어 있는지, 시간이 어떻게 측정(?)되는 지 알아야 할 것 같아서 좀 더 검색을 해봤다. 출처 - http://bomber0.byus.net/index.php/2009/02/05/983 천체관측을 통해서 1년을 365일 5시간 48분 55초라고 하는데, 보니 365일과 약 1/4일이 1년이라는 이야기다. 4년 마다 약 하루씩의 날짜가 더 있기 때문에, 4년마다 윤년을 두고 2월에 하루를 더 추가하지만, 33년 마다 8일이 더 붙어서 100 = 33 * 3 + 1 , 400 = 33 * 3 * 4 + 4 라는 식을 활용한다면, 400년에는 8 * 3* 4 + 1 =97 일 정도가 더 필요해지게 되..