[안드로이드] 8주차: Room DB
·
📚 스터디/프론트엔드
SharedPreferences 안드로이드에서 간단하게 값을 저장하고 불러오는 방법 # SharedPreFerences 설명 Key - Value 형태로 값을 저장한다. Key는 String Type을 사용한다. Value는 기본적인 자료 구조만 가능하다. (Boolean, Long, String, Int, Double, Set) 간단하게 DB 시스템을 활용하는 안드로이드 개발 전략이다. 로컬 DB시스템을 구축하기엔, 로직이 복잡하기에, 이를 해소하기위해 SharedPreferences로 간단하게 구현한다. 아마도, SharedPreferences 는 로컬 환경에서 단순한 데이터 저장 및 활용에 쓰이지 않을까 라고 생각해본다. 아직까진, SharedPreferences를 사용하는 목적은 잘 모르겠다. R..
[안드로이드] 7주차: Thread 실습 [타이머 제작]
·
📚 스터디/프론트엔드
7주차에서는 Thread 개념에 대해서 배웠다. 쓰레드는 다시말해, 작업의 흐름을 분할하기 위해 안드로이드에서 사용한다. 하나의 프로세스에서 여러 개의 프로세스를 작업하고, UI로 보여주기 위해 사용된다. 이번 Thread 실습은 하나의 프로세스에서 여러 개의 프로세스로써 UI에 보여주는 용도로 쓰레드를 사용했다. 나아가서 파일불러오기, 음악재생하기와 같은 백그라운드 작업이 필요한 경우 쓰레드를 통해 작업을 분류한다. 타이머 - 시간 기록 MainActivity 파일 package com.example.umc_week7 import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.os.Handler impor..
[안드로이드] 7주차: Thread & 동기, 비동기 작업
·
📚 스터디/프론트엔드
Thread란, 컴퓨터에서의 하나의 흐름을 의미한다. 흐름이 하나만 있는 경우를 Single-Thread라고 한다. 즉, Thread는 흐름을 분리하기 위해 사용하는 도구이다. 안드로이드는 메인 스레드가 아닌 스레드에서는 UI에 접근할 수 없는 치명적인 규칙이 있다. 즉, 다른 스레드내에서 TextView에 접근할 수 없다. 그러면, 어떻게 쓰레드에서 처리한 작업을 UI에 반영을 할까? thread 내부 메소드인 runOnUiThread를 통해 UI에 접근할 수 있다. 이는, 안드로이드 개발 규칙이며 기본적으로 안드로이드는 쓰레드내에서 XML 객체 (UI)를 처리하지 못하도록 막아두었다. 무거운 작업들은 외부 공간에서 처리하도록 안드로이드 자체에서 설정해줬다. Multi-Thread - 멀티 쓰레드 여러..
[안드로이드] 6주차 실습: BottomNavigation & ViewPager2 - TabLayout
·
📚 스터디/프론트엔드
BottomNavigation을 이용한 Fragment 전환 BottomNavigation을 이용해서 아래와 같은 View를 구현할 수 있다. 그럼, 위와 같은 사항을 구현하기 위해 코드로 하나씩 구현해보자 ㅎ BottomNavigation에서 나타낼 Item 요소들 저장 - menu XML 폴더 BottomNavigation의 Item을 지정하는 menu 폴더를 생성 구현한 menu를 bottomNavigation의 Item 요소로 나타낸다. 이는, 아래의 activity_main.xml 파일의 bottomNavigation에서 나타낸다. (xml 객체와 xml 객체의 연결된 셈이다.) activity_main.xml 파일에 BottomNavigation 구현 - 요소 Layout activity_ma..
[안드로이드] 5주차 실습: RecyclerView 사용
·
📚 스터디/프론트엔드
RecyclerView로 화면구성 RecyclerView에 대해서 실습을 진행하기 전에 RecyclerView에 대해서 자세히 알아보도록 하자. (최근에 생각이 복잡해졌기에, RecyclerView를 제대로 학습하지 않았다.) 그래서, 차근차근히 처음부터 RecyclerView에 대해서 알아보도록 하겠다. # RecyclerView RecyclerView란, 동일한 어떤 목록들을 나타내기 위해 사용하는 View이다. 즉, 동일한 형태로 된 View를 리스트 형태로 앱의 뷰로 표현해주도록 하는 게 RecyclerView이다. (ListView도 존재하지만, 안드로이드 OS 메모리를 효율적으로 관리해주는 RecyclerView를 대부분 사용한다.) # RecyclerView 특징 1. RecyclerView..
[안드로이드] 6주차: 고급 Layout과 View
·
📚 스터디/프론트엔드
BottomNavigationView - 구글에서 지원하는 View 화면 아래 쪽에서 화면을 이동할 수 있도록 해주는 {하단 버튼 View} 예) 인스타그램의 하단 버튼 뷰 # 특징 아래 버튼들이 다른 화면으로 이동해도 사라지지 않는다. # 구현 전략 Activity에 BottomNavigationView를 배치하고, 정보는 Fragment에서 보여준다. XML에 BottomNavigationView를 하단에 배치하고, Menu XML을 생성해 BottomNavigationVIew의 요소를 설정한다. BottomNavigationVIew는 앱의 활용성을 높혀준다. 앱의 일반적인 특징인 하나의 화면은 좁은 구조를 띄고있기에, 이러한 좁은 화면을 보다 효율적으로 구성할 수 있도록 도와준다. (앱 뷰의 재활용..
[안드로이드] 4주차: LifeCycle 실습
·
📚 스터디/프론트엔드
LifeCycle 실행 추적해보면서 이해하기 - Activity 실습 우선 "애플리케이션"이 LifeCycle 메소드를 이용해서 안드로이드 운영체제에 대한 예외상황을 어떻게 처리하는지 이해해보자. 그렇기에, LifeCycle 메소드가 실행되는 과정을 추적하기 위해 아래와 같은 코드를 구성했다. LifeCycle 메소드를 실행하면 Toast 메소드로 AVD에 실행된 LifeCycle 메소드 명을 출력되도록 설정해줬다. 그래서, AVD를 이용해 애플리케이션의 안드로이드 운영체제에 대한 예외상황들을 작동해보며, LifeCycle 메소드가 어떻게 실행되는지를 살펴보면 되겠다. # 테스팅 과정은 아래와 같다. {Testing 과정} 앱을 실행하면, Toast 메시지가 어떠한 것들이 출력되는지 확인 그리고, 홈버튼..
[안드로이드] 4주차: LifeCycle, 외부 작용으로의 Activity 예외처리
·
📚 스터디/프론트엔드
앱의 기본 특징 - 피할 수 없는 외부와의 상호작용 앱은 PC와 다르게 외부 작용으로부터 직접적으로 상호작용을 받는 특징이 있다. 예를들면, 휴대폰 모바일 게임 앱을 사용하다가, 외부 작용인 "전화"가 걸려오면, 진행 중인 게임이 멈추고 "전화"가 걸려온다. 그러면, 전화가 와서 전화 화면으로 화면이 바뀌게 되면, 앱에서는 어떤 동작을 해야될까? 참고로, 전화가 걸려오는 건 안드로이드 OS에서 작동하는 시스템이다. 그렇기에, OS를 수정하는 건 어려운 일.. 이에 대해선, Activity의 LifeCycle을 통해 해결한다. 오늘은, Activity LifeCycle에 대해 배워보고, 안드로이드 앱에서 외부 작용을 어떻게 처리하는지를 알아보자! Activity LifeCycle (생명주기) 란, 하나의 ..
[안드로이드] 3주차: Activity 전환 & Fragment 전환
·
📚 스터디/프론트엔드
안드로이드의 4대 컴포넌트 Activity 사용자와 직접적인 상호작용 Service 백그라운드에서 사용자에게 도움이 되는 작업을 수행 멜론 뮤직, 앱을 종료해도 실행되도록 해주는 작업 Broadcast Recevier 특정 이벤트 발생 시 앱에 알림 Content Provider 시스템이나 다른 앱 사이에 데이터 제공 및 전달 Activity 애플리케이션의 실제 동작을 구현한다. Layout : 동작을 실현할 수 있는 화면을 구성한다. 따라서, Activity는 Layout과 결합되어야 비로소 의미가 있다. Activity와 Layout을 결합하는 방법 1. findViewById 안드로이드 리소스를 관리하는 R클래스를 통해 View를 찾는다. 이때, R클래스는 XML 파일에 새로운 리소스를 기록하면 자..