What’s new in Android – Google I/O 2016

[환호와 박수] 체타마, 제가 도입부에 대해 조금 긴장하고 있다는 걸 말씀 드리고 싶네요 이걸 정말 제대로 리허설을 했는지 모를 정도로 말이에요 [웃음] 이건 완전히 즉흥적으로 진행될 거예요 제가 여기서 얘기하는 것에 대해 끊임없이 반복해서 연습하긴 했지만요 굉장히 즉흥적인 강연이 될 거예요 특히 이 도입부가 정말로 걱정되네요 안녕하세요, 안드로이드의 새로운 점을 보러 오신 분들을 환영합니다 [환호와 박수] 이곳까지 오셔서 정말로 감사드립니다 해안선에서 가장 작은 공간에서 강연을 하게 되어서 죄송합니다 사실이에요 설 수 있는 자리가 마련되어 있고요 만약 옆자리가 비어있다면 손을 들어 주세요 다른 분들이 비어있는 자리를 찾을 수 있게 말이에요 그러면 좋겠네요 저는 안드로이드 UI 툴키트 팀의 쳇 하제입니다 저는 안드로이드 시스템 UI 팀의 댄 샌더스입니다 저는 안드로이드 팀에 있는 로만 가이입니다 다시, 한번 더 한번 더 [환호와 박수] 하지만 쳇의 팀에 있지는 않아요 절대로 들어가지 않을 거예요 아뇨, 아뇨 [웃음] 그 반란은 성공적이었다고요 다시는 그런 문제를 반복해서 일으키지 않을 거예요 자, 오늘 우리는 안드로이드의 새로운 점들에 대해서 얘기할 거예요 특별히, 프리뷰가 진행되고 있기 때문에 N의 새로운 점에 대해서 얘기해 봅시다 아니면, 안녕하세요 이걸 보시죠 우리는 이걸 안드로이드의 새로운 점이라고 했어요 사실 우리는 이걸 이렇게 불러야 해요 안드로이드의 새로운 것 같은 점이라고요 이러한 것들에 대해서 이미 어느 정도는 얘기를 나누었고 바라건대, 모든 분들이 프리뷰에서 들었으리라 생각하고 이러한 것들을 사용하며 버그를 신고하고 새로운 특징과 기능을 사용하고 있으리라고 말이죠 그래서 이러한 점들을 볼 거고요 개발자 프리뷰3에서 더욱 새로운 점들에 대해서 그리고 다른 관련된 점들에 대해서 얘기를 나눠볼 거예요 자, 시작해 봅시다 가장 중요한 질문으로 N이 무엇을 나타내는 걸까요? 제 생각에는 말이죠 러시아어로 생각해 봤어요 물론 니엣(nyet)은 아직 또는 말하지 않을 거라는 걸 뜻하지만 현재 이것이 뜻하는 것은 N 프리뷰에요 좀 더 자세히 말해서 N 프리뷰 3를 뜻하는 거죠 이러한 특징에 대해서 관찰하게 되는 다양한 관점과 분석으로 인한 의견이 많지만 사용자들이 실제로 보게 되는 관점과 개발자들의 측면에서 보게 되는 것을 함께 얘기하는 게 좋을 것 같다고 생각했어요 그리고 개발자들이 접하게 되는 특징에 대해서 얘기를 할 거예요 그러한 특징을 이용해서 실행할 때와 그 뒤에 있는 코드에 대해서 말이에요 데모를 이용해서 시작해 보겠습니다 [환호] 그래요 콘스트레인트 레이아웃에 대해서 얘기를 할 거예요 오늘 오전에 있었던 기조연설에서 잠시 언급이 됐었죠 스테프가 이에 대해서 말했어요 로만이 이것이 어떻게 실행되는지 보여드릴 거예요 자, 콘스트레인트 레이아웃은 안드로이드에 있는 완전히 새로운 레이아웃이에요 언번들 라이브러리가 될 거예요 프레임워크를 업데이트 하지 않고도 여러분의 앱에 통합시킬 수 있는 거죠 진저브레드까지 전부 호환이 가능해요 여러분이 원하는 모든 앱에서 사용할 수 있어요 여기에 있는 것은 자체적인 툴과 함께 고안된 첫 번째 레이아웃이에요 안드로이드 레이아웃 매니저를 만들면서 또한 안드로이드 스튜디오의 사용자경험을 고안하는 거예요 기조연설에서 간단하게 보셨겠지만 이게 약간 보기 어려웠어요 자동적으로 제한을 나타내는 시스템을 가지고 있으니까요 새로운 시스템에는 레이아웃을 만들 수 있는 여러가지 방법들이 있어요 예를 들어, 여기에서 저는 버튼을 가지고 있어요 보시다시피 움직일 수 있고 여러분에게 가이드라인을 제공하죠 머티리얼 디자인의 가이드라인이 있는 폴더를 보여주고 있는데요 다양한 위젯사이에서 여러분이 사용해야 하는 올바른 여백을 나타내주고 있어요 위젯사이에 있는 올바른 여백과 화면의 가장자리를 보여주고 있죠 이제, 두 번째 버튼을 추가하면 여기에 있는 두 개의 버튼에 제한을 둘 수 있어요 이제 나란히 정렬되어 있죠 새로운 레이아웃 편집기에서 정말로 효율적인 것은 1초마다 60개의 프레임으로 안드로이드 스튜디오에 있는 안드로이드 레이아웃 이면에서 알고리즘을 작동시킬 수 있다는 거예요 그래서 제가 첫 번째 버튼을 옮기게 되면 여러분도 실시간으로 보시겠지만 레이아웃이 모든 제한을 변형시키는 지 보이실 거예요 이로 인해서 현재 상황에 대해서 훨씬 더 빠르게 많은 피드백을 줄 수 있어요 제한을 두기 전 상태를 보여드릴 수도 있어요 이 제한을 드래그하면서 화면의 가장자리로 당겨서 마우스에서 손을 놓기 전의 모습을 여러분에게 보여드릴 거예요 어떤 일이 일어날지에 대해서 애니메이션으로 보여드릴 건데요 이러한 제한을 두게 되면 렐러티브 레이아웃 뷰를 사용하는 분들이 물론 있으실 건데요 추가적인 위젯을 보내게 되었을 때 때때로 발생하는 상황에 대해서 놀라신 분들도 있을 겁니다 모든 것들이 갑자기 화면에 있는 다양한 위치로 이동하게 되죠 이제는 그런 일이 없어요 그래서 정말 빠르게 더 많은 제한을 생성할 수 있고 제가 가진 두 개의 버튼을 하단에 추가할 수 있어요 오토커넥트를 사용하셔도 됩니다 오토커넥트를 활성화 해서 새로운 버튼을 화면에 두면 예를 들어, 가이드라인을 보시게 되면 화면에 중심에 있죠 이곳에 제 버튼을 놓겠습니다 그러면 시스템에서 자동적으로 저를 대신하여 제한을 생성해줍니다 그래서 저는 제한을 따로 생성하지 않아도 되죠 물론 그 다음에 제한을 수정할 수 있어요 규모를 유동적으로 수정할 수 있어서 모든 공간을 다 차지하게 해도 되고요 아니면 그 반대로도 가능하죠 백분율을 기반으로 하여 위치를 정할 수도 있어요 여기에서는 버튼이 중심에 놓여 있지만 만약에 여러분이 다른 위치를 원한다면 예를 들어, 화면 상단의 25%가 될 수 있어요 여러분의 화면 크기에 맞춰서 조절이 될 거예요 이외에 다른 특징들에 대해서 금요일 오전 9시에 데모를 보여드릴 거예요 예를 들어, 종횡비에 대해서 다룰 거예요 여러분의 위젯을 항상 1:1의 종횡비나 16:9로 원하는 대로 설정할 수 있어요 그리고 마지막으로, 이러한 특징도 기조연설에서 짧게 다뤄졌는데요 여러 가지 위젯을 화면에 두겠습니다 상단에는 텍스트 필드를 두고 레이블에는 텍스트뷰를 넣을 거예요 여기에 있는 위젯의 위치는 제가 원하는 방향에 맞춰서 꼼꼼하게 배치할 거예요 모든 제한은 다 제거하겠습니다 이제, 여기에 있는 필드 레이블 아이콘을 클릭하면 제가 여기에서 의도한 바를 파악할 거예요 그리고 제 레이아웃이 작동할 거예요 이건 잠겨지는 게 아니에요 계속해서 제한을 추가할 수 있어요 행위를 계속해서 변경해도 되고요 다른 위젯을 추가할 수도 있고 자동 추론을 다시 실행할 수도 있어요 여러분은 이러한 과정을 처리할 권한을 가지고 있어요 여러분의 UI를 도울 수 있고 빠르게 만들 수 있도록 말이에요 [박수] 고마워요, 로만 그리고 죄송해요, 한 가지만 더 말씀 드릴게요 이건 프리뷰에요 우리는 알파1이라고 부르죠 개략적으로 설명 드리는 거예요 안드로이드 22 프리뷰를 다운로드 하셔서 직접 사용해보시고 버그를 신고해주세요 제가 직접 버그 트래커를 사용해서 볼 거예요 그리고 엔지니어들을 마구 괴롭혀서 대다수의 버그를 고칠 수 있도록 할 거예요 더욱 많은 것들이 나올 거고요 지금은 아직 작업 중에 있습니다 지금 나온 레이아웃과 레이아웃 편집기가 최종 버전이 아니라고 말씀 드리고 싶어요 마지막으로 질문이 있어요 얼마인가요? [웃음] 100킬로바이트요 좋은 건가요? [웃음] 그러면 쳇에게는 얼마죠? 4백만 달러요 [웃음] 좋아요, 이걸 사용해보시길 바랍니다 피드백을 제공해주세요 슬라이드로 돌아가보겠습니다 정말로 멋진 데모였지만 슬라이드로 다시 돌아가볼까 해요 잘 해보시길 바랄게요 좋아요 멀티윈도, N에서 눈에 띄는 변화 중에 하나이죠 한번에 화면에서 다수의 활동을 할 수 있는 기능이지요 여러분이 볼 수 있는 두 개의 주요한 모드에요 하나는 나란히 정렬되어 있는 분할 화면이고 위에서 아래로 수직으로 분할시킬 수도 있어요 최근 버튼을 보면 여기에서 동영상 캡쳐 기능을 볼 수 있습니다 최근에서 이 기능을 드래그해서 화면의 한쪽에 놔둘게요 그 다음으로 하는 일은 화면의 나머지 반쪽에 있죠 그 다음활동을 하기 위해서는 하나를 탭하기만 하면 되요 드래그를 하다 보면 윈도우 매니저에서 제가 손을 떼기 전까지는 단순히 배경색으로 빠르게 보여주고 있어요 그렇게 하면 전체적인 환경설정을 할 수 있는 거죠 여러분의 앱에 대해서 색다르게 생각하는 거예요 안드로이드 레이아웃의 마술이죠 환경설정을 변경하는 방법을 알아봤습니다 새로운 크기에 맞춰서 레이아웃을 조정하는 법도 알아봤어요 화면의 폼 팩터에 대해서도 봤고요 윈도우 매니저는 이러한 것들을 기반으로 하여 만들어졌어요 여러분이 새로운 사이즈와 나란히 정렬되는 레이아웃을 이용하여 앱이 간단하게 작동될 수 있도록 하실 수 있어요 직접 사용해보시고 테스트 하세요 나란히 정렬시키는 모드 또는 분할 화면 모드를 여러분이 원하는 대로 선택하여 이용해보시길 바래요 필요하시면 API도 사용해보세요 선별하셔서 사용하시면 됩니다 기본값으로 선택할 수 있도록 자동적으로 설정되어 있어요 만약 여러분이 크기 조정이 가능한 활동을 원하지 않으신다면 기본값과 최소한의 사이징으로 정할 수 있는 몇 가지 매개변수가 있습니다 여러분이 소리를 듣고 시스템에서 멀티윈도 모드가 작동되는지 혹은 현재 멀티윈도 모드를 사용하고 계시는지 알 수 있도록 하는 몇 가지 API도 있습니다 그리고 마지막으로, 여러분이 멀티윈도 모드를 사용하고 있고 또 다른 하위활동이 나란히 보여지도록 만들면서 실행시키고 싶다면 하위활동이 인접할 수 있도록 요청하면 됩니다 직접 이걸 확인해보시길 바랍니다 픽쳐 인 픽쳐 모드에서도 확인해보세요 안드로이드 TV에 있는 멀티윈도 모드의 또 다른 기능입니다 이제 여러분은 픽쳐 앤 픽쳐에서 활동을 할 수 있는 기능을 사용할 수 있습니다 비디오를 완전히 재생시키면서 사용자가 보는 컨텐츠를 선택할 수 있는 런처와 같은 다른 활동을 동시에 사용할 수 있습니다 전면에 비디오를 재생시키는 동안에 말이죠 이러한 두 가지 특징보다 더 많은 것들이 있습니다 오늘 오후 4시에 멀티윈도 세션에 참여해보시길 바랍니다 픽쳐 인 픽쳐 모드에 보면 몇 가지 활동을 더 할 수 있는데요 멀티윈도 모드에서 본 것과 굉장히 유사해요 이렇게 진행되는 것들을 볼 수 있고 어떤 일을 할 수 있는지 볼 것입니다 새로운 드래그 앤 드롭 기능이 있어요 적어도 진저브레드 이후부터 드래그 앤 드롭 플랫폼을 가지고 있었는데요 이제는 이것이 기능으로 추가되었습니다 이제 여러분은 멀티윈도 모드를 사용하기 때문에 하나의 활동에서 다른 활동으로 드래그해서 이동시키는 것이 좋지 않을 까요? 이전의 드래그 앤 드롭에서는 허용되지 않는 기능이었어요 그렇게 할 필요가 없었으니까요 하지만 이제는 콘텐츠를 다양한 활동들 앞뒤로 이동하면서 드래그 할 수 있어요 몇 가지 API와 이러한 기능을 이용할 수 있도록 몇 가지를 추가했어요 여기에서 몇 가지 API를 볼 수 있습니다 대다수는 승인에 관련된 거예요 패스워드 필드에서 여러분의 활동으로 복사하고 싶지 않은 활동이 있을 수도 있으니까요 아니면 여러분의 활동으로 인기 있는 동영상을 옮기고 싶지 않을 수도 있고요 그러므로 올바른 승인을 받기 위해서 앞뒤로 주고받는 과정이 이루어집니다 동작을 시작하거나 드래그 셰도우를 업데이트하는데 매우 부적절한 이름이 있다면 동작을 실행하는 동안에 취소할 수 있는 방법이 항상 있어요 사실상 여기저기로 드래그되는 콘텐츠의 섬 네일을 나타내는 거예요 여러분이 원하는 걸 업데이트 할 수 있게 말이에요 셰도우 표현으로 애니메이션을 나타내고 싶으시면 계속해서 업데이트할 수 있어요 오, 그렇군요 그렇게 하고 싶으시다면 말이죠 동영상 캡처를 간단하게 보자면 여기에서의 동작을 볼 수 있어요 어디 봅시다, 그래요 이건 우리가 내부적으로 가지고 있는 몇 가지 데모에요 이건 곧 기사로 공개될 것이고 그러면 외부에서 작동할 수 있어요 승인이 필요 없는 것과 승인을 받아야 하는 것들을 드래그하고 앱 사이로 드래그할 수 있는 기능을 사용하는 것에 대한 기본적인 상호작용을 보여드렸어요 다음으로 넘어가겠습니다 알림 기능이 있어요 자, 바라건대 여러분 모두 이에 대해서 얘기하는 걸 보셨을 거예요 그리고 이제 제가 이 부분에서 15분간 설명을 할 건데요 알림 기능에 대해서 정말로 멋진 모든 부분들에 대해서 얘기할 거예요 끼어들지 마세요 지금은 제가 말하는 시간이니까요 그러니 내일 오전 9시에 다시 방문해주시길 바래요 기조연설에서 본 안드로이드와 안드로이드 웨어2

0에 있는 알림 기능에서 정말로 멋진 새로운 점들에 대해서 자세하게 알아볼 거니까요 그러니까 저는 클릭커를 이리 줘봐요 아뇨, 아직 끝나지 않았어요 있어봐요 [웃음] 저는 여러분이 아셨으면 하는 몇 가지에 대해서 설명 드리고 싶은 거예요 조금 더 알아보고 싶다면 개발자 문서를 확인해보세요 먼저, 새로운 템플릿을 최초로 보여드릴게요 허니콤 이후에 처음으로 공개하는 거예요 약간의 머터리얼 업데이트를 하고 몇 가지만 출시하긴 했지만 몇 가지 새로운 템플릿은 어느 정도 이동을 할 수 있고 앱에 새로운 속성을 만들 수 있어요 알림에 보낼 수도 있고요 이렇게 하면 누군가 어떤 걸 올렸는지 바로 알 수 있어요 번들 알림 기능도 있어요 원래 안드로이드 기어에서 개발했던 기능이죠 마침내 휴대폰과 태블릿에서도 이용 가능해요 몇 가지 알림들을 하나로 묶을 수 있는 기능이죠 바로 답장 기능도 있어요 답장버튼을 클릭하고 글을 쓰면 텍스트가 바로 나타나요 다시 말씀 드리지만 안드로이드 웨어에서는 이미 있었던 기능이에요 시계를 이용하여 얘기할 수 있고 메시지를 보낼 수 있죠 이제는 닫힌 화면에서도 그렇게 할 수 있는 거예요 사용자가 그러한 기능을 설정하면 말이죠 시스템 UI에 관련된 것들에 대해서 설명하고 있는데요 빠른 설정에 대해서 설명 드리고 싶네요 사용자들이 오랜 기간 동안 요청해온 기능이 마침내 나오게 되었는데요 편집 가능한 기능이에요 여러분이 원하는 대로 빠른 설정에 있는 메뉴를 추가하거나 제거할 수 있어요 사실 이 기능에는 더욱 빨라진 빠른 설정이라는 이름도 지어졌어요 제가 방금 지어내긴 했지만요 더욱 빨라진 빠른 설정은 다섯 가지로 이루어진 목록인데요 여러분이 언제든지 볼 때마다 알림 목록의 상단에서 나타나는 빠른 설정으로 다섯 가지가 있습니다 원하시는 다섯 가지의 기능을 빠른 설정으로 이동하면 한번의 터치로 바로 사용하실 수 있습니다 언제든지 여러분이 알림을 볼 때 말이에요 [박수] 잠시만요 그게 다가 아니에요 집에서 이 영상을 보고 계시는 개발자들이 있으시다면 아시다시피 프리뷰 후반이 되면 여러분이 고유의 빠른 설정 타일을 만들 수 있어요 안드로이드N을 사용하는 모든 사용자들이 사용할 수 있어요 그러니 타일서비스에서 API문서를 한번 보시길 바래요 빠른 설정 타일에 대한 전체 라이프사이클을 생성할 수 있어요 언제 사용자가 타일을 목록에 추가하고 언제 타일이 실제로 보여졌는지 확인할 수 있죠 라이브 업데이트가 필요하다면 그렇게 할 수도 있어요 그리고 물론 가장 중요하게도 사용자가 타일을 클릭했을 때 무엇을 할지도 알 수 있어요 getQsTile을 호출하면 타일 오브젝트에서 포인터가 나타나고 여러분의 모든 상태를 보여주며 아이콘의 변경, 이름의 변경과 동작 상태로 들어가고 나올 수 있도록 허용하여 리소스의 사용 가능 여부에 따라서 밝기를 이용하여 알려줍니다 모든 변경사항을 적용하고 난 뒤에 업데이트타일을 호출하는 것을 잊지 마세요 여러분만의 설정을 맞추기에 완벽한 방법이에요 잠금 화면에서 접근을 하기를 원하는 사용자들을 위한 앱의 몇 가지 빠른 기능이에요 만약 여러분이 스마트 홈을 만드느라 바쁘시다면 여러분에게 가장 먼저 필요한 것은 휴대폰에서 쓸 수 있는 빠른 버튼이에요 클릭하기만 하면 집에 도착하는 즉시 여러분의 테마 음악을 재생할 수 있어요 이렇게 하기 위해서 빠른 설정이 만들어졌어요 마지막으로 여러분이 해야 할 일은 매니페스트에서 나머지 작업을 하는 거예요 시스템 UI에서 여러분의 빠른 설정을 인식하고 어떻게 다룰지 알 수 있도록 하기 위해서 모든 것들에 대해서 올바르게 승인 받도록 신경 쓰시길 바래요 화면 사이즈에 대해서 얘기를 해볼게요 이건 사실 접근성에 관련된 기능이에요 폰트 크기를 늘리고 심지어 대체할 수 있도록 N에 도입한 기능이에요 폰트 크기는 안드로이드에서 오랫동안 사용할 수 있었던 기능이에요 개발자들이 ASPI에서 고유의 활자체를 명시하게 되면 사용자가 선택한 폰트 크기에서 크게 증가하여 사용자들이 이에 관련된 도움을 요청하거나 화면에서 전체적인 텍스트를 봤으면 좋겠다는 얘기를 하게 됩니다 하지만 개발자들도 아시다시피 ASPI는 굉장히 제한적이잖아요, 그렇죠? 폰트 크기를 기반으로 해서 레이아웃을 변경하지는 않아요 이를 해결하기 위해서 랩 콘텐츠를 사용하면 됩니다 하지만 시스템에는 특정한 부분들이 있어요 예를 들면 [헛기침] 알림 기능 [헛기침] 이러한 기능은 알림 기능과 잘 맞지 않아요 구조의 크기가 모든 추가적인 텍스트를 수용할 수 있도록 변경되지 않기 때문이에요 안드로이드 N에서는 디스플레이 크기 기능을 가지고 있어요 표시창 설정 단추에 가서 클릭을 하면 런타임에서 장치의 dpi를 변경시켜요 장치에 있는 모든 UI에서 단지 텍스트뿐만 아니라 새로운 밀도를 가지도록 변경할 수 있는 새로운 방법이에요 여러분은 모든 걸 크게 확장하거나 여러분이 가지고 있는 작은 화면에 맞춰서 매우 작은 크기로 축소할 수 있어요 085에서 거의 1과 1/2까지 설정할 수 있어요 이제는 제가 말하지 않아도 아실 거라 믿어요 하지만 레이아웃에서 px는 피하시길 바래요 이게 장치의 밀도를 변경하는 것이기 때문에 레이아웃에서 dps를 사용할 때 증가되거나 다른 계산을 사용할 수 있거든요 그 다음으로 여러분이 원했던 것을 보여드릴 거예요 비디오를 이용해서 바로 보여드리면서 정말로 명확하게 여러분의 앱이 sw320p에서 정말로 잘 작동되는 것을 보실 수 있을 거예요 많은 분들이 커다란 화면을 가진 휴대폰을 사용하고 있는 걸 알고 있지만 작은 화면을 가진 휴대폰을 쓰시는 분들도 계시니까요 갑자기 사용자가 밀도를 바꾸게 되면 화면이 곧바로 sw320dp로 바뀌게 될 거예요 이제 여러분의 앱을 조금 더 우아하게 만들어 보겠습니다 여기에 있는 비디오에서 어떻게 할 것인지 보여줄 건데요 이건 라이브 리사이즈에요 화면 크기로 들어가서 슬라이더를 움직이면 더 커지고 작아지죠 모든 것들의 크기가 변경되는 것을 볼 수 있을 거예요 텍스트뿐만 아니라 내비게이션 바, 상태 바 그리고 모든 다른 것들이 변경됩니다 사실 지금 이 부분에서 문제가 생겼어요 기본크기가 원래 이렇게 보이고 폰트 크기를 바꾸게 되면 다른 것들도 커져야 하는데요 하지만 변경되지 않았어요 하지만 화면 크기는 모든 걸 변경시킬 수 있죠 이제 여러분은 휴대폰에서 모든 정보들이 여러분에게 적절하게 보여질 수 있도록 UI의 모든 부분들을 더욱 크게 혹은 더욱 작게 만들 수 있어요 로컬에 대해서 얘기를 해볼게요 자, 해봅시다 좋습니다 고마워요, 댄 멀티 로컬 [박수] 아뇨, 아뇨 아직 안 끝났어요 [웃음] 정말로 보기에 놀라운 것은 객석에서 차양을 따라서 비어있는 좌석의 구조와 형태에요 뒷자리에 앉으면 정말로 덥죠? 이래서 360 피드로 봐야 해요 [웃음] 네 라이브 스트림으로 집에서 보면 덥지 않죠 집에서 영상을 통해서 보시는 분들을 위해서 멀티 로컬에 대해서 얘기하겠습니다 이건 정말로 많은 요청을 받았던 기능이에요 제가 속한 국가에 있는 사람들이 아니라 하나의 언어 이상을 사용하는 사람들이 요청했더군요 [웃음] 진짜에요 이런 말을 많이 들었어요 사람들이 절 좋아한다고요 그리고 이런 분들에게는 UI를 다루는 것이 매우 힘들 수 있어요 때때로 적절한 리소스가 없거나 다른 문제가 있을 때 여러분은 몇 가지 콘텐츠나 앱이 여러분이 선호하는 언어로 알려주거나 다른 시스템 기본값보다는 다른 대비책을 가지기를 원해요 다양한 언어로 설정하고 다룰 수 있는 로컬을 설정하고 싶은 많은 상황들이 있어요 이제는 그렇게 할 수 있습니다 이제 여러분은 이러한 다양한 언어를 선택할 수 있을 뿐만 아니라 여러분이 원하는 대로 장치에서의 보여지는 순서를 설정할 수 있어요 그리고 여러분은 또한 새로운 언어와 우리가 추가한 별어를 넣을 수도 있어요 작은 동영상 캡쳐 기능이 여기에 있고요 여러분이 여기에서 선택할 수 있어요 언어로 들어가면 저는 하나의 언어만 선택했는데요 왜 그랬는지는 모르겠지만요 여기에서 Deutsche를 선택하겠습니다 이건 네덜란드어가 아니라 독일어를 뜻합니다 참고하시길 바래요 저는 리히텐슈타인 변화를 선택했는데요 재미있을 것 같아서 골랐어요 그리고 순서를 다시 정렬해서 이걸 첫 번째에 놓을게요 이렇게 하니 제 UI를 읽을 수가 없네요 이제 독일어가 전체적인 시스템의 주 언어가 되었기 때문이에요 멀티 로컬이었습니다 이걸 사용해보시길 바래요 도즈 모드에 대해서 얘기해볼 거예요 이미 마쉬멜로우에서 도즈 모드가 있었는데요 간단하게 검토만 하겠습니다 시스템 상태를 다루는 직원의 다이어그램을 가져와봤는데요 이걸 보시게 되면 바로 아실 것 같았어요 다이어그램을 바로 여러분에게 보여드리겠습니다 도즈 모드가 무엇인지 곧바로 이해하시게 될 거예요 이건 좀 뻔한 것이긴 하지만 하지만 하이라이트를 사용하고 몇 가지를 지목하여 중요한 부분을 표시했어요 도즈 모드는 화면이 꺼진 이후에 작동됩니다 장치가 정지된 상태이고 배터리로 작동될 때에 나타나죠 얼마 동안 작동하고 있다가 도즈 모드로 들어가게 되요 여기에 보시면 초록색으로 표시되어 있는 부분들이에요 그리고 여기에는 관리 창이 있어요 갑자기 활동이 허용되어서 시스템에 참여하고 있는 거예요 관리 창에서 일반적인 것들을 실행하고 있는 거예요 그리고 여기에서 다시 반복되는데요 여기에 있는 관리 창 사이에서 기하급수적으로 소요 시간이 늘어나요 이렇게 반복적으로 일어나고 그 사이에는 도즈 모드가 있어요 이러한 활동이 발생되지 않는 시간이죠 네트워크 활동이 없고요 지연된 작업과 싱크도 없어요 웨이크록도 없죠 전부 좋아요 배터리가 더욱 오랫동안 지속되게 하죠 이 화면을 보면 다 알 수 있지만 계속 진행하면서 N에 대해서 얘기해볼게요 N에는 이렇게 모든 것들이 있지만 추가적으로 경량인 부분들도 있어서 도즈 모드에서는 이제 정지할 필요가 없어요 사람들의 주머니에서 오랜 시간 동안 있으면서 사용되지 않은 채로 있으니 활동으로 인해서 많은 배터리를 사용하지 않는 게 좋지 않을까요? 정지되지 않은 채로 있는 부분을 발견하여 잠시 동안 기다린 다음에 도즈 모드로 들어가게 되요 그리고 관리 창이 실행되고요 마쉬멜로우처럼 제한적이지는 않지만 그와 비슷한 개념을 가지고 있는 것이죠 여기에서도 보면 바로 알 수 있어요 다이어그램에서 유사한 구성 요소에서는 비슷한 색상을 가지고 있다는 게 보이실 거예요 즉, 유사하게 도즈 모드에 들어간다는 걸 뜻해요 그리고 비슷한 바코드 형태도 있죠 이것 또한 마찬가지에요 [웃음] N에 있는 기능을 다시 정리해보면 제가 방금 말씀 드린 경량 도즈가 있고요 사실상 이미 기능의 수퍼세트에요 장치가 정지된 상태이면서 동시에 경량의 기능을 가지고 있는 모든 기능이 N에 있어요 다이어그램을 이렇게 합친 것보다 더욱 제대로 된 기능을 만들면 이렇게 보이겠죠 [웃음] 제가 말씀 드렸다시피 이건 좀 뻔한 거예요 [박수] 몇몇 사람들은 제가 단어를 좀 더 사용해야 한다고 얘기해요 빨리 넘어가도록 할게요 마쉬멜로우에서 여러분이 장치를 가지고 있고 화면은 꺼져있어요 배터리로 작동하죠 정지된 상태이고 동시에 여러분은 네트워크를 사용하는데 제한되었고 지연된 작업 싱크, 알람이 있고 웨이크록은 없어요 N에서 다음과 같은 기능을 가지고 있고 서비스가 제한되어 있고 경량이에요 하지만 정지된 상태일 필요가 없어요 여러분의 주머니나 다른 곳으로 이동해서 사용해도 됩니다 그러면 여러분에게 덜 제한적이게 되죠 백그라운드 활동이 있기 때문에 동시에 실행되는데 있어서는 여전히 유효해요 오늘 오후 5시에 진행되는 배터리와 메모리 최적화와 강연에 참여하셔서 시스템 상태와 더 많은 것들에 대해서 알아보세요 시스템 상태에 관련해서 말이 나왔으니 스벨테 프로젝트에 대해서 말씀 드리겠습니다 최근에 제품들을 출시했을 때 시작된 프로젝트에요 시스템에서 배터리를 크게 소모시키는 것이 무엇인지 알아내고 앱에서 고쳐야 하는 것들과 필요한 것들을 해결하기 위해서 플랫폼에서 어떻게 할 수 있는지 개발자들에게 알려주기 위해서 만들었는데요 결국 완성해냈습니다 N에서, 이제는 다음과 같은 동작을 더 이상 겪지 않아도 됩니다 물로 이러한 동작들이 그리울 수 있어요 하지만 이제는 보내야 합니다 조사과정 속에서 이러한 상황들을 우리는 발견했어요 팀이 하고 있는 일 그리고 연결성과 관련하여 어떤 일이 발생할지 메시지가 발송되고 이러한 모든 동작들이 활성화 되도록 만들었어요 사용자들이 와이파이 네트워크가 변경됐을 때를 정말로 알고 싶어 하더라고요 그래서 회사 안에서 걸어 다니면서 한 라우터에서 다른 라우터로 옮기면서 모든 활동들을 활성화 할 수 있어요 그렇게 되는 거예요 그 다음은 뭘 해야 할까요? 아무것도 없어요 그리고 다시 자러 갈 거에요 그 동안에 시스템에서는 스래싱을 하고 있어요 전부 다 활성화되어 있으니까요 한 번에 메모리로 다 들어갈 수 없기 때문에 오래된 것부터 정리해서 새로운 파일이 시작될 수 있도록 하는 거예요 그리고 이렇게 지긋지긋한 스래싱이 시작되는 거죠 비슷하게도, 새로운 비디오나 새로운 이미지를 사용자가 촬영하면 그러면 여러분의 휴대폰에 있는 사용 내역 앱에서 결정을 내려요 오, 새로운 이미지에 대해서 인식하려고 하네요 사용자가 영수증을 사진으로 찍었을 수 있으니까요 그래서 활동이 관련된 40개의 파일과 함께 활성화되죠 그리고 여러분이 고양이의 이미지를 찍었기 때문에 그 사진에 대해서 인식할 것이 없다는 걸 알게 되면 다시 비활성화가 되요 트래싱과 비슷하죠 왜 우리가 그러한 기능을 줄이면서 단순히 이러한 전달 과정을 없애고 사용자의 편의를 위하여 배터리를 연장시켜 장치의 수명을 더욱 늘리지 않았을 까요? 대신에 새로운 접근을 이용했어요 잡스케줄러를 사용했죠 우리가 최근의 출시에서 얘기를 나눠본 주제에요 특히 새로운 API가 있는데요 콘텐츠를 변경에 대해서 요청을 허용하는 기능으로 여러분의 주의를 기울였으면 해요 곧바로 실행되지는 않아요 이전의 접근에 관련하여 문제가 있거든요 하지만 작업이 스케줄에 들어가기만 하면 새로운 미디어에 대해서 여러분이 알 수 있을 거예요 다시 말씀 드리지만, 배터리와 메모리 최적화 세션에서 더 많은 것을 알아보시길 바래요 그러면 앱은 여러분이 고양이 사진을 찍을 수 있도록 허용하겠죠 네 [웃음] 그럴 거예요 알고 보니 [청취불가]가 사용내역에 유효한 사진이었던 거죠 네, 좋은 지적이에요 고마워요 데이터 세이버는 사용자들에게 몇 가지 기능을 가능하게 만들어줘요 [청취불가] 장치에게, 그러니까 시스템에 특정한 앱이 사용하는 데이터의 양을 제한하도록 알릴 수 있어요 제가 살고 있는 이곳에서는 와이파이에 대해서 그다지 신경을 쓰지 않는데요 저는 데이터 플랜을 사용 중이고 데이터가 무제한이라서 그렇게 중요한 게 아니에요 물론, 전 세계적으로 보면 그렇지 않죠 네트워크 접근에 대해서 정말로 큰 비용을 부과해야 할 수도 있으니까요 아니면 정말로 속도가 정말로 느릴 수도 있고요 모든 사람들이 가지고 있는 제한된 대역폭이나 요금제로 사용 중인 대역폭을 다 사용하길 원하지 않으실 거예요 그래서 우리는 사용자들이 데이터 사용을 관리할 수 있는 기능을 제공합니다 더 적은 데이터를 사용하도록 알려줄 뿐만 아니라 특정한 앱에서 데이터 사용을 허용하거나 제한 또는 허용하지 않는 거죠 시스템 설정에 들어가면 이제는 여러분이 이걸 각각의 앱에 기반하여 토글하면 되는 거예요 개발자의 측면에서 보면 여기에 주의를 기울여야 한다는 거겠죠 여러분의 앱이 언제든지 제한될 수 있으니까요 이러한 것이 이루어지는 지에 대해서 여러분이 알아낼 수 있는 메커니즘이 시스템에 있으니 여러분은 접속 서비스에 대해서 문의하여 여러분이 A, 사용하는 만큼 계산되는 요금제 네트워크에 있는지 B, 백그라운드 접근이 사실상 제한되어있는지 알 수 있어요 다이렉트 부트, 안드로이드 N에서 제가 가장 좋아하는 특징 중의 하나에요 여러분의 장치에 PIN 코드를 설정해놓으면 장치는 암호화될 것이고 몇 가지 이유로 인하여 재시동되면 업데이트를 했거나 자동업데이트를 했을 수도 있고 아니면 즉흥적으로 재시동을 했을 수도 있죠 그렇게 되면 때때로 장치에서 PIN 코드 화면으로 나타날 수도 있어요 여러분이 PIN 코드를 입력해야 하죠 그렇게 되면 여러분은 문자 메시지나 이메일 또는 전화를 못 받을 수 있어요 하지만 지금의 시스템에서 다른 점은 여러분에게 PIN 코드를 요청하기 전에 잠금 화면으로 나타나면서 시동될 것이에요 여러분이 PIN 코드를 입력하고 몇 가지 앱이 작동시키고 다이렉트 부트 모드를 작동시킬 수 있는 여러분의 앱을 등록시킬 수 있을 때까지 말이에요 즉, 잠금 화면에서도 여러분은 몇 가지 기능에 접근할 수 있는 거예요 전화를 받거나 메시지를 받는 기능 말이죠 이에 대해서 더 많은 것들을 알고 싶으시거나 이러한 모드를 사용할 수 있는 여러분의 앱에서 어떠한 것들을 할 수 있는지 알고 싶으시다면 목요일 오전 9시에 있는 강연에 참여해주시길 바랍니다 안드로이드 보안에 대한 강연이 될 거예요 많은 요청을 받았던 또 다른 특징은 외부의 저장공간에서 특정한 디렉토리에 대한 접근이에요 만약 여러분의 앱이 사용자의 외부 저장공간에 있는 이미지, 음악, 비디오 또는 다른 것들을 인식해야 한다면 지금까지는 여러분이 전체적인 저장 공간에 대한 접근을 요청해야 했어요 플레이 스토어에서 앱을 다운로드 받을 때 사용자들이 약간 두려움이 될 수 있는 승인 이었어요 그 대신에, 여기에 있는 스크린 샷을 보시면 여러분의 앱은 특별하게도 이미지나 음악과 같이 하나의 디렉토리에 대한 접근을 요청할 수 있어요 N의 새로운 승인 시스템과 조합하여 사용자들이 어떤 앱을 사용하려고 하는지 그리고 어떤 앱이 접근할 수 있는지 확실하게 볼 수 있어요 안드로이드 포 워크에 관해서 여러분이 이에 관한 세션에 참여했으면 좋겠는데요 정말로 많은 것들에 대해서 다뤄요 이번 출시에서 안드로이드 포 워크에 있는 몇 가지의 특징만 여러분에게 말씀 드리려고 해요 그러니 목요일 오전 2시에 있는 작동 중인 여러분의 앱에 관한 세션에 참여하세요 그 동안, 여러분의 휴대폰에 업무 프로필이 설치되어 있다면 새로운 기능인 워크 모드가 있는데요 이건 워크 모드를 비활성화 하는 기능이에요 이에 대해서 조금 더 강조해서 말씀 드려야 할 것 같네요 워크 모드가 아니에요 빠른 설정에 들어가서 토글을 해제하면 되요 그렇게 하고 보시면, 여러분이 화면에서 볼 수 있을지 모르겠지만 작업 프로필 앱이 비활성화 되었어요 여기에 있는 것들 중에서 하나를 클릭하고 다이얼로그가 나오는데요 이걸 비활성화 할게요 이걸 켜고 끄기만 하면 되요 정말로 쉬워요 여러분이 선택하기만 하면 주말 동안에 업무용 이메일을 확인하지 않고 시간을 보낼 수 있어요 워크 챌린지라고 불리는 것도 있는데요 회사에서 해야 하는 불편한 인증과 같은 것들을 하지 않아도 되도록 하는 거예요 추가적으로 잠금 화면에서 제한하는 패스워드를 회사에서 요청하는데요 이제는 그렇게 하지 않아도 됩니다 대신에 여러분은 업무 프로필 앱이 작동될 때를 위해서 하나의 패스워드를 제공하면 됩니다 동영상 캡쳐한 것을 보여드릴게요 업무 프로파일 앱을 작동시키면 여러분의 패스워드를 확인하죠 그리고 앱이 실행되요 그리고 이제는 다른 워크 앱을 작동시켜볼게요 곧바로 실행될 거예요 여러분이 이미 전체적인 시스템에 인증했기 때문이에요 이제는 우리가 여기에 있는 진짜 이유를 말씀 드릴게요 개발자들을 위해서죠 처음으로 말씀 드릴 중요한 부분은 이미 기조연설에서 다뤄졌는데요 런다임을 변경하는 거예요 이제는 훨씬 빠른 인터프리터를 사용할 수 있어요 즉, 여러분의 앱이 설치될 때에 롤리팝이나 마쉬멜로우처럼 예정보다 빨리 편집되지 않아요 먼저 인터프리팅 모드로 작동되어서 JIT이 여러분의 앱에서 매우 자주 작동되거나 높은 성능으로 효율적인 코드의 부분들을 인식하면 제 시간에 모든 것들을 곧바로 편집할 거예요 여러분의 장치가 대기모드로 들어가면 앱애서 예정보다 미리 작동되는 부분의 프리컴파일로 JIT에서 모인 정보를 사용할 것이에요 이렇게 세가지를 알아볼 거예요 인터프리터, JIT 그리고 예정보다 빠른 컴파일 이러한 작업을 하는데 몇 년이 걸렸어요 이러한 세 가지 모두를 작업했어요 이제는 이러한 세 가지를 동시에 할 수 있어요 금요일 오후 1시에 미술 팀에서 진행하는 미술에 발전에 관한 강연에 참석하길 바랍니다 미술에 대한 모든 것들에 대해서 상세하게 강연할 것입니다 새로운 런타임 라이브러리도 있는데요 ICU4J의 새로운 기능으로 이제는 프레임워크의 일부분이에요 ICU는 라이브러리에요 여러분의 앱의 세계화와 인터넷 문명화에 유용하죠 꽤 큰 규모의 라이브러리에요 이제는 프레임 워크의 일부에요 다양한 패키지 이름을 가져서 기존에 있는 패키지 이름과 충돌하지 않아요 이제 여러분은 프레임워크의 기능을 사용하는 거예요 APK의 규모를 줄일 수 있죠 몇 가지 새로운 javautil 패키지도 추가했어요 여기에 javautil기능이 있는데요 Predicates와 같은 기능적인 스타일의 프로그래밍에 유용한 클래스와 API를 가지고 있어요 새로운 스트리밍 API도 있어요 새로운 언어 기능과 함께 조합하여 사용할 때에 굉장히 유용해요 새로운 자바 8 프로그래밍 언어 기능을 사용하기를 원하신다면 여러분의 그래이들 빌드 파일을 새로운 잭 컴파일러로 변경하셔야 합니다 또한 프로그래밍 언어 18 소스와 바이너리가 호환성을 갖도록 해야 해요 그렇게 하면, 여러분은 람다 기능에 접근할 수 있어요 람다는 여러분의 클래스에서 익명으로 실행되며 빠르게 인식되어서 진저브래드까지 호환이 가능해요 람다가 어떤지에 대한 예시가 몇 가지 있어요 어떤 것인지 잘 모르시거나 한번도 써보신 적이 없다면 이에 관한 문서와 기사 가 온라인에 많이 있어요 확인해보시길 바랍니다 여러분의 삶을 훨씬 더 좋게 만들어 줄 거예요 RxJava와 같은 것들을 사용하거나 안드로이드 UI 프레임 또는 람다를 많이 필요로 하는 경우에는 훨씬 더 쉬울 거예요 하지만 조심하셔야 해요 이러한 것들은 익명의 클래스를 생성해내니까요 보여지는 것보다 대가가 큰 편이에요 하지만 대다수의 앱에서는 그렇게 문제되지 않아요 기본값과 동적 인터페이스 방법은 두 개의 매우 유용한 기능이에요 이전의 기능과는 호환되지 않지만요 만약 기존의 인터페이스를 가지고 계시다면 새로운 방법을 추가하고 우리의 기본값을 실행할 수 있어요 추상 클래스에서 할 수 있는 것과 매우 유사하죠 다시 한번 말씀 드리지만 어떠한 파일이든지 고객과의 문제 없이 여러분의 APS를 보낼 수 있어요 많은 수신자들이 보게 될 유명한 어댑터 패턴을 생성하는데 쓸 수도 있어요 몇 가지 콜백 메소드를 가지고 있는 수신자가 있어요 일반적으로 그 다음으로 제공되는 어댑터 클래스는 이러한 모든 메소드를 실행하여 여러분이 그 중에서 한 가지의 메소드를 실행하려고 할 때에 모든 메소드를 선언할 필요가 없어요 그래서 이제는 기본값 메소드를 사용하는 것이 매우 쉽습니다 또한 인터페이스에서 동적 메소드를 가질 수 있어요 주석을 반복에 대해서 얘기하자면 여러분들 중 대다수는 수 많은 주석이 있지만 그러한 기능에 만족해하는 멋진 프레임워크를 가지고 있을 거예요 또한 불행하게도, 이전의 버전과 호환되지는 않아요 하지만 이제는 하나의 주석을 가지고 있어요 하단에 보면 @Exportable이라고 예시가 있죠 같은 종류로 여러 번 적을 수 있어요 예를 들어, 클래스를 하나 가지고 있다고 해볼게요 다른 포맷으로 직렬화 할 수 있는 클래스를 가지려고 하기 위해서 주석에 값을 정렬하는 방법을 사용하는 대신에 주석을 그냥 반복하기만 하면 됩니다 오디오 팀과 미디어 팀이 정말로 열심히 일했어요 안드로이드의 이전의 버전에서 오디오 지연을 줄이기 위해서 말이죠 대다수의 작업은 시스템의 본질적인 부분을 다루면서 이전에 이미 처리 되었어요 그리고 결국 오디오의 지연을 줄이기 위한 일은 더욱 높은 수준에서 이루어 졌죠 물론 여러분의 장치에 따라서 다를 수 있지만 오디오를 재생하면 40에서 70밀리세컨드의 지연이 줄었어요 활성화 하기에 굉장히 쉽죠 화면에 보시면 바로 예시가 있는데요 여러분의 미디어 플레이어에 오디오 속성을 생성할 때에 단지 저 지연 표시를 설정하기만 하면 되요 그리고 새로운 특징에 여러분이 접근할 수 있도록 만들었는데요 재생을 개선시키기 위해서 사용할 수 있는 몇 가지 새로운 API입니다 여러분이 미디어를 다시 재생할 때에 실행되는 언더런의 수를 생성할 수 있는데요 역동적으로 크기를 조절할 수도 있어요 지나치게 많은 언더런이 있으면 여러분의 버퍼가 실행을 하기 시작해요 이에 대해서 더 많은 것을 알고 싶으시다면 특히 여러분의 지연을 더욱 더 개선시키기 위하여 근본적인 API의 본질을 사용하는 방법을 알고 싶으시다면 목요일 오후 3시에 있는 강연에 참여하세요 렌더스크립트, 수 많은 부분이 개선되었어요 이제는 단일 소스 파일이에요 이제 여러분은 서로 호출할 수 없는 많은 커널을 가질 수 있어요 복잡한 컴퓨터 프로그램을 생성하기에 훨씬 더 쉬워졌죠 우리는 또한 축소판 커널을 만들었어요 그래서 여러분은 맵리듀스 종류의 API를 사용할 수도 있어요 예를 들어, 여러분이 히스토그램을 계산해야 한다면 축소판 커널을 이용하여 할 수 있죠 다양한 이미지에도 접근할 수 있어요 Allocation

getByteBuffer도 추가했어요 렌더스크립트 커널을 작동할 때에 생겨서 여러분이 가지고 있는 할당량을 줄이는데 도움을 줄 수 있어요 마지막으로, 여러분이 정말로 많은 데이터를 다루신다면 여러분을 위하여 우리는 16비트의 부동 소수점을 지원합니다 여러분의 데이터의 크기를 반으로 줄일 수 있도록 도와주죠 정확성이 여러분에게 중요한 요소라면 이에 대해서 알아보시는 게 좋을 거예요 OpenGL ES 32은 그래픽에 관심이 있는 사람들을 위한 거예요 OpenGL ES의 가장 최신 버전이죠 안드로이드 N에서 공개하는 건데요 효과적인 OpenGL ES 31 플러스로 안드로이드 확장팩으로 불려요 안드로이드 확장팩은 OpenGL 확장판의 묶음이죠 이러한 확장팩이 여러분의 장치에 도입되면 여러분은 이러한 모든 확장 기능에 접근할 수 있어요 이건 OpenGL ES 개발자들의 삶을 훨씬 더 편하게 만들어 줄 거예요 이러한 내용은 OpenGL ES 32 설명서에 다 포함되어 있어요 단 한가지만 빼고 말이죠 슬라이드를 보면 아실 수 있어요 고급 혼합 방식을 포함하여 강조되어 있는 부분이에요 이제는 하드웨어가 이러한 모든 혼합된 모드를 감당할 수 있어요 포토샵이나 여러분의 이미지 프로세싱 앱에서 볼 수 있는 모드 말이죠 이를 위해서 셰이더를 더 이상 적을 필요가 없어요 이제는 OpenGL의 한 부분이에요 여러분은 테셀레이션과 지오메트리 셰이더를 쓸 수 있어요 런타임에서 지오메트리를 생성하는데 매우 유용한 것들이에요 일반적으로 여러분이 할 수 있는 것은 꽤 간단한 메쉬에요 카메라가 물체에 점점 더 가까워지면서 더욱 더 많은 삼각형을 역동적을 추가할 수 있어요 화면에서 더욱 부드럽게 보이게 말이에요 이렇게 추가적인 삼각형이 필요하지 않을 때에는 메모리를 많이 사용하거나 성능에 신경 쓰지 않아도 되요 새로운 텍스쳐 압푹 포맷이 있는데요 ASTC 라고 불려요 그리도 다른 기능도 있죠 OpenGL ES를 사용하시면 기조연설에서 이미 언급되었던 불칸에 대해서 신경을 많이 쓰실 건데요 더 많이 알고 싶으시면 오늘 오후 6시에 이에 관한 강연이 있을 거예요 참여하시면 좋겠죠 불칸은 그래픽에서 낮은 수준의 API에요 OpenGL보다 더 낮아요 어떻게 보면 여러분은 사실상 드라이버가 되는 거예요 여러분이 다중 스레드에서 GPU에 명령을 생성할 수 있는 거죠 그렇게 되면 여러분의 앱의 효율성을 개선시킬 수 있어요 드라이버 자체에 오버헤드가 지나치게 있을 수 없어요 더 많은 드로우 콜을 만들 수 있죠 화면에 더욱 많은 오브젝트를 둘 수 있고 여러분의 셰이더를 오프라인으로 프리컴파일 할 수도 있어요 확인하는데 굉장히 유용하겠죠 규모가 큰 최적화에도 말이에요 장치에 있는 드라이버가 여러분의 셰이더를 최적화 하는 것과 셰이더를 편집하는데 너무 많은 시간을 보내지 않으면서 균형을 찾으려 하기 때문이에요 크로스 플랫폼 API도 있어요 안드로이드 N에 있는 불칸은 윈도우나 리눅스에서 볼 수 있는 불칸과 같아요 오늘 드라이버에서 전달되죠 여러분의 컴퓨터에서 여러분만의 코드를 적을 수도 있어요 그 이후에 휴대 기기에서 작동시킬 수 있죠 또한 OpenGL ES보다는 약간 더 어려워요 정확한 메모리 관리와 동기화를 해야 해요 우리는 미들웨어에서 불칸의 상당히 증가할 것이라고 생각해요 유니티나 언리얼 엔진과 같은 엔진들은 불칸을 지원하거나 불칸의 지원을 받아서 작동해요 이러한 엔진 중에 하나를 사용하신다면 아무 문제 없어요 여러분의 앱이 무료로 더욱 좋아지는 거니까요 기능성 뿐만 아니라 성능에 관련하여 adb를 위한 개선점들이 있어요 우리는 더욱 완전한 기능을 만들려고 했어요 더욱 전체적으로 말이에요 그래서 여러분은 꽤 많은 컨텐츠를 사용할 수 있어요, 예를 들어 LS 이러한 것들에 관해 adb에서 일어난 결과를 볼 수도 있어요 호스트를 이용하여 다른 프로세스로 이걸 보낼 수도 있고요 여러분이 사용할 수 있도록 더욱 완전한 기능을 제공하고 있어요 또 다른 거대한 성능 개선점이 있는데요 정말로 복잡한 알고리즘에서 특별히 노력해서 이뤄낸 건데요 버퍼 크기를 늘리는 거죠 [웃음] 구글에서는 이런 걸 해요 [웃음] 그래서 해 보세요 adb를 아신다면 선택권이 별로 없다는 걸 아실 거예요 하지만 즐겁게 이용하죠 예를 들어, 프로세스 종료 상태를 설정하고 멀리 있는 장치에 표준 입력을 전송할 수 있는 것은 특히 테스를 자동화하는데 유용해요 여러분의 장치에서 많은 것들을 자동적으로 실행시킬 수 있고 올바른 결과를 얻어낼 수 있죠 NDK의 모든 변경사항에서 우리는 클랭을 38로, 그리고 GCC를 4

9로 업그레이드 했어요 우리가 GCC를 업데이트 했지만 이번 GCC는 NDK에서 지원되는 마지막 버전일 거예요 만약 여러분이 아직도 GCC와 NDK를 사용하신다면 이제는 여러분의 앱을 클랭에서 테스트 하시는 게 좋을 거예요 이제는 바꿔야 할 때라고 생각합니다 우리는 또한 기본값을 만들었어요 arm7 아키텍처 기본값이죠 기존의 아키텍쳐는 잊으셔도 되요 그래서 여러분의 배너는 더 나은 최적화로 인해 이득을 볼 것이고 이것은 오늘날의 기기와 더욱 잘 연동이 되어야 하죠 VR, 이에 대해서 기조연설에서 간단하게 들으셨을 건데요 이번 주에 이에 대해서 조금 더 상세하게 알아볼 거예요 여러분이 알아야 하는 API의 거대한 서버 영역에 대해서 얘기할 거예요 먼저, 여러분은 장치에 있는 기능에 대해서 알아야 해요 장치는 기능보다 조금 더 구체적이에요 기조연설에서 들어서 아시겠지만요 그리고 여러분이 아셔야 할 API가 있습니다 나머지 세부사항에 관해서는 세션에 참가하셔서 알아보시길 바래요 정말로 많은 API가 있거든요 저번에 제가 봤을 때는 VR에 관해 대략 18개의 세션이 있었어요 그러니 한 번 보시길 바래요 제 생각에 이 중에서 가장 중요한 건 몇 가지 기술적인 세부사항에서 다룬 건데요 내일 아침 9시에 있는 것 같네요 하지만 스케줄을 확인해보세요 VR단계를 사용하면 아마 바로 아실 거예요 이건 마치 미안하지만, 뭐, VR? VR 보시다시피, 네 개를 인용했어요 두 개가 아니에요 네 개에요 네 개를 인용했어요? 네 개별적으로 말이죠 그렇군요 제가 덧붙일게요, 여러분이 VR에 관한 경험이나 게임, 가상 미술관이나 뭐든지 이러한 API가 여러분을 위한 게 아니라면 여러분의 앱에서 작동시키지 마세요 여러분의 앱을 더욱 빠르게 만들 수 있을 거라고 생각하신다면 이건 여러분을 위한 게 아니에요 VR을 사용하는 사람들을 위해서죠 맞아요 여러분을 위한 게 아니에요 절대 아니죠 [웃음] 서포트 라이브러리, 이건 N의 새로운점이 아니에요 하지만 간단하면서 빠르게 최근의 출시에 관해 몇 가지를 설명 드리려고 해요 232 출시에서 사람들이 고대하던 여러 가지 기능을 제공했는데요 나이트 모드 기능이에요 여러분의 앱이 밝고 어두은 테마 사이에서 빠르게 토글할 수 있는 기능이에요 머티리얼 디자인을 위한 하단메뉴 UI와 벡터/드로어블 그리고 애니메이티드벡터드로어블은 롤리팝에 있는 원래의 기능을 출시했을 때부터 사람들이 요청하던 기능이었어요 우리는 잘 몰랐죠 알고 보니 실행하기 꽤 까다로웠어요 리소스가 프로세스 되는 방식뿐만 아니라 드로어블과 이전의 버전과 호환되는 방식으로 작동되는 것 때문이었어요 처리하는데 좀 걸렸지만 결국 완성했어요 조금 이전의 출시에 있기 때문에 한 번 찾아서 확인 해보시고 사용해보시길 바래요 더욱 작은 규모인 APK로 이동해보세요 벡터가 같은 규모의 이미지보다 더 작은 경우가 많거든요 PNG나 JPEG같은 파일말이에요 리사이클뷰 오토매져, 또한 랩 컨텐츠 이러한 것들은 오랫동안 요청을 받아온 거예요 그래서 출시에 포함되었죠 231에서, 우리는 API를 리사이클뷰로 약간 조정했어요 더욱 좋은 성능을 허용할 뿐만 아니라 더욱 많은 기능이 있는 아이템을 가진 애니메이션을 위해서 말이죠 이러한 기능도 확인해보세요 벡터드로어블에 대해서 말해서 말인데요 콜트가 진행하는 강연이 있는데요 언제인지는 모르겠네요 이미지 압축과 여러분의 APK의 규모를 줄일 수 있는 방법에 대해서 다뤄요 벡터드로어블에 대해서도 얘기할 거예요 PNG와 JPEG 그리고 WebP를 사용하여 여러분의 앱을 더욱 작고 좋게 보일 수 있도록 만들 수 있는 기능도 얘기하고요 아, 그 기능이요 서포트 라이브러리에 관하여 제가 말씀 드리고 싶은 건 저는 이걸 미래라고 부르기도 하는데요 개발자들이 정말로 큰 관심을 가질 만한 흥미로운 점들이 있는데요 하지만 서포트 라이브러리에서의 새로운 점에 관한 세션이 있으므로 여기에서 말씀 드리는 것보다는 오늘 오후 4시에 진행되는 세션에 참석하셔서 앞으로 출시될 서포트 라이브러리에 관련하여 새로운 사실에 관해 알아보시길 바래요 이에 대해서 간단히 말씀 드릴게요 제가 좋아하는 주제니까요 실행에 관련된 세부사항이에요 외부에 있는 사람들은 알 리가 없는 부분이에요 하지만 N 프리뷰의 출시에서 벡터드로어블 성능은 크게 개선되었어요 로딩 측면뿐만 아니라 퍼스트드로우 측면에서의 성능과 개선에 중점을 두고 작업했으니까요 그래서 비트맵을 생성하고 여기에 만들었죠 이러한 경로를 만들어내는데 오랜 시간이 걸렸어요 여기에 시간을 투자했죠 파싱을 하는데도 시간을 투자했고요 정말로 복잡한 경로를 가지고 있으면 자바 수준에서 경로가 있는 파싱 작업에서 시간이 많이 소요돼요 여기에서 정말로 속도를 내며 작업했죠 벡터드로어블을 사용할 수 있도록 말이에요 플로트속성과 인트속성을 볼게요 제가 가장 좋아하는 속성이에요 왜냐하면 이걸 확인하게 되면 정말로 N에서 이 코드만 가지고 작업하신 거예요? 그럴수도 있죠 난 확신해요 아뇨, 아뇨 사실 저는 다른 코드도 많이 만들었어요 그리고 확인해보니 문제가 몇 가지 있더라고요 그래서 다시 확인했죠 [웃음] 플로트속성과 인트속성을 위하여 저는 많은 코드를 만들었을 뿐 아니라 이걸 대략 2년전에 이미 만들었어요 하지만 API뒤에 숨어 있었죠 이러한 기능이 공개된 API에서 노출될 때까지 사람들이 기본적인 속성 오브젝트만 사용하면서 이 기능에 접근할 수 없다는 걸 발견했어요 이제 나오게 되었으니 사용해보세요 특히 애니메이션을 위해서 말이에요 속성을 설정할 때에 JNI로 들어가서 백업하는 전형적인 매커니즘을 사용하지 않고 조금 더 직접적인 메소드를 사용하도록 허용해요 약간의 성능의 개선도 추가되었고요 그 외에 뭐가 있을까요? 안드로이드 인스턴트 앱 오늘 아침 기조연설에서 이걸 다뤘어요 여러분은 우리가 샌드박스 영역에서 데모를 확인하는 걸 보셨을 거에요 내일 아침에 하는 강연도 확인해보세요 개발자를 위한 안드로이드 플레이의 새로운 점에 관해서요 더욱 세부적인 내용을 다룰 거예요 여기서 가장 중요한 점은 출시된 제품을 얻는 거에요 아직 구매하지 않으셨다면 개발자 프리뷰 3에서 구매할 수 있으실 거예요 세션이 언제 시작하는지는 잘 모르지만 실제로 인터넷에 언제 나오는지도 잘 몰라요 하지만 가면 있을 거예요 가서 확인해보세요 dandroidcom을 모르시면 유용한 URL이 있어요 여기에 있네요 프리뷰를 구매하세요 SDK를 설정하시고요 그리고 꼭 버그를 신고하세요 그리고 빨리 해보세요 이번 출시를 마무리하려고 하니까요 다른 것들이 또 있나요? 그러면 제가 잠시만 콘스트레인트 레이아웃에 관하여 몇 가지만 말씀 드리려고 해요 제가 많이 신경쓰는 부분이니까요 여러분이 참여할 수 있는 코드 실험실이 있어요 만약 여러분이 이미 사용하고 계시다면요 그 외에는 몇 가지 질문을 받아도 될 것 같아요 약간 어색할 것 같지만요 관객들에게 마이크가 있나요? 우리가 어떻게 질문을 받아야 할지 모르겠네요 그냥 크게 말하세요 그거 아세요? 질문을 가지고 있는 2,000명의 사람들을 위해서 우리는 매일 하루가 끝날 때쯤 집무시간을 가지고 있어요 안드로이드 N 오피스 아워라고 불리는 집무 시간이에요 플랫폼을 다루는 많은 사람들이 있을 거예요 N을 위해서 일하는 사람들이죠 사실은 다른 출시에서도 열심히 일해온 사람들이에요 그곳으로 여러분의 질문을 가져 가세요 그 외에는 팀을 위해서 일하는 시간이에요 멀티윈도나 다른 것들을 위해서 말이에요 스케줄을 확인해보세요 그러면 질문을 받겠습니다 질문은 받지 않는 게 좋을 것 같아요 좋아요 약간 어색하네요 이제 마무리 하겠습니다 그리고 감사합니다 감사합니다 [박수] [신나는 음악] [전자 음악]

Drag and Drop RecyclerView in Android using Android Studio – Kotlin

얘들 아 CodeAndroid의 Vignesh입니다

이 비디오에서는 항목 RecyclerView를 끌어다 놓는 방법을 보여줍니다 이것을 설명하기 위해 ToDo List Application 코드를 사용하려고합니다 하위 작업 내에서 하위 작업 순서를 지정하는 아이콘이 필요합니다 항목 작업 열기, 여기서는 RecyclerView를위한 touchHelper를 설정하려고합니다 우리가 항목을 드래그 앤 드롭 할 수있게 해줍니다 나중에 이미지 뷰를 추가합니다

val touchHelper가 ItemTouchHelper와 같으면 콜백을 전달해야합니다 ItemTouchHelper의 객체, 우리는 SimpleCallback을 사용할 것입니다 내부에서 dragDirection과 swipeDirection을 전달해야합니다 항목을 위아래로 이동할 수 있습니다 그래서 ItemTouchHelper

UP 또는 ItemTouchHelperDOWN을 제공하고 있습니다 따라서 항목을 이동할 수있는 방법 swipeDirection의 경우 항목을 스 와이프 할 수 없음을 의미하는 0을 제공합니다 누락 된 회원을 구현해 보겠습니다 이 onSwiped는 swipeDirection을 0으로 지정했기 때문에 호출되지 않습니다

항목을 드래그하는 동안이 onMove가 호출됩니다 여기에서 우리는 아이템을 교환해야합니다 그래서 p1에서 소스 어댑터 위치를 얻고 있습니다 sourcePosition이라는 값에 저장 마찬가지로 p2 ViewHolder에서 targetPosition 가져 오기 이제 RecyclerView 목록의 항목을 바꿔야합니다 이를 위해 우리는 목록에 액세스해야합니다

그래서 RecyclerView 데이터를 저장하기 위해 list라는 전역 값을 생성합니다 전역 변수에 목록을 저장하고 어댑터에 전달하는 refreshList에 "Collections"클래스를 사용하여 sourcePosition을 사용하여 목록의 항목을 targetPosition으로 교체합니다 스와핑은 Collections 클래스 자체에서 수행됩니다 그래서 우리는 아무것도 처리 할 필요가 없습니다 항목을 교환 한 후 어댑터에 대한 변경 사항을 알릴 필요가 있습니다

그래서 나는 어댑터를 전역 변수에 저장하고있다 전역 변수를 RecyclerView의 어댑터로 설정하기 notifyItemMoved를 호출 할 필요가있는 것을 통지하기 위해서 내부에서 sourcePosition과 targetPosition을 전달해야합니다 이 onMove는 Boolean을 반환해야하므로 true를 반환합니다 마지막으로 attachToRecyclerView를 사용하여 RecyclerView에 touchHelper를 연결합니다 자, 응용 프로그램을 시작합니다

이제는 길게 눌러 작업을 이동할 수 있습니다 길게 누르지 않으려면 아이콘을 줄 수 있습니다 해당 사용자를 사용하면 쉽게 항목을 이동할 수 있습니다 그것을하는 방법을 볼 수 있습니다 아이콘 소스의 경우 드로어 블 폴더 안에있는 이동 아이콘을 복사하고 있습니다

item 자식의 레이아웃 파일에서 ImageView를 추가해야합니다 그래서 ImageView 삭제를 복제하고 있습니다 소스를 ic_move로 변경하고 id를 iv_move로 변경하십시오 이동 아이콘 전에 삭제 아이콘을 원합니다 그래서 toLeftOf와 toStartOf를 iv_move로 추가합니다 우리는 이것을 ViewHolder 내부에 링크해야한다

그 후 이동 아이콘에 대한 onTouchListener actionMasked 이벤트가 ACTION_DOWN과 같으면 드래그를 시작해야합니다 touchHelper에 액세스해야합니다 그래서이 touchHelper를 전역 변수로 변환하려고합니다 여기서 우리는 null 경고를 얻고 있으므로 null-safety를 추가합니다 null이 아닌 경우 RecyclerView에 연결하고, 그렇지 않으면 아무것도하지 않습니다

ViewHolper를 전달하여 드래그를 시작하는 touchHelper 사용 여기서도 리턴 유형으로 부울이 필요합니다 그러나 여기 나는 거짓을 전달하고있다 자, 응용 프로그램을 시작합니다 길게 누르지 않아도 항목을 이동할 수있는 항목을 볼 수 있습니다 이 재정렬은 로컬에 저장됩니다

활동을 다시 불러 오면 준비가 끝납니다 배열을 유지하려면 서버 또는 데이터베이스에 순서를 저장해야합니다 이 비디오 녀석들을위한 모든 것 나를 지원하기 원한다면 wwwpatreoncom/CodeAndroid에서 애호가가되어 그렇게 할 수 있습니다

너가 좋아하길 바래 내 다음 비디오에서 보자 좋은 하루 되세요

LG G7 One, G7 ThinQ to receives Android 9.0 Pie stable update in Q1 2019

LG의 UX 소프트웨어는 롤링에 도움이되지 않는 크게 사용자 정의 된 Android입니다 지금까지 모든 장치에 대한 업데이트를 신속하게 전달할 수있는 유일한 lg 전화 Android Pie에 기반한 안정적인 업데이트는 Android one 기기 인 g7입니다

당신이 선택한 시장에서 안드로이드 파이 베타를받은 LG G7 thinq g7 thinq에서 Android Pi를 실행하기를 기대합니다 LG 전자가 공식적으로 q1 2019 년 업데이트 로드맵을 공개함에 따라 운이 좋았습니다 LG G7 thinQ를 사용하는 경우 기기에서 2019 년 1/4 분기 안드로이드 파이에 대한 공식 업데이트 어느 장치도 LG가 완전히 계획 할 수있는 업데이트를받지 못할 것입니다 2019 년의 두 번째 또는 삼분의 일 동안 그것을 밖으로 압연,하지만 그것은 빤다 다시 LG는 소프트웨어 업데이트 측면에서 항상 최선의 것은 아니었다

Android q 개발자 미리보기는 q1이 끝날 때 출시 될 것으로 예상됩니다 2019 또는 q2의 시작 2019 늦게 업데이트를받는 대표 ​​전화 가장 이상한 말은 2019 년 1 분기에 업데이트가 없다는 의미입니다 다른 LG 장치 및 LG V30과 같은 기타 주력 장치는 이 로드맵에서 언급했듯이, 귀하의 희망을 얻지 않는 것이 현명 할 것입니다 가까운 미래에 업데이트

☑️ New! Host Java Web Applications | 04 Setup Godaddy SSL Certificate In WHM cPanel

안녕하세요이 동영상에서는 SSL 설정 방법을 확인하겠습니다

귀하의 웹 사이트에 대한 인증서가 필요합니다 가상 사설 서버의 대시 보드에 cPanel에 연결 한 다음 서버 관리를 클릭하면 새 탭이 열리고 SSL을 찾아야합니다 그것을 클릭하고 Generator SSL 인증서를 클릭하면됩니다 클릭 할 수있는 세부 정보를 입력 한 후에 세부 정보를 기입 할 수 있습니다 생성 한 다음이 파일을 먼저 복사 한 다음 제품 페이지에서 GoDaddy를 선택한 다음 설정을 클릭하고 새로 만들기를 클릭하십시오

인증서를 클릭 한 다음 인증서 서명 요청 제공을 클릭하고 당신은 당신이 방금 복사 한 것을 복사하여 붙여 넣을 수 있습니다 요청 인증서를 클릭하기 전에이 모든 정보에 동의하고 읽습니다 그래서 지금은 2 분 정도 걸리겠다고 말하고 있습니다 모든 정보를 생성하므로 몇 분 후에 볼 수 있습니다 귀하의 요청을 승인 한 다음 다운로드를 클릭하면됩니다

다른 사람을 선택한 다음 zip 파일을 다운로드 한 후 지금 다운로드 zip 파일을 클릭하십시오 다운로드 한 파일은 실제로이 페이지로 돌아갈 수 있습니다 이 하나를 가지고 홈 페이지를 클릭하고 다시 SSL을 클릭하면 클릭하기 만하면 SSL 인증서를 설치하십시오 찾아보기 인증서에서 upyourcodecom 인 인증서를 선택하십시오

당신의 인증서를 클릭하십시오 그리고 당신이 먼저하고 싶은 것은 당신이 갈 필요가 있습니다 첫 번째 파일 인 곳을 클릭하고 편집을 클릭하여 엽니 다 기본적으로이 모든 것을 복사하여 여기에 붙여 넣습니다 두 번째 파일은 번들 파일을 다시 열어 모든 정보를 복사하고 여기에 넣으십시오

번들을 클릭 한 다음 설치를 클릭하면 SSL 인증서가 설치됩니다 확인을 클릭하면 작업이 완료되었는지 신속하게 확인할 수 있습니다 또는이 웹 사이트로 이동할 수 있습니다 예를 들어 이것이 올 경우 우리는 인증서를 설치할 때 특정 변경을하기 때문에 특정 변경을하십시오 변경하고 그것을 설정을 무시합니다 그래서 우리가 할 수있는 일은 우리가 갈 수있다

퍼티에 그리고 나서 우리는 열거 나 http 파일을 제일 먼저 끝낼 수 있습니다 당신이 할 수 있듯이 80 포트에서 물건이 적절한지 아닌지 확인하십시오 그것이 우리가 할 수있는 것을 바르게 한 변화를 무시한 것을보십시오 물론 FTP에 직접 연결되기 때문에이 내용을 주석으로 처리 할 수 ​​있습니까? 끝까지 이동 한 다음 이전 동영상에서했던 것과 동일한 것을 붙여 넣으십시오 이 파일을 복사하여 붙여 넣으면 파일을 다시 열어 저장합니다

이제 우리가 80 포트에서 작업하지 않기 때문에 한 번 더 변경해야합니다 443 인 HTTP 포트에서 작업하므로 다시 올라가면 443 포트가있는 공용 IP 주소이므로 여기서도 마찬가지입니다 왜냐하면 우리가 알고있는 것처럼 당신은 HTTPS를 사용하고 있기 때문에 그것이 작동하지 않기 때문입니다 그것은 우리가 80 포트에서했던 것과 같은 변화를해야만합니다 이 줄을 주석으로 처리하고 다시 같은 것을 배치하십시오

그리고 나는 실수로 파일을 저장하고 httpd 서비스를 중지 한 다음 httpd 서비스 지금 우리가 확인하면 제대로 작동한다는 것을 알 수 있습니다 우리 웹 사이트에 SSL 인증서를 설치하기 위해 따라야 할 기본 프로세스

How To Download Brawl Stars in Any Country Both Android and IOS Iphone 5s 6 6s

인도에서 슈퍼 셀에 의한 싸움 별 다운로드 방법 모든 안드로이드 폰 어떤 아이폰 5s 6s 6 플러스 등 해킹하는 법 더 많은 보석과 승리를위한 속임수를 얻으십시오 애플 ID없는 게임 센터에 PC에 설치 충돌 로얄, 씨족의 충돌 행복한 모드 출시 날짜 2018 년 12 월 12 일 카로 인도 저를 다운로드하십시오 발매일

LG G7 ThinQ Android Pie Beta update launches in South Korea with globally expected soon

LG 전자는 브랜드의 본토 지역에서 LG G7 thinQ 사용자를 대상으로 LG OS 미리보기를 열었습니다 전화 회사가 밀어 붙이기를 준비 중임을 알릴 수있는 한국의 앞으로 몇 주 안에 Android Pie 업데이트 이 업데이트는 배포 된 PI 업데이트와 다릅니다

그것의 don'ts 전화의 안드로이드 한 판은 LG 브랜드 소프트웨어 LG 주요 Android 출시에 대한 빠른 업데이트를 제공하는 데 최선의 방법이 아니 었습니다 오늘의 소식에 따르면 LG는 이전 버전을 조금 더 빨리 업데이트하고 있습니다 LG 전자는 작년 12 월 말까지 베타 버전이 출시되기 전에 LG g6 테스트 및 Oreo 업데이트 시작 한국 사용자가 빠른 도움말 앱으로 이동하여 미리보기에 가입 할 수 있습니다 LG OS 미리보기 배너가 새롭게 바뀌는 것을 발견하면 새로운 제스처 홈이 포함됩니다 버튼 새로운 배터리 절약 기능 새로운 적응 형 밝기는 원하는 밝기 설정을 사용하면 새로운 미리보기가 표시됩니다

스크린 샷을 누르고 전원 버튼을 길게 눌러 휴대 전화를 잠글 수 있습니다 LG 미국에서 이와 같은 베타 프로그램을 제공하지 않았으므로 파이가 표시되지 않습니다 마지막 펌웨어가 완성 될 때까지 g7이 LG가 갈 것으로 기대합니다 12 월 또는 내년 초에 마지막 Pie 업데이트를 언젠가 릴리스하십시오 잘만되면 우리는 그 전에 영어로 변경 로그를 볼 것입니다

3 Platforms in 5 Minutes with Kotlin (Android Dev Summit ’18)

[음악 재생] WOJTEK KALICINSKI : 안녕하세요 내 이름은 워텍입니다

그리고 나는 너에게 짧은 이야기를 나누고 싶었다 새로운 Kotlin 멀티 플랫폼 프로젝트 경험에 대해 Kotlin에서 13 그래서 우리가이 회의에 올 때, Android에 대해 이야기하고, Android에서 Kotlin을 실행하는 것에 대해 이야기하십시오 안드로이드 애플 리케이션을 만들기 위해, 우리가 정말로 의미하는 것은 Kotlin JVM입니다

그게 우리가 알고있는 코 틀린이야 Java 바이트 코드로 컴파일됩니다 그런 다음 dex 파일로 변환 할 수 있습니다 Android에서 실행하십시오

그러나 클라우드 서버, 데스크톱, 등등 이제 실제로 Kotlin의 두 가지 맛이 있습니다 또는 컴파일 타겟 첫 번째, Kotlin JS, 달리기 웹 브라우저 환경의 JavaScript 또는 클라우드 기능 또는 Nodejs와 같은 것입니다

그리고 나서 Kotlin native가 컴파일됩니다 네이티브 라이브러리의 코드를 처리하는 방법 다양한 플랫폼을 실행하거나 타겟팅 할 수 있으며, 심지어 IOS, 데스크톱 애플 리케이션, WebAssembly, 그리고 심지어 안드로이드와 같은 그러면 우리는 실제로 이것을 어떻게 시작해야할까요? 그래서 Kotlin 13은 새로운 프로젝트 구조를 도입했습니다 Kotlin 멀티 플랫폼이라고 불리는 새로운 플러그인입니다

그리고 만약 당신이 그것을 당신의 어떤 모듈에도 적용한다면, 그런 다음 프리셋 세트에서 선택할 수 있습니다 이러한 플랫폼을 타겟팅 할 수 있습니다 여기 예를 들어 Android 라이브러리를 타겟팅하고 있습니다 및 js 대상 이제 이것을 모듈에 추가하면, 자동으로 각 플랫폼에 대한 소스 세트를 생성합니다

특정 Kotlin 파일 따라서 Kotlin 파일을 js 메인 폴더에 넣으면, 그들은 컴파일되거나 자바 스크립트 파일로 변환됩니다 이제 Kotlin이 구체적으로 무엇을 의미합니까? 미안 해요 – 플랫폼 특유의 Kotlin? 이제 문서를 찾아보고 찾아 본다면 Kotlin 패키지 각각에 대한 페이지, 오른쪽 상단에있는 마우스로 마우스를 움직여보십시오 당신은이 다색 칩을 볼 수 있습니다 컴파일 대상을 알려줍니다

이 라이브러리를 사용할 수 있습니까? 그래서 여기, 예를 들어, Kotlin 브라우저 패키지 문서 및 창 인터페이스에 액세스 할 수있는 아마 웹 브라우저 환경에서만 js 대상에서 의미가 있습니다 그리고 그것이 그 방법입니다 이제 다행스럽게도 많은 핵심 요소가 라이브러리와 함수는 모두 사용할 수 있습니다 컴파일 대상 실제로, 네 번째를 볼 수 있습니다, Kotlin common, 이것은 순수한 코 틀린임을 의미합니다

플랫폼과 독립적으로 실행할 수있는 라이브러리 타겟팅 사실 멀티 플랫폼 플러그인을 추가하면 플랫폼 별 소스 세트와 함께 프로젝트에, 당신은 또한 공통 소스를 얻을 수있는 곳으로 설정합니다 플랫폼 독립적 인 코드를 넣으십시오 이제 플랫폼 독립적 인 코드에 관한 것은, 플랫폼 API를 호출 할 수 없습니다 그것은 특정 또는 안드로이드 특정 js를 호출 할 수 없습니다 아피스 물론 다른 방법은 효과가 있습니다

플랫폼 별 코드를 가질 수 있습니다 공유 라이브러리에 따라 달라집니다 또는 소스 세트 그래서 모든 것을 알고, 나는 단지 예제 애플 리케이션을 작성하기 시작했다 Kotlin 멀티 플랫폼에 대해 알아보십시오

그리고 나는 작은 스도쿠 게임을 만들기로 결정했다 이제 Kotlin 멀티 플랫폼에 대해 내가해야 할 한 가지는 앱을 한 번 작성하고 실행할 수있는 툴킷이 아닙니다 그것을 도처에 Android 앱을 만들 필요가 있습니다 안드로이드 특정 코드로, 평소처럼 그러면 JavaScript 코드가있는 웹 페이지가 나타납니다

항목을 초기화하기 만하면됩니다 내 애플 리케이션, 라이프 사이클 UI 등을 가리킨다 그런데, 내가하는 일은 나의 모든 공유 비즈니스 논리이다 제 경우에는 스도쿠 엔진입니다 나를 위해 Sudoku 보드를 해결하고 생성합니다

나는 그것을 꺼내서 공유에 넣는다 라이브러리는 Kotlin 공통을 사용합니다 사실,이 라이브러리에있는 유일한 소스 세트입니다 공통점이다 그래서 모든 코드를 거기에 넣었습니다

이는 모든 플랫폼에서 사용할 수 있음을 의미합니다 내가 목표로 정했던 승인 하지만 그때 나는 생각했다 좋아, 나는이 핵심 엔진을 가지고있다 내 Sudoku 코드를 해결하기 위해

그러나 나는 또한 보드를 스크린에 그려 넣고 싶다 그리고 왜 각 플랫폼에 대해 코드를 작성해야합니까? 개별적으로 동일하게 보일 경우 별도로? 그래서 나는 생각하지 않았다 화면에 그리기위한 API가 있다면 완전히 독립적 인 플랫폼, 뭔가 다중 플랫폼 캔버스가 될 수 있습니까? 하지만 내가하고 싶은 것은 실제로하고 싶다 각 플랫폼 구현에 위임하게하십시오 그래서 안드로이드 캔버스를 사용하고 싶습니다

HTML을 사용하는 동안 Android에서 그릴 수 있습니다 캔버스를 웹 사이트에서 그립니다 문제는, 방금 Kotlin 공통 코드가 모든 플랫폼 인터페이스를 호출하십시오 그래서 나는 이것들에 정말로 의지 할 수 없다 이 모듈에서 내보내십시오

그러면 Kotlin에서 어떻게 작동합니까? 음,이 기대와 실제 메커니즘이 있습니다 예상되는 클래스를 공통 코드로 선언 할 수있게 해줍니다 이것은 Java에서 인터페이스를 정의하는 것과 거의 흡사합니다 그리고 각 플랫폼 별 소스 세트에서, 나는 실제 구현을 제공한다 플랫폼 API를 사용하고 의존 할 수있는 Android 캔버스와 같은 이제, 내 공통 소스에서 그 의존성을 추가 할 때 다른 하나를 설정하면 다음과 같이 보입니다

하지만 사실, 특정 플랫폼 용으로 컴파일 할 때, 그러한 js, 이 종속성은 실제로 올바른 HTML5 캔버스를 사용합니다 [징] [킬킬 웃음] 좋아, 내가 프로젝트에 대한 링크 만 보여줄 수 있다면 모두가 그것을 볼 수 있도록, 그것은 좋을 것입니다 [웃음] 네 연설자 1 : [INAUDIBLE] [킬킬 웃음] [박수 갈채] WOJTEK KALICINSKI : 맞습니다 [음악 재생]

What’s New in Android 7.1

안녕하세요 저는 Android 개발 지지자 댄 갈핀입니다 저희가 오늘 Android 71의 시사평을 준비 해 왔습니다 몇 주 전에 저희가 Android 7

1의 개발자 시사평이 있을 거라고 떡밥을 던졌는데요 혹시 눈치 못 채셨을까 하는 말이지만 이제 시청하실 수 있습니다 이 시사평에는 다른 프로그램들과 다른 점들이 몇 가지 있습니다 71이 이미 픽셀에서 론칭했기 때문에 저희는 여러분께 처음으로 베타 품질로 넥서스 기기들을 이용해 개발업자 시사평을 보여드릴 예정입니다 이 평의 목적은 기기 특유의 문제들을 알아내는 것입니다 이 말은, 저희가 이미 새로운 API들을 API 레벨25로 마무리 지었고 구글 플레이에 새로운 API레벨을 겨냥한 앱들을 발표 가능하게 해 두었다는 것이지요 앱 개발이 되면 바로 업로드가 가능합니다 무엇이 새로워졌을까요? 우선, 안드로이드 71에는 몇 가지 런처 특유의 변화들이 있습니다 앱 내에서의 주요 조치들을 위해 단축 키에 고정, 동적 링크를 다 추가하실 수 있습니다 앱스 런쳐 아이콘을 길게 누르시면 앱 단축 키들이 뜨는데요 단축 키를 누르시면 관련 액션이 시작 됩니다 각 단축 키마다 다른 목적이 있고 그 목적에 따라 고유의 액션이나 작업을 실행하게 되는 것이지요 어떤 목적을 나타낼 수 있는 액션이라면 무엇이든 단축키를 생성하실 수 있습니다 목적의 예로는 새로운 문자 메세지 전송, 예약 비디오 재생, 게임 진행, 지도 보기 위치, 등이 있습니다 새로운 단축 키를 생성하는 방법으로는 APK안의 지원 파일에 앱을 더하는 정적인 방법이 있고 실시간으로 추가하는 동적인 방법도 있습니다 정적인 단축 키들은 일반 동작에 적합하고 동적인 단축 기들은 사용자들의 기호, 행동, 위치 등에 따른 액션들을 강조 해줍니다 각 앱당 다섯가지의 단축 키를 제공하실 수 있습니다 앱에 단축키들을 더하신 후에는 지원하는 모든 런쳐에서 사용 가능하십니다 픽셀 기기들의 기본 런쳐인 픽셀 런쳐나 넥서스 기기들의 기본 런쳐인 나우 런쳐 등 다른 지원하는 런쳐에서 사용이 가능합니다 어떤 앱 에서든 단축 키 생성이 가능하며 어떤 런쳐에든 단축기에 대한 지원을 추가하실 수 있습니다 안드로이드 71은 단축키 등록이 가능한 API를 제공하고 등록된 단축키를 읽을 수 있는 런쳐도 제공합니다 둥근 아이콘을 지원하는 기기에서는 둥근 아이콘이 사용되고 있습니다 자동적으로 말이지요 런처가 앱 아이콘을 요청 했을때 프레임워크는 장치 구성에 따라 안드로이드:아이콘 이나 안드로이드:둥근 아이콘으로 돌아갑니다 이미지 애샛 스튜디오를 사용하셔서 둥근 아이콘을 디자인 하실 수 있습니다 그 후에 구글 픽셀 기기로 테스트 해 보시거나 안드로이드 에뮬레이터와 API 레벨 25를 겨냥한 구글 API의 에뮬레이터의 시스템 이미지를 실행해 보시면 됩니다 런쳐와 관련된 사항으로는 라이브 배경화면의 메타 데이터가 강화되었다는 것입니다 현재 메타 데이터의 속성인 레이블, 설명, 그리고 작가 외에도 URL이나 제목 속성이 추가되어 사용자들이 그 배경화면에 대한 더 많은 정보를 얻을 수 있게 되었습니다 이것은 라이브 배경을 고르는 사용자들에게 더 풍부한 경험을 제공 해 줄 수 있습니다 71의 또 다른 특징은 스티커나 다른 풍성한 컨텐츠들이 입력 방법 에디터나 IME라고 알려진 소프트 키보드를 통해 사용 가능 하다는 것입니다 7

1 SDK는 커밋 컨텐츠 API를 포함합니다 이것은 세계적으로 통용된 이미지 전송 방법을 제공하고 IME에서 다양한 컨텐츠들을 직접적으로 앱의 텍스트 에디터에 제공 하고 있습니다 API 아이는 수정된 25버전의 V13 지원 라이브러리에서도 이용하실 수 있습니다 이 API를 사용하시면 어떠한 키보드의 풍성한 컨텐츠들이라도 모두 사용 할 수 있는 앱을 만드실 수 있습니다 어떤 앱에도 다양한 컨텐츠를 제공 할 수 있는 키보드도요 71에는 활용하실 수 있는 좋은 점들이 두 가지 더 있습니다 그 중 한가지는 스토리지 매니저 인텐트 입니다 앱들은 이제 스토리지를 관리 인텐트 액션을 통해 사용자들을 시스템 공간 확보 스크린으로 안내 할 수 있습니다 당신의 앱의 용량이 장치에서 사용 가능한 용량보다 클 경우 유용하지요 사용자들이 이 인텐트를 통해 불필요한 앱들이나 켄텐츠들을 삭제하고 공간을 확보 할 수 있게 되었습니다 한 가지 더, 데모 유저로써 디바이스가 작동하고 있는지도 확인하실 수 있습니다 사용자 매니저를 사용하는 것이 데모 유저 방법입니다 이것은 여러분의 앱이 잠재 고객들의 체험을 원하는 대로 정할 수 있게 해 줍니다 데모 유저로 사용하시는 동안 앱은 사용자에게 더 많은 도움을 주고 제품에 대해 더 상세하게 설명 하게 해 줄 수 있습니다 71에는 더 많은 특징들이 있습니다 예를 들어 '인어디블' 이라는 안드로이드 웨어를 지원하는 것과 중요한 전화 통신 방법들이 있지요 자세한 사항은 developerandroidcom의 안드로이드 7

1 페이지를 확인 해 주세요 이미 안드로이드 베타 프로그램에 등록 되어 있으시다면 등록된 기기가 바로 안드로이드 71 개발자 업데이트를 실행 할 것입니다 아무것도 하실 필요 없습니다 아직 안드로이드 베타에 등록 되어 있지 않으시다면 장 쉬운 방법은 Androidcom/beta에 방문하셔서 안드로이드나 태블릿으로 참여하시는 것입니다 곧 업데이트가 될 것이고 앞으로도 무선 업그레이드가 가능하실 겁니다 등록된 기기로 업데이트를 받고 싶지 않으시다면 안드로이드 베타를 방문하셔서 등록을 해제하시면 됩니다 빠른 수동 업데이트도 가능합니다 12월달에 있을 소비자 공개까지 피드백은 언제나 대 환영입니다 이 비디오에 관한 것이나 개발자 선공개 커뮤니티나 안드로이드 베타 커뮤니티에 대한 것도요 더 많은 안드로이드 개발자들의 영상