728x90
반응형

Android 68

[Android/Kotlin] 코루틴 coroutine

코루틴 Coroutine Android의 비동기 프로그래밍에 권장되는 솔루션으로, 비동기적으로 실행되는 코드를 간소화하기 위해 Android 에서 사용할 수 있는 동시 실행 설계 패턴. 안드로이드의 Background Thread 에서 코드를 처리할 때 사용하는 방법이다. Co(협력, 같이, 함께, 동시에) 라는 뜻과 Routine(특정한 일을 실행하기 위한 일련의 명령) 이라는 두 단어의 합성어로, 동시성 프로그래밍의 개념을 코틀린에 도입한 것 다양한 언어에서 이미 지원하고 있는 개념이다. 통신 시 비동기 처리하는 방법으로 오랜 기간 사용되었던 AsyncTask 가 Deprecated 되면서, 메모리를 효율적으로 사용하면서 AsyncTask 를 대체하는 비동기 처리 방법으로 사용되고 있다. 🚨 Coro..

[안드로이드/Android] 클린아키텍처 Clean Architecture

클린 아키텍처 Clean Architecture 개발자 로버트 C. 마틴(Robert C. Martin)가 2012년 엔터프라이즈 아키텍처에서 논의된 내용을 토대로 집약시킨 개념. 소프트웨어의 관심사를 계층별로 분리하는 소프트웨어 디자인 철학이다. 주요 원칙은 코드 종속성이 외부로부터 내부로 의존한다는 것이다.(외부->내부 로 향하여 의존한다.) 내부 계층의 코드는 외부 계층의 기능을 알 수 없다. UI와 Database를 분리하여, 외부적인 설정에는 독립적이며 프레임워크에 의존적이지 않은 공통적인 코드를 짤 수 있도록 한다. 클린 아키텍처는 2가지 관점에서 볼 수 있다. 1. 아키텍처 설계 철학 - SOLID 원칙을 기반으로함 : 단일 책임 원칙(Single Responsibility Principle..

[Android/Firebase] Firebase 프로젝트 생성 및 앱 추가

안녕하세용! 안드로이드 앱에서 Firebase 를 활용하기 위해 프로젝트를 생성하고 앱을 추가 하는 방법입니다. 먼저 Firebase 콘솔창으로 이동하여 로그인 해주세요~ https://console.firebase.google.com/?hl=ko 로그인 - Google 계정 하나의 계정으로 모든 Google 서비스를 Google 계정으로 로그인 accounts.google.com 1. Firebase 프로젝트 생성 1-1. 프로젝트 추가 클릭 1-2. 프로젝트 이릅 입력 후 계속 버튼 클릭 1-3. 프로젝트 만들기 버튼 클릭 1-4. 프로젝트가 만들어지는 동안 잠시 기다립니다. 1-5. 새 프로젝트가 준비되었다고 표시되면 계속 버튼을 클릭합니다. 그러면 Firebase 에 프로젝트가 추가된 것을 확인할..

[Android/Kotiln] 데이터 바인딩 dataBinding 사용하기

dataBinding 앱의 데이터 소스와 레이아웃의 구성요소를 결합할 수 있게 해주는 Android JetPack 라이브러리 findViewById를 쓰지 않고, 데이터 소스와 레이아웃을 결합해주는 방식 https://developer.android.com/topic/libraries/data-binding/start?hl=ko 시작하기 | Android 개발자 | Android Developers 시작하기 Android 스튜디오의 데이터 결합 코드 지원을 비롯하여 개발 환경에서 데이터 결합 라이브러리를 함께 사용하도록 준비하는 방법을 자세히 알아봅니다. 데이터 결합 라이브러리는 유연 developer.android.com 🚨 장점 1. findViewById()를 사용하지 않아도 된다. 자동으로 xml..

[Android/Kotiln] MVVM 적용한 날씨 앱 만들기 (viewBinding, retrofit 사용)

viewBinding findViewById를 쓰지 않고, XML의 view component 에 접근하는 object를 반환받아 view에 접근하는 방식 https://developer.android.com/topic/libraries/view-binding?hl=ko 뷰 결합 | Android 개발자 | Android Developers 뷰 결합 뷰 결합 기능을 사용하면 뷰와 상호작용하는 코드를 쉽게 작성할 수 있습니다. 모듈에서 사용 설정된 뷰 결합은 모듈에 있는 각 XML 레이아웃 파일의 결합 클래스를 생성합니다. 바인딩 developer.android.com 🚨 장점 1. findViewById()를 사용하지 않아도 된다. 자동으로 xml에서 만든 View들을 만들어준다. 2. Null 안정성 ..

[안드로이드/Android] 레트로핏 Retrofit 을 이용한 날씨 앱 만들기

Retrofit REST API 통신을 위해 구현된 Squareup 사의 OkHttp 라이브러리의 상위 구현체로, OkHttp 를 네트워크 계층으로 활용하고 구축된 라이브러리. AsyncTask 없이 Background Thread 를 실행하고 Callback 을 통해 Main Thread 에서 UI 업데이트가 가능하다. 🚨 장점 빠른 성능 - AsyncTask 를 사용하는 OkHttp 의 3배이상 차이가 난다고 한다. 가독성 - Annotation 사용으로 코드의 가독성이 뛰어남. 직관적인 설계가 가능. 간단한 구현 - HttpUrlConnection 의 Connection / Input&Output Stream / URL Encoding 등의 작업 또는 OkHttp 의 request / respons..

[안드로이드/Android] AsyncTask 로 HttpURLConnection 를 이용한 날씨 앱 만들기

안드로이드에서 서버와 통신하기 위한 AsyncTask 로 HttpURLConnection 을 이용하는 방법입니다. 저는 openweathermap 의 api 를 통해 날씨 정보를 표시해주는 앱을 만들어보았습니당 🌤 https://openweathermap.org/api Weather API - OpenWeatherMap Please, sign up to use our fast and easy-to-work weather APIs for free. In case your requirements go beyond our freemium account conditions, you may check the entire list of our subscription plans. You can read the How..

[안드로이드/Android] AsyncTask 를 이용한 프로그레스바(ProgressBar) 표시하기

AsyncTask 안드로이드에서 UI 블록을 막기 위해 네트워크 통신 등의 기능을 구현할 때는 비동기 처리를 이용해야 한다. 비동기 처리를 하는 백그라운드 작업을 구현하게 될 때 사용하는 AsyncTask 라는 Thread Class 를 사용한다. 🚨 AsyncTask 에서 사용하는 메서드 onPreExecute(), doInBackground(), onProgressUpdate(), onPostExecute(), onCancelled() onPreExecute() : 백그라운드 실행 이전에 동작 함수. 초기화 관련 코드 작성. doInBackground() : 실제 로직이 실행되는 함수. 사용자가 execute() 함수를 실행할 때 넘긴 파라미터를 이용해서 동작을 수행한다. onProgressUpdat..

[안드로이드/Android] 안드로이드 스튜디오(Android Studio) 에서 벡터(Vector) 이미지/아이콘 추가

안녕하세용! 안드로이드 스튜디오(Android Studio) 에서 벡터(Vector) 이미지/아이콘 을 추가하여 사용하는 방법입니다. 벡터(Vector) 이미지/아이콘 은 png 이미지 처럼 각 픽셀별로 컬러값을 갖지 않고 원, 사각형, 직선 등으로 모양을 직접 그리기 때문에 이미지를 아무리 늘리거나 줄여도 이미지의 품질을 잃지 않고 일정하게 유지됩니다. 그래서 개발을 진행할 때 유용하게 사용됩니다~! 먼저 안드로이드 스튜디오 를 실행해주세요~ File > New > Vector Asset 클릭 그러면 Configure Vector Asset 화면이 표시됩니다. Clip Art 옆 아이콘 을 클릭해주세요. 원하는 이미지를 검색으로 찾아보아요~ 저는 휴지통 모양을 찾고있었어요! 그래서 delete 로 검색..

[Android/Kotiln] MVVM 적용한 ToDo 앱 만들기 (LiveData)

안드로이드 아키텍쳐 중 LiveData 를 통해 MVVM 을 적용한 MyToDo 앱 을 만들어보았습니다. https://developer.android.com/topic/libraries/architecture/livedata?hl=ko LiveData 개요 | Android 개발자 | Android Developers LiveData를 사용하여 수명 주기를 인식하는 방식으로 데이터를 처리합니다. developer.android.com https://eunoia3jy.tistory.com/119 안드로이드 아키텍쳐 컴포넌트 AAC (Android Architecture Components) AAC 안드로이드 아키텍쳐 컴포넌트 (Android Architecture Components) 안드로이드 아키텍쳐..

안드로이드 아키텍쳐 컴포넌트 AAC (Android Architecture Components)

AAC 안드로이드 아키텍쳐 컴포넌트 (Android Architecture Components) 안드로이드 아키텍쳐 컴포넌트는 앱 구조를 더 튼튼하고, 테스트에 용이하고, 유지 보수성이 뛰어나게 만들어 주는 라이브러리 모음. 아키텍쳐 컴포턴트에서는 조금 더 모듈화된 코딩을 돕기 위해 Databinding, LiveData, ViewModel 등의 유용한 라이브러리를 제공하며, 이러한 라이브러리의 모음은 MVVM 패턴의 구조의 설계에 최적화되어 있다. 안드로이드 아키텍쳐 (AAC) 를 사용하면 좋은점 1. 일관적인 코드작성으로 유지보수와 협업의 편리함 2. 생산성 향상 3. 테스트의 용이성 4. 어플리케이션 개발 방향의 유리함 안드로이드 아키텍쳐 (AAC) 종류 1. MVC : Model + View + ..

[안드로이드/Android] 안드로이드 스튜디오 (Android Studio) 플러그인 - 테마 변경

안녕하세욤 🤚🏻🤚🏻 안드로이드 스튜디오(Android Studio) 에서 테마 변경하는 법! 을 포스팅해보려구요~ 요즘 사용하고 있는 vsCode 에서 테마를 적용하니 코드가 눈에 잘 들어오고 좋아서 안드로이드 스튜디오도 변경해보았습니다! 안드로이드 스튜디오 (Android Studio) 를 열어주세여~ Configure > Plugins 클릭! Plugins 창이 표시되면 검색창에 Material 또는 theme 로 검색하면 여러가지 UI 테마들이 표시됩니다. 저는 그중에 Monokai Pro Theme 를 선택! 원하시는 테마를 선택하여 Install 버튼을 클릭해 줍니다~ Accept 클릭 Restart IDE 클릭! 안드로이드 스튜디오를 재시작 해야해요~! Restart 클릭 Configure >..

[GitHub/Android] 깃허브(GitHub) 에 안드로이드 스튜디오(Android Studio) 소스파일 올리기 - Commit/Push

내가 수정한 소스파일을 깃허브(GitHub) 에 Commit/Push 하여 올리는 방법입니다. 프로젝트를 올리는 방법은 아래 게시물을 확인해주세요~😀 https://eunoia3jy.tistory.com/112 [GitHub/Android] 깃허브(GitHub) 에 안드로이드 스튜디오(Android Studio) 프로젝트 올리기 안녕하세요! 안드로이드 스튜디오(Android Studio) 에 있는 내 프로젝트를 깃허브(GitHub) 에 올리는 방법 입니다. 이 프로젝트를 본지는 거의 오백년이 된거 같지만 제 노트북에 지금 놀구있는 스튜 eunoia3jy.tistory.com 소스파일을 올릴 때는 Commit 후 Push 를 진행해야 합니다! 1. Commit 하기 안드로이드 스튜디오(Android Stu..

📡 Google ~ Git 2021.07.13

[GitHub/Android] 깃허브(GitHub) 에 안드로이드 스튜디오(Android Studio) 프로젝트 올리기

안녕하세요! 안드로이드 스튜디오(Android Studio) 에 있는 내 프로젝트를 깃허브(GitHub) 에 올리는 방법 입니다. 이 프로젝트를 본지는 거의 오백년이 된거 같지만 제 노트북에 지금 놀구있는 스튜디오 프로젝트가 이것뿐이라 이 프로젝트로 진행해 보았어용 ㅎㅎ ;; 일단 안드로이드 스튜디오(Android Studio) 를 켜주세요! 상단 메뉴바의 VCS > Import Version Control > Create Git Repository... 클릭 Git 저장소에 올릴 프로젝트 위치를 선택 후 Open 클릭 그러면 프로젝트의 파일들이 빨강색으로 표시되는 것을 확인 할 수 있습니다. 파일들이 Add 가 되지 않았기 때문이예요~ 다시 상단 메뉴바의 Android Studio > Preferenc..

📡 Google ~ Git 2021.07.08

[Flutter] 탭바(TabBar) 사용하기

안녕하세요! Flutter 를 하고 있는 요즘~ 포스팅 열심히 해야되는데 쉽지가 않네용 ㅠ_ㅜ Flutter 로 탭메뉴 인 탭바 TabBar 를 만들어 보았습니다! 안드로이드 java 소스로 TabLayout 을 만든 포스팅이 있었는데요! 그건 아래를 확인해 주세요 ~ https://eunoia3jy.tistory.com/54?category=1011678 [안드로이드/Android] TabLayout 과 ViewPager 를 이용한 탭 Tab 메뉴 화면 TabLayout 과 ViewPager 를 이용한 탭 메뉴 화면 을 구현하는 소스코드에 대해 포스팅 해 보겠습니다~ TabLayout : Tab 메뉴들을 담은 큰 틀의 레이아웃 ViewPager : 화면을 양옆으로 넘겨서 Page 를 바꾸는 슬 euno..

📘 Flutter 2021.07.06
728x90
반응형