Skils/Android

📕배운 내용 안드로이드 애플리케이션 설계 패턴은 크게 3가지로 분류됩니다. ( MVC, MVP , MVVM) 이번 포스팅에서는 MVC에 대해서 알아볼 예정입니다. 애플리케이션 설계 패턴이 중요한 이유는 이전 글인 Clean - Architecture와 연관되어 있습니다. 간략하게 설명하면 앱의 지속적인 업데이트와, 안드로이드 정책의 계속적인 변화, 시장의 요구의 변화 등으로 인한 유지보수의 비용을 줄이기 위해서입니다. 여기서 잘 설계된 애플리케이션은 유지보수의 비용을 줄여주고, 안전성, 성능에 도움을 주기에 설계패턴을 완벽히 숙지하는 것이 중요하다고 생각합니다. 📕MVC란? Model , View , Controller의 구성요소로 관심사를 분리한 설계 패턴입니다. 안드로이드 앱 개발 초기에 많이 적용되..
모바일 앱 사용자 환경의 기본 개념 핸드폰을 사용하면서 앱을 잠시 떠나서 다른 앱을 사용하는 상황이 매우 흔하게 발생된다. 예를 들어 인스타와 카카오톡 같은 SNS를 사용하다가 전화가 오거나 알람이 울리면 사용 환경이 중단될 수 있다. 또, 스마트폰의 리소스는 제한되어 있으므로 운영체제가 공간이 필요하다고 판단되면 앱 프로세스를 종료하기도 한다. 이러한 상황이 발생하면 사용자 입장에서 난감하다. "아니 인스타 , 카톡 하다가 전화 왔다고 갑자기 앱이 종료된다고?!" 이렇듯 사용자 혹은 운영체제가 앱 구성요소를 제거할 수 있기 때문에 우리는 앱 데이터나 상태를 앱 구성요소에 저장하며 안되며, 앱 구성요소가 서로 종속되면 안 된다. --> 이것이 모바일 앱 사용자 환경의 기본개념이다. 클린 아키텍처(Clea..
안드로이드 생명주기는 안드로이드 개발에 필수적인 지식이며, 꼭 필요한 내용이라고 생각합니다. 생명주기에는 3개의 생명주기(Activity, Fragment, Service)가 있지만 이번 글에서는 Activity life cycle에 대해서 다룰 예정입니다. 안드로이드 개발 면접에서도 자주 나오는 주제고, 저도 그랬지만, 대충 알고 넘겼었는데, 이번 글로 확실하게 개념을 잡아볼까 합니다. 📕생명주기(Life Cycle) Activity가 생성, 정지, 재생, 종료 등 여러 상태 간의 전환을 위해 6가지 콜백으로 구성된 핵심세트를 제공합니다. Activty 간 새로운 상태에 들어가면 시스템은 각 콜백을 호출한다. 📗콜백(callback) A가 어떤 특정한 동탁을 한다면 A가 B에게 알려 주는 것을 의미합니..
안드로이드 개발에 관심이 있었고, 이번학기에 모바일앱프로그래밍1을 들었습니다 확실히 흥미가 있던 분야라서, 강의내용도 재밌고, 열심히 듣게되었는데, 이번에 기말 대체로 프로젝트를 진행해서 조별과제를 진행했습니다. 이 때까지 같이 했던 프로젝트(개발)은 제가 원하던 사람들과 팀을 이루어 하던 프로젝트였는데, 이번 팀 프로젝트는 조원도 랜덤이고, 주제도 기말이후로 알려준거라 시간적으로도 부족하고, 모르던 사람들과 하려니까 굉장히 어색하고, 서툴렀던것 같습니다.. (마음은 앞섰지만요 ㅎ) 구체적인 개발 시작은 중간고사가 끝나고 바로 주제가 공개되었고, 팀원들끼리 일정을 조율해서 12월16일까지가 제출기한입니다. 우선 개발 주제는 간단하게 개선된 키오스크를 만드는 것입니다. 사용할때는 몰랐는데 키오스크의 문제점..
📕프래그먼트 액티비티처럼 동작하는 뷰 클래스 액티비티의 사용자 인터페이스를 여러 개의 조각으로 나눈 것 여러 개의 프래그먼트를 조합하여 액티비티가 출력하는 한 화면의 UI를 표현할 수 있음. xml 상에서는 FrameLayout 태그 안에서 코드를 작성함. 📕프래그먼트 생명주기 onAttach() -> onCreate() -> onCreateView() -> onViewCreated() -> onStart() -> onResume() 📕Fragment 소스 코드 파일을 생성하면 자동으로 onCreateView()가 생성됨 자동 호출되며 반환한 View 객체가 화면에 출력됨. 이렇게 하나의 화면에서 여러 개의 프래그먼트를 조합하여 UI를 표현할 수 있다. 📕MainActivity 코드 FragmentTra..
이번 글에서는 androidx 라이브러리 중에서 appcompat 라이브러리에 대해서 써볼까 합니다. 📕androidx 라이브러리 화면 구성과 관련된 라이브러리 androidx.appcompat 앱의 API 레벨 호환성을 해결 androidx.recyclerview 목록 화면을 구성 androidx.viewpager2 스와이프로 넘기는 화면을 구성 androidx.fragment 액티비티처럼 동작하는 뷰를 제공 androidx.drawerlayout 옆에서 서랍처럼 열리는 화면을 구성 📕appcompat 라이브러리 안드로이드 앱의 화면을 구성하는 액티비티를 만들며 API 레벨의 호환성 문제를 해결 appcompat 라이브러리 선언 dependencies 항목에 appcompat 선언(자동 추가) appc..
📗Log 코딩을 할 때 코드의 흐름 및 프로그램 오류를 파악하기 위해 앱 외부로 출력하는 정보 디버거를 사용할 수도 있지만 매번 디버깅할 포인트를 지정해야 하는 불편함이 있음. 로그를 사용하면 한 번 설정으로 항상 해당 코드의 흐름을 쉽게 확인 📗Logcat (로그 캣) 출력되는 로그를 보는 도구 태그를 필터로 사용해서 특정 로그만 확인 가능 함수 의미 내용 Log.v() verbose 상세한 로그 내용을 출력하기 위해 사용 Log.d() debug 개발에 필요한 내용을 출려갛기 위해 사용(개발자용) Log.i() information 일반적인 메세지를 전달하기 위해 사용 Log.w() warning 에러는 아니지만 경고성 메시지를 전달하기 위해 사용 Log.e() error 실제 에러 메시지를 출력하기..
🔎학습목표 layout의 종류와 쓰임 알기 LinerLayout RelativeLayout FrameLayout GridLayout ConstraintLayout ✔목차 💡LinearLayout 💡RelativeLayout 💡FrameLayout 💡GridLayout 💡ConstraintLayout 📗안드로이드 네임 스페이스 💡네임 스페이스 xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" -xmlns: prefix = "URI" 요소의 시작 태그에서 xmlns 속성으로 정의 xml 문서에서 이름 충돌을 피하기 위해 작성 Android 관련 태그를 xml 문..
📕안드로이드의 4대 구성요소 각 구성요소는 시스템이나 사용자가 앱에 들어올 수 있는 진입점이며, 다른 구성 요소에 종속되는 구성 요소도 있습니다. 각 유형은 뚜렷한 목적을 수행하고 각자 나름의 수명 주기가 있어 구성 요소의 생성 및 소멸 방식을 정의합니다. 💡Activites 사용자가 앱과 상호작용하기 위한 진입점 역할을 한다. UI를 포함한 화면 하나를 나타냄. 액티비티 간의 전환은 intent를 사용해서 전환한다. intent를 사용해서 외부 앱과도 연동이 가능하다. 💡Services 백그라운드에서 앱을 계속 실행하기 위한 다목적 진입점. 오랫동안 실행되는 작업을 수행하거나 원격 프로세스를 위한 작업을 수행. UI를 제공하지 않음. 사용자와 액티비티 간의 상호작용을 차단하지 않고, 네트워클 르 통해서..
재한
'Skils/Android' 카테고리의 글 목록 (5 Page)