프로그래밍 381

[안드로이드] 주요 이미지 라이브러리 메모리 사용량 비교해보기! (Glide vs Picasso vs Coil)

안드로이드에서 Glide, Picasso, Coil 등 선택할 수 있는 이미지 라이브러리(Image library)의 폭은 넓다. 뭐 대부분 그냥 닥치고 글라이드! 하긴하지만, 메모리 관리 측면에서 누가 젤 잘하는지 항상 속으로 궁금했다... 주말에 심심하니까 간단히 테스트 해봤다. 비교군 - Glide: 1군 - Picasso: 2인자 - Coil: 떠오르는 신예 앱 기능 앱 자체는 간단하다. 화면 하나에 엄청나게 큰 이미지 목록을 보여주는거다. RecyclerView에 Adapter를 붙이고 로드! Coil 같은 경우에는 이미지 곡선처리하는데 이미지뷰 자체가 아닌 이미지 자체를 곡선처리 해버려서 모든 라이브러리가 곡선처리는 따로 하지 않도록 RoundedImageView라는 라이브러리를 사용하여 이미..

[마크 플러그인 강의] 플러그인 개발 전 알아두어야 할 것들

취미 삼아 마인크래프트(Minecraft) 플러그인을 개발해본적이있는데, 제대로 된 국내 자료가 잘없어서 아쉬웠던 기억이있습니다. 그래서 마인크래프트 플러그인을 만들기 전에 알아둬야 할것들을 정리 해 보려고합니다. 프로그래밍 언어를 아무것도 몰라요. 그래도 되나요? Java가 그래도 쉬운 언어이기때문에 C라도 할 줄 아신다면 충분히 가능합니다. 만약에 그냥 강의만 보고 따라서 타이핑 하겠다하시면 언어를 안배우셔도 됩니다. 응용을 하는건 눈치껏..ㅎㅎ 하셔야할겁니다. 마인크래프트 플러그인 개발 툴은 무엇인가요? Java를 편하게 다룰 수 있는 툴이라면 뭐든지 됩니다. 일반적으로 InteliJ와 Eclipse를 많이 사용하는 모습을 보실 수 있는데, InteliJ가 조금더 사용하기 편리해서 그걸 추천드립니다..

IP와 Subnet

IPv4: 32bit = 8bit . 8bit . 8bit . 8bit IP = 네트워크부 + 호스트부 192.168.1.119 Example) 굵은 글자가 네트워크부 / 밑줄글자가 호스트부 IP 주소는 네트워크 부와 호스트 부로 구성되어있다. 라우터는 송신지 IP의 네트워크 부 정보를 보고 목적지가 같은 네트워크에 있는지 판단한다. 어드레스 클래스(Address class) 이 네트워크부를 어디까지 할지 고정해서 정해둔것이 어드레스 클래스다. 가능한 호스트 주소 수에서 2를 빼는 이유는 모든 비트가 0인 주소와, 모든 비트가 1인 주소를 호스트 주소로 할당하지 않는 예약된 IP 주소이기 때문이다. 십진수로는 0과 255가된다. xxx.xxx.xxx.0: 네트워크 전체 의미 xxx.xxx.xxx.255:..

[안드로이드] 예제로 알아보는 Foreground Service

들어가기에 앞서 Foreground Service를 어떻게 이용하면 좋을까요? 간단한 예제를 통해서 알아보도록 하겠습니다. 예제로 만들어 볼 앱은 가짜 음악 플레이어 앱입니다. 멜론이나 벅스, 지니 등 음악 앱을 이용하면 상단 알림창에 현재 재생중인 음악이 뜹니다. 그리고 다음곡이나 이전곡, 재생 및 일시정지가 가능한데요, 이것은 Foreground Service로 구현할 수 있습니다. 또 다른 예시로는 현재 유저가 걷는 걸음이나 거리를 측정하는 피트니스 앱이 있겠네요. 서비스에 대해 궁금하시다면 Service 전반에 대한 내용을 다룬 이전 글을 참조 해 주세요. MusicPlayer Example activity_main.xml 사진과 같은 레이아웃을 만들어 줍니다. Start Foreground Se..

[안드로이드] 서비스(Service)에 대해 알아보자

서비스란? 서비스(Service)는 백그라운드에서 오래 실행되는 작업(long-running operations)을 위한 컴포넌트입니다. 예를 들면 파일 다운로드라던지, 데이터 체크, 데이터 처리(Processing), 음악 재생, Content Provider와의 상호작용 등에 이용될 수 있습니다. 서비스의 특징 유저와 상호작용 할 수 없다. 액티비티의 생명주기에 종속되어 있지않다. 별도의 스레드에서 동작하지 않는다. 호스팅 프로세스의 "메인 스레드"에서 작동한다. 현새 비활성화된 액티비티보다 우선순위가 높다. 서비스의 종류 서비스에는 여러 종류가 있습니다. 이중 Started Service와 Bound Service를 나누어 설명하지만, 둘을 같이 쓸 수도 있습니다. 예를 들면 무한히 실행되는 바인드..

[안드로이드] Proto DataStore 사용법

원문 - medium.com/swlh/welcome-datastore-good-bye-sharedpreferences-fdeb831a1e58 - developer.android.com/topic/libraries/architecture/datastore 원문을 읽으면서 제가 공부하려고 번/의역한 것 입니다. 아직 블로그 반말을 써야할지 존댓말을 써야할지...안정해서 혼란스러운점 양해부탁드립니다...ㅋㅋㅋ 이제부터 그냥 존댓말 쓸게요. 나혼자 주저리 리뷰글이아니라면... Proto DataStore가 Preferences Data Store와 다른 점을 알아보려면 제 이전 글을 읽어주세요! - [Android] Preferences DataStore 사용법과 개념 Proto DataStore 간단 개요! ..