분류 전체보기
-
안드로이드 앱에서 Picasso와 Glide를 사용해 이미지 표시하기Android 2019. 5. 12. 17:44
안드로이드앱을 만들면서 가장 많이 마주치는 경우가 아마도 이미지를 표시하는 경우일 것이다. BMP, JPG, GIF등 다양한 포맷의 이미지를 표시하는 것은 시각적인 부분이 중요한 안드로이드 앱 개발에서 빼놓을 수 없는 부분이기 때문이다. PC용 운영체제들의 경우에는 OS 자체적으로 이러한 이미지들을 화면에 표시하는 방법을 제공하는 경우가 많았는데, 안드로이드에서도 기본적인 이미지 로딩 방법을 제공하고 있다. 그러나 앱 개발자가 기본 기능만을 활용하기에는 실제 앱개발 시나리오에 맞추어 추가적으로 구현해 주어야 할 코드의 양이 많아진다. 오래 전부터 이미지 표시에 대한 수요가 있어왔기에, 안드로이드 세계에는 여러 개의 이미지 로딩 라이브러리가 존재한다. 이번에는 안드로이드의 이미지 라이브러리들 중 가장 유명..
-
안드로이드 전체화면 (Full Screen Activity) 만들기Android 2019. 5. 12. 14:46
특정 안드로이드 앱들은 사용자에게 몰입된 경험을 주기 위해 전체 화면을 사용하는 풀스크린 형태로 만들어진다. 그런데 안드로이드 프로젝트를 처음 생성하면 기본적으로 보이는 Activity는 상단에 커다란 타이틀바가 있는 형태를 가지고 있다. 오랫만에 풀스크린 형태의 안드로이드 앱 개발을 하게되었을 때, 큼지막하게 나오는 타이틀바를 보면서 이것을 어떻게 없애야 하나 한참 고민했었다. 아주 옛날에는 AndroidManifest.xml 내부에 android:theme에 타이틀바가 없는 형태의 테마를 지정할 수 있었던 것으로 기억하는데, 해당 테마를 적용하면 호환성 문제가 있다고 워닝이 뜨는 것을 발견했다. 안드로이드는 높은 점유율에도 불구하고 짧은 기간 동안 너무 변화가 많이 일어나는 것 같다. 문제 해결 방법..
-
안드로이드 앱의 스테이터스바 및 내비게이션바 색 변경Android 2019. 5. 12. 10:48
이전 안드로이드폰은 되돌아가가기, 홈, 앱리스트 버튼이 모두 물리 키로 존재했다. 그래서 화면 안에 내용을 그리는 앱에서 이 영역에 대해 신경쓸 일이 없았다. 하지만 최근 안드로이드폰은 물리키들이 사라지고 하단에 네비게이션바가 나타나는 것이 일반적이다. 이렇다보니 네비게이션바의 색깔과 앱의 색깔이 달라서 보기가 좋지 않은 경우가 생기고는 한다. 안드로이드 앱에서 스테이터스바와 타이틀바까지 같은 색을 맞추는 방법을 알아보자. 이번에 소개하는 방법은 안드로이드 L버전 이후에만 적용이 가능한 방법이다. 1. xml을 이용하는 방법 그림에서 보듯이 앱에서 색의 이름이 지정되어 있다. 바꾸기 원하는 색상을 안드로이드 프로젝트 내의 res/values/colors.xml에 저장해주면 간단히 앱에서 원하는 색상을 지..
-
Google I/O 2019 들여다보기Analysis 2019. 5. 10. 22:37
Google I/O는 매년 열리는 구글의 개발자 대상 컨퍼런스이다. 2008년부터 시작된 이 행사는 전 세계의 개발자들이 주목하는 컨퍼런스 중 하나가 되었다. Google I/O에서 I/O의 의미는 "Input/Output"을 뜻하기도 하고, "Innovation in the Open"을 뜻하기도 한다. Google I/O는 소프트웨어나 하드웨어 둘 중 하나에 집중하는 형태로 이루어져 왔는데, Google I/O 2019에서는 2018년에 비해 더 많은 하드웨어 제품이 소개되었다. 다음은 Google I/O의 키노트 영상이다. 그럼 이제부터 Google I/O에서 소개된 내용들 중 흥미있는 항목들에 대해 크게 하드웨어와 소프트웨어로 나누어 알아보겠다. Hardware Pixel 3a and 3a XL 구..
-
Google Stadia 분석: Future(전망)편Analysis 2019. 5. 10. 19:12
Stadia's Future GDC의 Stadia 발표에서 구글이 하고 싶은 것이 단순히 기존 게임을 스트리밍하는 서비스를 통해 수익을 얻는 모델이 아닌 신규 게임 플랫폼 홀더로서 위치를 차지하기 위한 것임을 유추할 수 있다. 소니, 마이크로소프트, 닌텐도 등 기존 게임 플랫폼 홀더들과 동일선상에서 경쟁하려는 것이 그 목적이다. 그 판단 근거는 다음과 같다. Stadia 서버에 대한 대규모 투자: AMD 협력, 서버 생산, 지역별 데이터센터 구축, 전용망 대역폭 확보 게임 툴 업체와의 협력 비용: Unity, Unreal, Havok, Cryengine, etc. Stadia 신규 인력 채용 규모 Stadia Games and Entertainment 설립 비용 구글은 상당한 스펙의 Stadia 서버를 ..
-
Google Stadia 분석: Ecosystem(생태계)편Analysis 2019. 5. 10. 19:08
Stadia Ecosystem Stadia는 여러 가지 새로운 Feature들을 소개하였는데 이를 활용하기 위해서는 기존의 게임을 수정하거나 새로운 게임을 제작해야 한다. 대부분의 스트리밍 게임 서비스가 기존의 게임을 수정하지 않고 스트리밍으로 제공하는데 중점을 두는 것과는 사뭇 다른 방향이다. 개발사 입장에서는 Stadia 전용 게임 개발에 대한 비용이 발생할 수 밖에 없기에, 구글 입장에서 개발사들이 Stadia 게임을 개발하도록 유도하는 과정에 상당한 초기 비용이 들어갈 것이다. 구글은 게임 개발사들이 Stadia에 게임을 내도록 유도해야 하는 숙제를 가지고 있다. 게임 개발 생태계를 지원하기 위해 구글은 다양한 지원을 발표했다. Game Engine 현대의 게임 개발은 자체적인 게임 엔진을 보유한..
-
Google Stadia 분석: Performance(성능)편Analysis 2019. 5. 10. 19:03
Stadia Performance Stadia 발표에서 가장 놀라운 부분은 바로 런칭 시점에 4K 비디오를 60 FPS로 제공하고, 향후 8K로 확장한다는 부분이었다. 만약 구글이 발표한 성능이 스트리밍을 포함한 end to end delay라면 이 발표는 너무 심한 과장이라고 볼 수 있다. 서버에서 렌더링 처리가 완료된 시점부터 계산을 하더라도 한 장의 최종 4K 화면을 인코딩 -> 네트워크 전송 -> 디코딩 -> 클라이언트단의 렌더링하는 전체 과정이 16ms 이내에 완료되어야 한다. 버퍼링이 가능한 비디오 스트리밍에서도 달성하기가 쉽지 않은 수준인데, 버퍼링이 불가능한 게임 스트리밍에서 현재의 네트워크와 장비를 이용해 이와 같은 성능을 보이는 것은 굉장히 어려운 일이기 때문이다. 스트리밍 솔루션을 구..
-
Google Stadia 분석: Specification(사양)편Analysis 2019. 5. 10. 19:00
Stadia Specifications Stadia는 클라우드 서버를 그 근간으로 하고 있다. 현대의 클라우드 서버는 여러대의 서버 인스턴스를 모아놓은 랙과 이 랙들이 모여있는 거대한 룸의 형태로 이루어져 있는데, 그 하나의 서버 인스턴스를 블레이드 서버라고 지칭한다. 책장에 꽂힌 책들처럼 여러 대의 블레이드 서버가 모여 클라우드 서버를 구성한다. 구글은 Stadia를 구성하는 블레이드 서버의 하드웨어 사양을 다음과 같이 발표했다. GPU CPU Memory 10.7 Teraflops 56 compute units HBM2 Memory Custom x86 Processor 2.7 GHz Hyperthreaded AVX2 16 GB of total RAM Up to 484GB/s transfer speed..