Maps Live: New Features in the Google Maps Mobile APIs for Android and iOS

嗨 CHRIS BROADFOOT : 안녕하세요 나는 Chris Broadfoot입니다

저는 Chris Broadfoot입니다 Google지도 개발자 관계 팀에서, Google지도 개발자 관계 팀에서 일합니다 나는 Daniel Schramm입니다 Daniel Schramm : 저는 Daniel Schramm, Associate Product입니다 Google지도 모바일 API 프로젝트의 제품 관리자 조수로서 Google지도 모바일 API의 관리자입니다

얼마 전에 우리는 iOS 및 Android에서 CHRIS BROADFOOT에있었습니다 : 우리는 최근에 모바일에 대한 업데이트를 릴리스했습니다 iOS와 Android 모두에서 업데이트 된지도 API입니다 오늘 우리는 비디오에서 다니엘 SCHRAMM 이야기 :이 업데이 트는 세 가지 새로운 기능을 소개합니다 이번 업데이트에서 우리가 오늘의 비디오에서 이야기하고자하는 세 가지 새로운 기능 – 패딩 마커 매핑 회전 및 플랫 마커는 패딩, 마커 회전 및 플랫 마커를 매핑합니다 먼저, 맵 패딩 (Map Padding)에 대해 살펴 보겠습니다 CHRIS BROADFOOT : 먼저 맵 패딩에 대해 설명하겠습니다

지도 채우기를 사용하면 기본 작업을지도로 옮길 수 있습니다지도 채우기를 사용하면 기본 Google지도를 오프셋 할 수 있습니다 동시에지도 외부에서 오버레이 컨트롤을 추가하여 추가 할 수 있습니다 예를 들어 반투명 메뉴 막대 또는 세로 막대와 같이 투명 메뉴 막대 또는 세로 막대 오버레이를 추가 할 수 있습니다 지도 채우기의 값은 언제든지 변경하거나 애니메이션으로 변경할 수 있습니다 예를 들어지도에서 사이드 바가 표시되거나 사라지는 경우 (예 :지도에서 사이드 바를 밀거나 내릴 때) 지도는 각 방향의지도 패딩 값을 고려하며지도를 다시 중심에 배치하는 것과 같은 카메라 업데이트는 안쪽 여백을 고려하여 마커의 위치를지도의 중앙에 위치 시키면 아무 것도 할 필요가 없습니다

오프셋에 대한 수동 계산의 번거 로움을 제거합니다 다음에 우리가 이야기하려고하는 것은 대니얼 SCHRAMM입니다 : 우리가 이야기하고 싶은 다음 미래 평면 마커는 평면 마커입니다 보는 방향에 관계없이 새로운 유형의 디자인입니다 평면 마커는 항상 평면으로 유지되는 새로운 유형의 마커입니다 카메라 배치 방식에 관계없이지도에 항상 배치됩니다 다른 마커와는 다른 표준 마커와는 다릅니다

지도를 회전하면지도에 제목이 표시 될 때 평면 마크가 항상지도에서 튀어 나오게됩니다 두 가지 유형의 마커를 사용할 수 있습니다 이제 평면 마커와 표준 마커를 모두 회전시킬 수 있습니다 앵커 포인트는 앵커 포인트를 중심으로 회전합니다 그래서 재미있는 평면 마커를 만들 수 있습니다 이렇게하면 평면 마커를 만들 수 있습니다

예를 들어, 나침반처럼 나침반처럼지도에 고정시킬 수 있습니다이지도는 항상지도에 고정되며, 항상 특정 방향의 한 방향을 가리 킵니다 위의 두 점을 CHRIS BROADFOOT와 결합하십시오이 두 특징은 다음과 결합 할 수 있습니다 멋진 사용자 경험을 통해 정말 매력적인 경험을 얻을 수 있습니다

예를 들어 GPS 경로를 재생 중입니다 예를 들어 GPS 경로를 재생 중입니다 마크는 사용자의 실시간 위치 및 방향을 나타냅니다 마커의 방위는 사용자의 방위를 나타냅니다 그리고 그 특정 시점에, 마커가지도를 따라 움직일 때 움직일 수 있습니다 DANIEL SCHRAMM의 크로스 플랫폼 기능 중 일부는 다음과 같습니다

이는 크로스 플랫폼 기능입니다 오늘 우리는 그것에 대해 이야기 할 것이고, 오늘 이야기 할 시간이 있습니다 플랫폼의 각 기능, 플랫폼 별 기능을 배우려면 릴리스 정보를 참조하십시오 설명서에 게시 된 설명서를 살펴보십시오 Google Maps API를 설치하는 것을 잊지 마십시오

CHRIS BROADFOOT : Google+ 서클의 Google지도 API + 페이지에 추가합니다 지켜 줘서 고마워요 들어 주셔서 감사합니다 다음에 다시 보겠습니다 DANIEL SCHRAMM : 너 보자

New Online Game on Android with 3D Style, over 700 Pokemon, Mega Evolve, Z Moves on Pocket Trainer

Pokemonercom에 다시 오신 것을 환영합니다

나는 포켓몬이다 그래서 오늘, 우리는 모바일 게임을 할 것입니다 소년 보자 좋아, 오늘, 우리는 모바일 온라인 게임을 할 것이다 포켓 트레이너이고 Android에서 게임을 할 수 있습니다

그리고이 게임은 너무 무거워서 파일 크기가 700 MB 이상입니다 무언가를 살펴 보겠습니다 그래서이 게임에는 3D 스타일로 멋진 캐릭터가 있다고 말할 수 있습니다 Pokemon Black and White에서 캐릭터를 선택할 수 있습니다 그런 다음 부자 인 경우 Pokemon Sun / Moon 또는 Pokemon Red의 캐릭터로 전환 할 수 있습니다

그래서이 게임에서는 메가 에볼루션 (Mega Evolution)과 Z 이동 (Z Moves)으로 700 가지가 넘는 포켓몬을 포착 할 수 있습니다 당신은 PK를 가지고 친구와 놀 수 있습니다 음악은 좋고 그래픽도 좋다 이제는 더 많은 게임과 더 많은 비디오를 얻기 위해 Pokemonercom을 구독하고 비디오를 공유하고 싶다는 것을 기억하십시오

Android Q Beta 4 is Out! – What's New?

안녕하세요 ZolloTech 및 Android Q 베타 4에 대한 모든 애런은 현재 여기에 있습니다

개발자와 베타 테스터는 3 백 36 포인트 내 픽셀에 8 메가 바이트 세 XL 빌드 번호는 QPP4190502018입니다 이 특별한 빌드는 더 세련된 것입니다 OS 전반에 걸쳐 모든 종류의 작은 것들 중에서 가장 먼저 할 일은 픽셀 3a 및 3a Excel을 지원하므로 이러한 장치 중 하나를 사용할 수 있습니다 그것을 설치합니다 공식 안드로이드 베타에 대한 링크를 아래의 설명에서 첫 번째 변경 사항과 첫 번째 사항을 살펴 보겠습니다

api가 개발자를 염려하는 한 최종 결정입니다 개발자가 모든 일을 처리하기를 원한다면 좋을 것입니다 이제 최종 릴리즈 준비 이제 항상 켜져있는 디스플레이에도 약간의 변화가 있습니다 그래서 여기에 들어가면 노래를 시작하면 집이나 집에서 어떻게 생겼는지 보여 드리겠습니다 항상 켜져있는 화면으로 돌아가서이 기능을 켜면 이제 글꼴이 표시됩니다

시계가 조금 더 크고 또한 노래 이름이 여기에 있지만 그 다음에는 실제 아티스트와 함께 작은 음악 아이콘이 있습니다 날씨는 있지만 더 이상 날짜와 시간을 입력하지 않으면 내가 깨우면 여기서 잠금 해제 된 것을 볼 수 있습니다 현명한 잠금 장치로 이제는 일부 사람들에게 조금 다르게 보입니다 이것은 당신이 가지고 있어야하는지 모르는 사람들을위한 픽셀 존재를 보여주고 있습니다 설치되었거나 그렇지 않은 픽셀 싹이 있지만 조금 다른 경우도 있습니다

작은 자물쇠 아이콘이 이제는 맨 위에 있습니다 설정은 지금 fennec ation에 직면 해 있습니다 나는 9 ~ 5 가지를 찾을 수 없습니다 얼굴을 검색하면 얼굴이 보일 수도 있습니다 얼굴을 볼 수 없으므로 시도해 보았습니다

저를 위해 거기서 다만 아닙니다 그러나 몇몇 사람들을 위해 가정에 지금 있을지도 모른다 화면이 약간 다르므로 글꼴이 조금 보입니다 조금 더 굵게 그래서 만약 내가 픽셀 3a XL에 가서 3a는 안드로이드 9를 실행하지만 글꼴은 약간 다르다 베타 3과도 다르다 거기에서 정말로 거대한 그러나 그것은 또한 어둡게 모드가 약간의 비틀기를 가지고있는 것으로 바뀐다 당신이 어둠의 모드에 있다면 지금 내가 볼 수있는 작은 검색입니다 막대가 이제 어둡고 전원 버튼을 누른 경우 거기에 변화가뿐만 아니라이 명령 줄에서 활성화해야하지만이 몇 가지 카드와 관련이 있습니다

잠시 후에 그 카드를 보여 드리겠습니다 일반적으로 그것은 측면에 있지만 비상시에는 약간 똑같아 보입니다 더 어둡기 때문에 약간 변경되었지만 과감한 것은 없습니다 이제 우리는 우리가 들어 와서 선택할 수있는 몇 가지 작은 것들을 추가했습니다 배경 화면 미리보기 버튼이있어서 미리보기를 탭하면 지워집니다

당신은 더 나은 아이디어를 얻을 수 있도록 디스플레이에서 모든 것을 실제 배경 화면 바닥에 멋진 정보가있는 것처럼 보입니다 정말로 좋은 공유는 조금 비틀었다 그래서 만일 내가 크롬에 여기에 들어가면 그리고 나서 작은 점 세 개를 치고 나면이 점을 조금 나눕니다 우리가 복사 할 수 있도록 여기에 복사본이 있습니다 가장 많이 사용하는 앱과 함께 앱과 공유 한 사람 또는 물건 그 아래에있는 목록은 정말 멋지다

그리고 나서 그들은 또한 돌아왔다 상황 인식 회전 회전 잠금이있는 경우 내가 이것을 회전 시키면 회전하는 것을 알고 있지만 회전시키고 싶다면 작은 버튼을 치면 회전 할 것이고 여기서 수직으로 돌아갈 것입니다 초상화를 누른 다음 다시 칠하면 우리는 내가 언급 한 것을 지금 되돌릴 수있다 이전에 작은 힘 버튼으로 우리가 이것을 밀어 넣으면 다른 것입니다

왜냐하면 저는 명령 줄에서이 기능을 활성화하여 다른 응용 프로그램 및 / 또는 설정이 아닌 다른 옵션을 사용하여 여기로 들어가서 시스템 아래에 우리가 제스처와 제스처에 가면 나는 카드와 패스가있는 커맨드 라인이있는 이것은 신용 카드 패스 티켓 및 긴급 정보 보도 자료를 보여줍니다 이것을 보여줍니다 언론에 이것을 돌리면 전원 버튼을 누르고 있습니다 전에했던 것처럼 다른 것을해라 그래서 이것은 무언가이다 나중에 Google 결제를 위해 조금씩 변경 될 수 있습니다 지금은 더 많은 것을 볼 수있을 것입니다

여기서 Wi-Fi 아이콘이 조금 달라 보이는 것을 알 수 있습니다 신호가 낮을 때마다 다르다는 것을 쉽게 알 수 있지만 조금 있습니다 알림도 다르다면 왼쪽이나 오른쪽으로 스 와이프 할 수 있습니다 그들이 돌아 왔을 때 돌아와 방해하지 마라 그렇게 볼 수있다

알림 이제 어느 방향 으로든 스 와이프 할 수 있습니다 디스플레이에서 그냥 문지르면 상관 없어요 우리가 여기 들어갈 통보에 들어가면 다른 것입니다 앱과 알림, 그리고 알림이 표시됩니다 베타 4의 새로운 애니메이션에는 자동 알림도 있습니다

우선 순위 결정은 또한 행동과 응답을 제안하고 또한 우리는 알림 점 또는 그 알림 거품 지금이 표시를 보지 못했어요 지금은 네이티브이지만 지금은 개발자 옵션 이었으므로 베타 4를 주류로 삼고 있기 때문에 약간의 문제가 있습니다 다른 것은 또한 새로운 제스처가 있기 때문에 볼 수 있듯이 나는 뒤로 당기고있다 그 작은 화살은 조금 다르다 그리고 그것은 매우 빠르지 않다 솔직히 내가 여기로 돌아 가면 우리가 돌아갈 수 있다는 것을 알게 될거야

스 와이프 홈 및 스 와이프하여 다시 실제로 작동하지만 꽤 빠르지 만 물론 뒤로 버튼을 원한다면 꺼 버릴 수 있습니다 거기서 당신은 실제로 이러한 제스처를 켜야합니다 그래서 우리가 다시 가자 시스템에 이르기까지 개발자 옵션과 개발자 옵션에 따라 몇 가지 새로운 악센트 색상 그래서 나는이 밝은 파란색 색상을 볼 수 있도록 악센트 색상과 아래로 현재 나는 바다 악센트에 있어요 우리는 이제 계피를 가지고 있으므로 거기에 변화가있을 때까지 1 분이 걸립니다 공간 그리고 난초가 있습니다 그래서 몇 가지 새로운 색상 나는 종류의 바다 색 그래서 그들은 여기에있는 새로운 것들입니다

우리가 가면 잠을 말하고 잠을 자던 곳에서 여기에서 그들은 수면 시간을 변경하여 수면 시간을 변경 한 것을 볼 수 있습니다 수면 대신에 스크린 타임 아웃을하고, 그 후에 가정 설정에서 개요 및 모든 앱 목록에서 몇 가지 제안 사항을 삭제했습니다 더 이상 거기 있지는 않지만 모든 것이 더 세련되어 보인다 훨씬 더 많은 일이 진행되는 것은 우리가 이전에 가지고 있던 것의 정교한 것일뿐입니다 그것이 더 좋아지고 있고 더 좋아지는 것처럼 보인다 더 안정되어있는 것처럼 보인다

내가 베타 3을 사용해 본 적은 거의 나쁘지는 않지만 다시 당신이 버그와 물건들을 위험에 기꺼이하지 않는다면 나는 공개 버전이 나오면 나중에 나에게 알려줘 아래의 코멘트에서 생각해보십시오이 벽지를 링크 해 드리겠습니다 이미 가입하지 않았 으면 좋겠다 비디오는 항상 감사합니다

아론 다음에 보자

What's New in Kotlin on Android, 2 Years In (Google I/O'19)

[음악 재생] JEFFREY VAN GOGH : 안녕하세요 나는 Jeffrey van Gogh입니다

저는 Android Studio의 기술 책임자입니다 그리고 나는 프로그래밍 언어를 책임지고있다 및 컴파일러 하디 해리 : 그리고 저는 하디, 개발자 옹호자입니다 JetBrains에서

[치어 리더] JEFFREY VAN GOGH : 그래서 2 년이 지났습니다 구글이 안드로이드에 대한 코 틀린의 지원을 발표 한 이후 그리고 어제 Google은 Kotlin-first를 발표했습니다 그래서 우리는 당신에게 이것을 배경으로 줄 알았습니다 그리고 물론, 우리는 2 년 전에 시작하지 않았습니다

우리는 물건을 얻기 위해 상당한 시간이 걸렸습니다 안드로이드에서 Kotlin에 대한 준비 그리고 우리는 3 년, 3 년, 1 년 반 전에 결정했습니다 Google에는 수많은 언어 괴짜가있었습니다 나도 코 틀린과 놀기 시작 했어

헤이, 이것은 실제로 아주 멋지다 물론 Android Studio는 IntelliJ를 기반으로합니다 그리고 IntelliJ는 Kotlin을 오래된 코드베이스로 사용하기 시작했습니다 그래서 우리는 점점 더 코 틀린을 보게되었습니다 Android Studio에서 사용 중입니다

그리고 동시에, 우리는 고객 권고에서 많은 고객 피드백 게시판, 설문 조사 및 임시 토론 이 같은 회의에서 사람들은 Kotlin을 정말 좋아합니다 그리고 그들은 정말로 Google이 그것을 지원하기를 바라고 있습니다 왜냐하면 그들의 회사는 그렇지 않으면 Kotlin을 채택하지 않기 때문입니다 물론, 그런 새로운 언어를 사용합니다 큰 일이다

그래서 우리는 이사들에게 이것이 투자 할 가치가있는 무언가 우리가 발견 한 가장 좋은 방법은 우리 이사들에게 코드를 작성하게 Kotlin에서 며칠 동안 그 후에 그들은 팔렸다 I / O 2017 이전에 몇 달 전에, 우리는 그것을하기로 결정했습니다 이것은 많은 회의가이 모든 것을 설정하는 것을 의미했습니다

테크니컬 리드 나 매니저로서, 당신은 더 이상 코딩 할 시간이 충분하지 않습니다 기초를 설정하십시오 따라서 Google I / O 2017 이전의 모든 준비가 완료되었습니다 Android Dev 하위 레딧에이 큰 스레드가있었습니다 구글이 결코 Kotlin을 받아들이지 않을 것입니다

물론 우리는 무슨 일이 일어날 지 알고있었습니다 하지만 그 스레드에 회신을 보내는 것은 너무 어려웠습니다 그래, 2 년 전 Steph는 무대에 올랐어 코 틀린 지원 발표 나는 그것이 개발자의 가장 큰 박수라고 생각한다

기조 그것은 훌륭했다 물론, 우리 모두는 JetBrains과 Google 모두에서 알고있었습니다 그건 우리가 많은 일을했다는 것을 의미했다 우리 앞에 Kotlin이 잘 작동했는지 확인하십시오

Android 및 일반적으로 그리고 오늘, 우리는 우리가 지난 2 년 동안해온 일의 하디가 무슨 일이 일어 났는지 얘기 할거야 지난 몇 년 동안 코 틀린에게 그리고 나서 다시 가져 가겠 어 안드로이드 측에서 우리가 한 일에 대해서 이야기하겠습니다

하리 하리 : 고마워 시작하려면 먼저 언급하고 싶습니다 코 틀린 재단 (Kotlin Foundation) Google에서 공식 지원을 발표 한 시점을 기억한다면 몇 년 전에 Kotlin을 위해, 우리는 또한 간략하게 언급했다 우리가 창안 된 기초가 될 것입니다 JetBrains와 Google이 보호, 홍보 및 홍보 언어 Kotlin

재단은 이사회의 통제를받습니다 JetBrains의 두 대표, 두 구글, 및 1 명의 독립적 인 일원 그리고 당신에게 약간의 아이디어를주기 위해서입니다 기초의 범위가 무엇인지, 직업 중 하나 현재 언어 리드 디자이너를 임명하는 것이고, 물론 Andrey Breslav가 있습니다 변화를 막기위한 언어위원회

그리고이 점을 이해하는 것이 매우 중요합니다 범위면에서 제한적입니다 따라서 변경 사항을 깨는 것입니다 Kotlin은 지금도 열려 있기 때문에 계속 개발되고 있으며, GitHub에 우리는 여전히 KEEP을 가지고 있는데 이것은 Kotlin Evolution 개선 프로세스

그러나 언어위원회는 대부분 언어에 일어날 수있는 변화를 깨고 또한 상표 소위원회가 있습니다 그것은 Kotlin의 상표를 보호하는 것입니다 Kotlin을 홍보하고 사용하는 데 도움이되는 커뮤니티와 협력 공정한 방법으로 Kotlin 그리고 당신이 기초에 관하여 더 많은 것을 발견하고 싶은 경우에, 당신은 KotlinLang 웹 사이트에 갈 수 있습니다 세부 정보뿐만 아니라 더 많은 정보를 얻을 수 있습니다

Kotlin과 상표 등을 어떻게 사용할 수 있는지에 관한 정보 그리고 그걸로 데모로 넘어 갑시다 그리고 나는 언어로 당신에게 몇 가지 것을 보여줄 것입니다 이것은 내가 다른 사람의 기계를 사용하고있는 곳이다 이것이 어떻게 진행되는지 봅시다

ID가 맞다고 생각해 예 그래서 저는 언어에 대해 몇 가지 것을 보여 드리겠습니다 아마 가장 근본적이고 가장 중요한 것입니다 우리가 한 짓은 아주 취한 것입니다

오랫동안, 당신이 코 틀린을 쓰는 것에 익숙하다면 응용 프로그램을 사용하면 주된 진입 점이 있습니다 그래서 우리는 실제로 그것을 만들었으므로 매개 변수가 없습니다 그게 전부입니다 고맙습니다 제프리, 네가 원하니? 오

[웃음] 우린 2 년이 걸렸어 아니 그래서 우리는 우리가 가지고있는 작은 것들 중 일부부터 시작할 것입니다 언어 자체로 완성되었습니다 예를 들어, when 문을 사용하면 변수의 값을 캡처해야합니다

그 변수를 검사해야합니다 너는 너의 실제 내부에서만 그것을 사용하고있어 when 문 그래서 우리는 이것을 조금 더 멋지게 만들었습니다 본질적으로 변수를 때 문 자체

따라서 범위 밖에서 참조 할 필요가 없습니다 그리고 이것은 당신에게 당신의 언어로 의미를 부여합니다 사람들은 이것이 실제로 제한되어 있음을 이해합니다 조건부로 하지만 조금 더 얘기하자

우리가 소개 한 멋진 기능들 그것들은 좋지 않았다 나는 우리가 도입 한 더 멋진 기능을 말하고 있습니다 예를 들어 응용 프로그램이 있다고 가정 해 봅시다 클래스를 만들고 싶습니다

그리고 수업을 만들겠습니다 MicroserviceAPI라고 불릴 것입니다 그래서 저는 마이크로 서비스 API의 인스턴스를 만들 수 있습니다 마이크로 서비스 API를 말할 것입니다 우리는 거기에 갈

이제,이 마이크로 서비스가 필요한지는 모르겠습니다 마지막으로 갈거야 단지 유행 일 수 있습니다 그래서 내가하고 싶은 것은 사람들에게 이게이게 친절한 사람들이야 실험적인 기능과 같습니다

우리가 할 수있는 일은 우리가 실제로 할 수있는 것입니다 주석 클래스를 만든다 예를 들어, 이것이 새로운 API라고 말할 수 있습니다 그 주석 클래스에 주석을 달아라 Experimental이라는 다른 클래스와 함께 이제 새로운 실험적 주석을 사용할 수 있습니다

나는 내가 실험적으로 생각하는 어떤 것에도 창조했다 내 API에서 그래서 여기에이 새로운 API를 추가 할 수 있습니다 그리고 내가 그렇게하면, 이것이 빨간색으로 변하고 있음을 알 수 있습니다 그래서 그것은 나에게 컴파일러 오류를주고있다

당신이 이것을 사용할 수 없다는 말입니다 이것은 실험적인 기능이기 때문입니다 그 위에 마우스를 올려 놓으면 실험적이라고 말하는 것입니다 사실, 우리는 그것을 바꿀 수 있습니다 우리는 그것이 오류가 아니라, 실제로 경고로 정의 할 수 있습니다

그래서 여기에 경고가 될 수 있습니다 그리고 지금 막 가고 있습니다 경고로 표시됩니다 그래서 이것을 사용하기 위해서, 개발자 기본적으로이 기능을 선택해야합니다 내가 할 수있는 것은 Alt-Enter입니다

이제는 함수 호출에 새 API를 추가합니다 그래서 내가 어디에서 이것을 사용하는지, 이것은 실험적인 기능이라고합니다 이것은 사람들에게 당신이 지금 생각할 수있는 아이디어를줍니다 실험적이고 비슷한 종류의 API를 만들 수 있습니다 나는 아무것도 보증하지 않을거야

내일 우리가 뭔가를 바꾸고 싶다면 괜찮아 니가 경고 했어 Alt-Enter를 누르십시오 당신이 Alt-Enter를 봤다는 것을 알았습니다 괜찮아

너 자신의 잘못이야 그리고 우리가 실제로이 일을 한 것 중 하나는 우리는이 계약 개념을 도입 했습니까? 따라서 약간의 코드 계약에 익숙하다면, 우리는 이것을 Kotlin의 실험적 기능으로 소개했습니다 게다가 그래서 나는 어떤 함수가 있다고 가정 해 봅시다 예 : printLength

그리고 이것은 nullable 인 문자열을 취할 것이고, 그리고 string이 null이 아닌 경우, 나는 println 길이 할거야 이제이 방법이 효과가 있으며 스마트 캐스트가 완료되었습니다 문자열, null이 아닌 문자열, 내가 이미 그걸 발견했기 때문에 이것이 nullable이 아니라는 것을 알아 냈습니다 그래서 나는이 똑똑한 던지기를 할 수있다 그러나 내가 이것을 취해야한다면, 그리고 널 (null)이 아닌 대신에, 나는 무언가를한다, 아니다, 나는 앞으로 나아가고 창조한다

내 함수, 그래서 내 함수를 만드는 가정 해 봅시다 String이고 notNull 인 경우 부울을 반환합니다 그런 다음 반환 값이 null이 아니라고 말합니다 그 효과가 없다는 것을 알 수 있습니다 컴파일러가 실제로 그것이 not-nullable

컴파일러에게 알려주는 것이 좋을 것입니다 이 기능은 특정 계약을 준수해야합니다 그리고 Kotlin에서 이것을 정의 할 수 있습니다 계약 람다를 사용하여 계약 함수 계약이다 그리고 그것이 수입이라고 말할 수 있습니다

그리고 나는 진정한 의미의 반환을 말할 수 있습니다 이 @ notNull이 null이 아님을 나타냅니다 이제 오류가 발생합니다 무시해 아니, 농담이야

이 오류가 발생하는 이유 이것은 위에서 언급했듯이 실험적인 기능이기 때문입니다 두 가지 방법이 있습니다 첫 번째 것을 보여주었습니다 주석을 추가 할 수있었습니다 그러나 주석을 추가하면 그 주석이 전파되지 않습니다

그래서 뭔가가 그 API를 사용하고 있다면, 또한 주석을 추가해야합니다 전파 주석을 추가 할 수 있습니다 이것,이 형식입니다, 그리고 지금 나는 그렇게하지 않아도됩니다 그 통지를 추가하자마자, 지금 자동으로 다시 null이 허용되지 않는 문자열로 변환됩니다 따라서 실제로 계약을 맺고 함수에 대한 당신의 주장 특정 조건을 충족시킵니다

그리고 그것은 기본적으로 특정 수준의 코드 정확성 실제 코드에서 그럼 우리가 뭘하고 있는거야? 글쎄, 우리는 이것을 직렬화라고 부릅니다 멀티 플랫폼 인 직렬화 라이브러리입니다 JVM, JavaScript, Kotlin / Native, iOS, macOS, 리눅스, 윈도우, 임베디드 나는 태양 아래 모든 것을 언급했다고 생각한다

그리고 이것은 다중 플랫폼 라이브러리입니다 어떤 종류의 반성도 요구하지 않는, 일부 제품의 일부입니다 우리가 언어와 생태계의 일부로하고있는 일 그것 주위 그래서 여기에서는 클래스, 전형적인 데이터 클래스, 그리고이 serializable 어노테이션을 추가했다 이 라이브러리는 Kotlin 직렬화 라이브러리의 일부이며, 그런 다음 고객이 있으며 고객 목록이 있습니다

그래서 저는 println과 같은 것을 할 수 있습니다 그리고 나서 여기에서 나는 Json을 할 것입니다 stringify, Customer, 사용하고 싶은 시리얼 화자를 표시 한 다음 실제 고객을 전달하십시오 그리고 나는 똑같은 일을 고객 명단에서 할 수 있습니다 그래서 여기에 목록을 작성한 다음 고객 목록을 전달할 수 있습니다

그리고 이것을 실행한다면, 기본적으로 무엇을 할 것인가? JSON에서 해당 데이터 클래스로 출력됩니다 우리는 JSON을 지원합니다 Protobuf에 대한 지원이 있습니다 그리고 다른 것들이 작동합니다 그리고 우리는 분명히 그 반대를 할 수 있습니다

예를 들어, 여기에 JSON이 있다고 가정 해보십시오 이제 JSON을 만들어 보겠습니다 그래서 우리는 id가 1과 같을 것이고, 그 다음에 이름이 나와 같습니다 이메일은 you@mecom과 같습니다

나는 너무 독창적이다 이제 println을 할 수 있습니다이 경우, 저는 Json을 할 것입니다 parse, serializer를 다시 통과 시키십시오 그리고 내가 전달하고자하는 실제 JSON

그리고 이것이 할 일은 본질적으로 나에 대한 실제 데이터 클래스 객체 그리고 당신은 그것이 또한 – 나를 위해 데이터 객체를 반대로 만듭니다 내가 뭘 한거지? 이메일, 이름, 이메일 관객 : [INAUDIBLE] 하리 할리 : 필드 소스가 필요합니까? 아니, 그렇지 않아 관객 : [INAUDIBLE] 하리 할리 : 아니

그건 사실 맞아 어쨌든, 그렇게 일하고있었습니다

[웃음] 제프리예요 그는 뭔가를했습니다 제프리 반 고글 : 어 – 허 [박수 갈채] HADI HARIRI : 나는 사람들이 박수를 치기를 정말 좋아합니다 그래서 나는 그곳에서 무슨 일이 일어나고 있는지 모른다

그러나 그것은 라이브 데모에 대한 좋은 점입니다 뭔가 잘못 됐는지 확인하고 싶습니다 나는 사실 그것을 실제로했다 그래서 저는 그것을 운동으로했습니다 나중에 사무실 시간에 나에게 와서 그게 뭐가 잘못 됐는지 말해 줄거야

계속 나아 갑시다 내가 너에게 보여주고 싶은 다음 주석 클래스에 대한 간략한 개요입니다 여기에 지원을위한 몇 가지 추가 사항이 추가되었습니다 열거 형 예를 들어, 주석에 enum을 가질 수 있습니다

중첩 된 주석을 가질 수 있습니다 내 동반자 개체의 일부로 속성을 가질 수 있습니다 다시 말하지만, 이것은 나에게 더 많은 표현력을줍니다 실제 주석을 사용할 때 이제 우리가 작업 해 온 또 다른 것이 있습니다

당신이 들었을지도 모르는 멀티 플랫폼 프로그래밍입니다 그리고 멀티 플랫폼 프로그래밍의 아이디어는, 한 입 가득, 그 아이디어는 바로 지금 Kotlin입니다 다른 유형의 플랫폼을 타겟팅 할 수 있습니다 그래서 JVM을 대상으로 할 수 있습니다 자바 스크립트를 타겟팅 할 수 있습니다

네이티브 등을 타겟팅 할 수 있습니다 이제 이것에 대한 위대한 것들 중 하나 코드를 공유 할 수있는 능력, 왜냐하면 내가 공유하기를 원하는 많은 코드가 있기 때문입니다 권리? 비즈니스 로직, 검증 로직 등이 있습니다 내가 공유를 끝내고 싶다 그러면 우리는 어떻게 이런 일을 할 수 있습니까? 이것이 우리가 멀티 플랫폼의 개념을 도입 한 곳입니다

프로그램 작성 그리고 그 결과로, 당신은 지금 이 다중 플랫폼 프로젝트를 가질 생각이 들었습니다 그래서 당신은 내가 IDE에서이 프로젝트를 가지고 있다는 것을 알 수 있습니다 다른 플랫폼을 타겟팅하고 있습니다 그래서 나는 macOS를 가지고 있고, JVM을 가지고 있으며 JavaScript를 가지고있다

그런 다음 일련의 공통 코드가 있습니다 이것은 보통이라고 불린다 그리고 여기 안에는 몇 가지 코드가 있습니다 그래서 여기에 hello라는이 함수가 있습니다 즉, platform

name에서 인사하는 것입니다 그리고 platformname은 object의 속성입니다 그러나 차이점은이 객체 기대라고하는이 단어가 앞에 있습니다 이것이 말하는 것은 이것이 약간의 코드라는 것입니다

내 공통 코드에서 참조 할 수있는 구현은 실제로 여기에 제공되지 않습니다 구현이 제공 될 것입니다 다른 유형의 플랫폼에서 다른 방식으로, 이는 플랫폼에 따라 다를 수 있기 때문입니다 그래서이 귀여운 것을 볼 수 있습니다 여기 모퉁이에 작은

Alt Enter를 누르면 선언에 들어가라고 말하면서, 어떤 플랫폼 선언을보고 싶은지 묻습니다 따라서 JVM이라고하면 JVM으로 연결됩니다 내가 돌아가서 macOS에서 실제 선언문으로 간다면, 그것은 나를 macOS에 데려 갈 것이다 권리? 그래서 다른 플랫폼에서 다른 구현을 할 수 있습니다 그럼에도 공통 코드에서 해당 코드를 참조 할 수 있습니다

내 공유 코드 기반의 일부로 사용하십시오 그리고 시원한 것은 그렇게 생각해

생각해라 인터페이스와 조금 닮았습니다 그러한 인터페이스의 구현 그리고 멋진 점은 정적 컴파일 시간을 얻는다는 것입니다 확인, 말하자면 그래서 내가 이것을 주석으로 달아서 여기로 돌아 가면, 당신은 그것이 저에게 오류를주는 것을 볼 수 있습니다, 실제 플랫폼 중 하나 구현이 누락되었습니다

이제이 작업을 통해 공통 코드를 공유 할 수있는 다중 플랫폼 프로젝트 기초를두고 특정 구현을 기반으로한다 실제 목표에 약간 다르게 적용됩니다 그리고 그것은 멀티 플랫폼 프로젝트의 일부입니다 우리가 코 틀린과 함께 나아갈 것을 제안하고있다 예를 들어 Android와 공통 코드 기반을 공유하는 Android 애플리케이션, iOS 등

슬라이드로 다시 전환 할 수 있다면 내가 너에게 약간 얘기 할거야 우리가 가져온 다른 것들 Kotlin에게 언어 우리는 더 많은 표준 라이브러리 API를 가지고 있습니다 우리는 여전히 메소드의 API 번호를 유지하고 있습니다 조금 낮추지 만 더 많은 기능을 추가하고 있습니다

그 지역에 부호없는 정수 지원 – 아무도? 아니? 예 [박수 갈채] 나는 누군가를 항상 알고 있기 때문에 그것을 추가했다 그것에 대해 두드림 분명히 우리는 2018 년 패킷 KotlinConf를 발표했습니다

Kotlin 네이티브가 베타를 친다 툴링면에서 우리는 향상된 성능을 제공했습니다 Gradle 프로젝트를위한 고속, 병렬 빌드, KAPT를 사용한 점진적 주석 처리 Google에서 Ivan Garvrilovic에게 큰 소리 치십시오 우리를 돕기 위해

새로운 유형의 추론 엔진 상호 운용성의 많은 경우에, 특히 RX 주변에서 일하는 경우, 뿐만 아니라 언어를 조금 더 빌더를 사용할 때 간결하게, 등등 그리고 우리는이 프로그레시브 모드를 도입했습니다 본질적으로 당신이 코 틀린을 시험해 볼 수있게 해줍니다 새로운 기능을 사용해보십시오 일부 코드를 어기십시오

이제는 할 수있는 깃발입니다 Kotlin과 함께 좀 더 살기 가능하게하다 가장자리에 그리고 그걸로 제프리에게 건네 주겠어 그게 우리가했던 다른 것들을 보여줄거야

특히 안드로이드에서하고 있습니다 JEFFREY VAN GOGH : 고마워, 하디 데모를 잊어 버린 기능이 하나 있다고 생각합니다 HADI HARIRI : 당신이 무슨 말을하는지 전혀 모르겠습니다 JEFFREY VAN GOGH : 괜찮습니다

내 데모에 보여 줄게 HADI HARIRI : 당신이 아마 그것을 망 쳤어 [웃음] 제프리 반 고글 : 좋아 이제 Android 측에서 수행 한 작업을 살펴 ​​보겠습니다 Kotlin을 지원합니다

먼저 OS로 시작합시다 물론 OS는 바이트 코드로 작동합니다 따라서 Kotlin을 지원하기 위해해야 ​​할 일이별로 없습니다 그러나 우리는 정확성을 추가했는지 확인했습니다 성능 테스트를 통해 코 틀린 패턴을 깨지 않게했습니다

우리는 몇 가지 구체적인 성능을 구현했습니다 이러한 테스트를 기반으로 한 최적화, 루프 최적화에 특히 적합합니다 그리고 나서 우리는 OS 측면에서 큰 일을했습니다 디버깅 지원이 향상되었습니다 Kotlin은 몇 가지 구조를 가지고 있습니다

당신이 다른 언어로 가지고 있지 않은 인라인 함수처럼 Android의 새로운 버전 이제 더 나은 디버깅을 지원합니다 그런 다음 안드로이드 프레임 워크, 거기에서 일어나는 일이 많습니다 중요한 것은 API 주석을 추가 한 것입니다 아직 완성되지 않았습니다

그러나 새로운 API는 이제 nullness와 기본 매개 변수를 갖습니다 기본 값 주석이 있으므로 Kotlin에서 온 사람들을 사용할 수 있습니다 기존 API를 통해 작업하고 있습니다 뿐만 아니라 주석을 달 수 있습니다 그런 다음 Kotlin 확장 API를 추가했습니다

그래서 이것들은 여러분이 프로젝트에 다음을 제공하십시오 확장 메소드를 통한 추가 API Kotlin 코드를 더 관용적으로 만드십시오 그런 다음 우리는 전체 묶음에 대해 코 루틴 지원을 추가합니다 Jetpack 라이브러리 [박수 갈채] 따라서 비동기 코드를 작성할 수 있습니다

좀 더 절차적인 방법으로 그리고 물론, 어제 우리는 Jetpack Compose를 발표했습니다 그것은 모두 코 틀린입니다 이제 데모를 살펴 봅시다 좋아요 그래서 여기에 작은 앱을 만들면, 쇼 목록을 다운로드합니다

개조를 사용하여 서버에서 사용할 수 있습니다 그런 다음 로컬 SQL 데이터베이스를 검사합니다 방 API를 사용하여이 쇼들을 봤다 면요 그래서 여기에, 내가 정의한 것을 볼 수 있습니다 API를 사용하여 둘 다 RX 자바를 사용하여 쇼의 목록을 얻을, Kotlin 코딩 비동기 기능을 사용할 수도 있습니다

그리고 API는 거의 동일하다는 것을 알 수 있습니다 같은, 조금 다른 반환 유형 그리고 방 쪽 – 오, 미안 (QUIETLY) 내 코드는 어디에 있습니까? 좋습니다, API는 건너 뜁니다 꽤 많이 있습니다

오, 여기 있습니다 죄송합니다 그래서 당신은 똑같은 것을 봅니다 나는 쇼를 봤어? Java의 RX는 매우 유사합니다 여기 Flowable이 있습니다

[무관심]이 있습니다 따라서 API는 꽤 유사합니다 이제 전화하는 방식을 살펴 보겠습니다 RX와 Java 사이의 코드 – RX와 coroutines 그래서 RX에서는 쇼를 진행하기 위해 많은 운영자를 사용합니다

모든 비동기 호출로 우리의 흐름을 수행하십시오 그리고 이것들은 꽤 복잡해 질 수 있습니다 그리고이 코드는 노란색으로 강조 표시되어 있습니다 그게 내가 아는 뭔가가 있다는 뜻이야 반환 유형으로 수행

따라서 구독 할 때, 당신은 구독을 처리합니다 물론 RX는 Java에 뛰어난 표현력을 제공했습니다 그리고 RX의 발명가들은 똑똑했습니다 그들은 그들이 무엇을 만들고 있는지 알았습니다 그러나 그들은 언어에 의해 제한되었습니다

Kotlin에서 우리는 이제 coroutines를 가지고 있습니다 우리는 실제로 이것을 훨씬 더 멋지게 할 수 있습니다 그래서 코 루틴을 사용하는 동일한 코드가 있습니다 먼저 서버에서 프로그램 목록을 가져옵니다 우리는 이것을 대기 함수라고 부릅니다

신원이 알려줍니다 이봐 요 여기서 비동기적인 일이 일어나고 있습니다 그런 다음 우리는 for for 루프를 사용할 수 있습니다 그리고 그것은 반환 쇼 동안의 [INAUDIBLE]입니다

그리고 우리는 우리의 비동기 내가 로컬 데이터베이스에 쇼를 본 적이 있는지 알아보기 위해 호출하십시오 그리고 거기에서 계속됩니다 그리고 나서, 여기에, 당신은이 발사 호출을 봅니다 이 전화 해 데이터 세트가 변경되었음을 알리는 지 확인하십시오

UI 스레드에서 그리고 여기서 좋은 점은 절차 적으로 보입니다 디버깅을 할 때 – 나는 지금 시작해야한다 물론 작동하지 않습니다 오! 우리는 거기에 갈

이미 실행 중입니다 그래서 내가 실제로 볼 수 있다는 것을 알 수 있습니다 전체 방법으로부터의 변수들에서, 특정 운영자 만이 아닙니다 그래서 인생이 훨씬 쉬워집니다 비동기 코드를 디버깅 할 때 이제 슬라이드로 다시 전환하십시오

다음은 Android Tooling입니다 Android Studio에서 많은 작업을 수행했습니다 Kotlin이 잘 지원되는지 확인하십시오 우리가 한 첫 번째 일은 Kotlin 플러그인이 Android Studio에 포함되어 있음 우리가 그것을 공개하기 전에 우리는 그것을 잘 테스트 할 수 있습니다 JetBrains와 긴밀하게 협력했습니다

그들이 Kotlin 플러그인을 업데이트 할 때마다, 공개하기 전에 테스트를 통해 확실하게 확인합니다 Android Studio와 Kotlin은 잘 작동합니다 다음으로 Android 리팩토링 지원을 추가했습니다 IDE에는 많은 작업이 있습니다 Android 관련 리팩토링입니다

우리는 지원을 추가하기 위해 노력하고 있습니다 코 틀린에있는 모든 사람들에게 린트쪽에는 린트가 거의 있습니다 완전히 다시 작성되었습니다 자바 언어에 대해 [INAUDIBLE] 점검을 작성하는 데 사용되었습니다

이제는 UAST라고 불리는 것을 사용합니다 한 번 같은 린트 체크를 쓸 수 있습니다 그리고 Kotlin과 Java 코드를 모두 분석 할 수 있습니다 제품 템플릿을 추가하여 당신은 새로운 단편이나 새로운 활동을 만들고 있습니다 당신은 Kotlin 코드를 처음부터 가지고 있습니다

당신은 그것을 변환 할 필요가 없습니다 이제 컴파일러 측면에서, 우리의 새로운 Shrinker R8 Kotlin 특정 최적화가 많이있다 그것으로, 당신이 만드는 이익을 얻을 수 있도록 가능한 한 작은 코드 물론 IDE는 이제 Jetpack을 지원합니다 구성된 프레임 워크

문서 및 샘플 사이트에서, developerandroidcom을 보면, 모든 API 참조에는 이제 Kotlin 및 Java 구문이 모두 있습니다 유효한 Kotlin 관련 문서 포털이 있습니다

Kotlin을 시작하는 방법, 사용법을 알려줄 것입니다 호출자 루틴 등 또한 많은 샘플과 스 니펫 이제 Kotlin을 사용할 수 있습니다 양쪽 측면, GitHub 샘플입니다 올해 Google I / O를 살펴볼 수있을뿐만 아니라, Androids의 프레젠테이션 대부분을 볼 수 있습니다

그들의 샘플을 Kotlin에서해라 당신도 볼 수있는 몇 가지 애플 리케이션이 있습니다 Google I / O 앱은 물론이 새로운 Android 해바라기 앱 Kotlin을 사용하여 처음부터 구축되었습니다 우리는 종종 헤이 (hey)를 요청 받는다 너희들이 코 틀린을 추천하고있다

하지만 너 혼자 사용하고 있니? 물론 그것은 매우 공정한 질문입니다 현재 Google에는 많은 사내 개발자 도구가 있습니다 그래서 Kotlin 지원을 추가하는 데는 시간이 걸렸습니다 Google 직원을위한 내부 앱으로 시작했습니다 예를 들어 내부 앱이 있습니다

지도와 사무실 위치를 보여줍니다 그래서 우리는 그 사실로부터 많은 것을 배웠습니다 그 이후로 우리는 실제로 일부 공개 Google Apps에서 Kotlin을 사용하기 시작했습니다 여기에 몇 가지 앱이 있습니다 오늘 Kotlin 코드를 휴대 전화에 보냅니다

그리고 더 많은 것을 기대할 수 있습니다 Kotlin을 채택하는 것에 대해 말하면, 전체 생태계를 살펴보고, 우리는 활발한 개발에서 – 적극적인 개발은 지난 6 개월 동안 Play 스토어에 업로드했습니다 우리는 애플 리케이션의 16 %가 지금 Kotlin을 사용하고있는 것을 본다 그리고 앱이 개발 될 수 있음을 명심하십시오 하나의 버그 수정 또는 하나의 자산 변경이 있기 때문입니다

그래서 16 %는 꽤 인상적입니다 지난 I / O 이후로 5 배나 성장했습니다 그리고 당신이 최고 천개의 앱을 본다면, 그것은 실제로 이미 훨씬 더 커졌습니다 우리가 Kotlin을 사용하여 볼 수있는 애플 리케이션의 44 % 그래서 우리를 코 틀린으로 데려옵니다

어제 발표했습니다 그래서 왜 우리가 왜했는지에 대한 더 많은 개요를 알려 드리고자합니다 그것은 무엇을 의미할까요? 그렇다면 왜 코 틀린을 발표할까요? 우리는 코 틀린을 사용하는 사람들의 강한 입양을보고 있습니다 우리는 지역 사회에 큰 흥분을 안겨줍니다 사람들이 Kotlin을 사용할 때

실제로 사람들이 설문 조사에서 질문을받을 때 그들이 얼마나 Kotlin을 더 행복하게 사용하는지, 실제로 사람들보다 25 % 높은 점수를받습니다 누가 Kotlin을 사용하지 않고있다 업계 전반 및 Google 내부의 많은 앱 지금 Kotlin을 사용 중입니다 우리는 많은 고객에게 다가갔습니다 고객 자문위원회 (Customer Advisory Board)를 포함하여 그리고 Kotlin에 대한 투자에 집중하십시오

그럼 그게 무슨 뜻 이죠? 물론, 우리는 자바 프로그래밍을 계속 지원할 것입니다 많은 측면에서 언어 플랫폼, Android Studio 지원, 보풀, 안드로이드 X와 같은 Docs가 사라지지 않을 것입니다 하지만 다른 노력들을 보면 우리의 온라인 교육, 샘플처럼 우리는 먼저 Kotlin, 그리고 나서 자바 외국어가 최선의 노력이 될 것입니다 그리고 물론, 몇 가지 기능이 있습니다

다중 플랫폼 프로젝트와 Jetpack Compose 그것들은 단지 Kotlin에서 제공 될 것입니다 지금 당연히, 우리가 사람들에게서 들리는 다음 질문은, 그게 내가 전환해야한다는 뜻인가? 제발 Kotlin을 먼저 가져 가지 마세요 모든 Java 코드를 가져 와서 Kotlin에서 다시 작성해야합니다 그건 우리가 네가하고 싶지 않은거야 Android Studio를 확인하십시오

그것은 많은 수십만 줄의 코드입니다 지금은 Android Studio의 약 10 % Kotlin입니다 특정 코드 그리고 우리가하는 일은 새로운 기능 만 사용한다는 것입니다 코 틀린에 써라

그리고 그것은 Kotlin 자바와 좋은 상호 운용성을 가지고있다 Kotlin에서 단일 클래스를 작성할 수 있습니다 나머지는 Java로 유지하십시오 또는 Kotlin에서 코드의 99 % Java에서 남은 부분 만 남았습니다 물론, 당신의 현재 상태는 중요합니다

프로젝트 및 팀의 당신이 당신의 방출을 발송하는 것으로부터 1 주일 떨어져 있다면, 아마도 Kotlin으로 전환하기에 가장 좋은시기는 아닙니다 그러나 새로운 개발주기를 시작한다면, 니가 코 틀린을 데려 갈 수있을거야 물론 팀에 따라 다릅니다 그들은 Kotlin에 관심이 있습니까? 이것들을 안전하게 지니고 있습니까? 우리는 또한 많은 사람들이 실제로 모집에서 언급 한 Kotlin을 사용합니다 그들은 더 많은 후보자를 얻을 수 있습니다

고려해야 할 사항 물론, 기술적 측면에서, 고려해야 할 트레이드 오프가 있습니다 Kotlin은 뛰어난 기능, 더 많은 생산성, 그리고 만족 그러나 당신은 학습 곡선에 대해 생각해야합니다 사람들이 배우는 데는 시간이 걸립니다 관용적 인 코 틀린을 쓰기

우리는 Kotlin을 쓰는 대부분의 사람들이 첫번째 주, 그들은 정말로 Kotlin에 자바를 쓰고있다 그리고 3 개월에서 6 개월이 걸립니다 실제로 관용적 인 코 틀린을 쓰기 시작합니다 괜찮아 내 말은, 당신은 여전히 ​​코 틀린의 모든 이익을 얻습니다

nullness, et cetera에 대해 경고합니다 그럼 빌드 속도가 있습니다 Kotlin은 Java 컴파일러보다 느립니다 그것은 당신을 위해 더 많은 일을하고 있습니다 그리고 그것은 더 어린 컴파일러입니다

우리는 그것을 더 빨리 만들기 위해 열심히 노력하고 있습니다 그리고 물론, 유의하십시오 예, 느립니다 하지만 앱을 만들면 빌드가 줄어들 수 밖에 없습니다 가능성이 가장 높습니다

APK 크기도 있습니다 응용 프로그램은 표준 라이브러리를 사용하며, 약간의 공간이 필요합니다 그러나 R8과 같은 것들은 그것을 줄일 수 있습니다 진행중인 Kotlin 작업은 Google에서 계속 진행되고 있습니다 물론, Jetpack Compose가 가장 큰 것입니다

항상 새로운 KDX API를 계속 추가하고 있습니다 컴파일러 쪽에서 우리는 많은 작업을하고 있습니다 빨리하기 Kotlin 10330과 마찬가지로 증분 처리기 그리고 훨씬 더 많은 것이 있습니다

더 향상된 도구 및 더 많은 문서와 샘플을 볼 수 있습니다 Kotlin을 사용합니다 Kotlin 사용에 관심이 있다면, 하지만 어디서부터 시작해야할지 모르겠다 우리는 Kotlin Everywhere를 발표하고 있습니다 두 Google이 주최하는 일련의 교육입니다

및 JetBrains 그리고 지금과 KotlinConf 사이에서 일어나고 있습니다 올해 말 12 월 그것에 관심이 있다면, 참여하거나이 사이트를 호스팅하는 것을 돕고,이 링크로 이동하십시오 가입하십시오

따라서 새로운 Kotlin 첫 번째 로드맵을 통해, 안드로이드 용 Kotlin에 대한 투자 단지 더 커질 것입니다 아직 코 틀린을 사용해 보지 않은 여러분 모두를 초대하고 싶습니다 최근에 그것을 사용하지 않았거나 오늘 앱에서 사용해보십시오 Kotlin과 비슷한 경험을 해 주셨으면합니다 좀 더 예측적이고 코딩이 더 재미있을 것입니다

고맙습니다 [음악 재생]

What Is Google's New Kotlin First Initiative for Android App Development?

그래서 Google은 최근에 Kotlin은 Android 앱 개발에 관해서 처음입니다 그렇다면 코 틀린은 무엇을 의미합니까? 그러나 더 중요한 것은 아마, 이것이 개발자로서 당신에게 어떤 영향을 미칩니 까? 오늘의 비디오에서 그것에 대해 이야기합시다

이 비디오는 Learn Programming Academy의 Android Kotlin Masterclass입니다 지저분한 48 시간의 훈련으로, 이 코스는 단지 보여주지 않습니다 Android 애플리케이션 작성 방법, 모든 것을 자세히 설명합니다 Kotlin 언어 자습서도 포함됩니다 방대한 할인과 즉각적인 액세스를 확보하십시오

lpadev / youtubeAndroid를 방문하여 또는이 비디오의 설명에있는 링크를 클릭하십시오 (테크노 음악) 다시 환영합니다, 제 이름은 팀 부칼 카입니다 그날의 또 다른 프로그래밍 팁과 함께 그리고 우리는이 Kotlin First initiative에 대해 이야기하고 있습니다

Google이 지금 이야기하고있는 Android 앱 개발을 권장합니다 그래서 약간의 맥락을주는 것, 첫째, Google 및 Jetbrains Jetbrains는 실제로 만든 회사입니다 처음에는 코 틀린 언어였습니다 그들은 이제 재단을 형성했습니다 코 틀린 재단과 그 재단의 목적 어 보호, 승진 및 진급이다

Kotlin 프로그래밍 언어 그래서 저는 그것이 그 의도에 대한 큰 단서라고 생각합니다 Google 및 Jetbrains의 이제 코 틀린 자체가 오픈 소스 언어입니다 GitHub에서 개발되고 있습니다 이제는 환상적입니다 언어에 기여할 수있다

그래서 다른 많은 프로그래밍 언어와는 다릅니다 이들은 폐쇄 된 출처이다 총 추가 기능을 할 수 없다는 것을 의미합니다 독학 그래도 기초 중의 하나, 가장 큰 업무는 새로운 기능을 보장하는 것입니다

개발자가 만들고 기여한 실제로 Kotlin의 전반적인 설계 목표를 깨뜨리지 마십시오 다른 말로하면, 그 과정을 주도하는 누군가가 있습니다 그것은 좋은 점이다 코 틀린이 올바른 방향으로 나아 간다 이제는 Kotlin의 큰 장점 중 하나가 라이센스 문제가 없다는 것입니다

존재하는 잠재적 라이센싱 문제와는 달리 Android 플랫폼에서 Java를 사용하여 지금 당장은 문제가 없습니다 하지만 당신은 오라클, Java와 Google의 제작자 Google의 사용에 대해 여러 번 법정에 출두했다 Android 플랫폼의 Java 그래서 기본적으로 당신은 관련된 모든 문제를 해결하고 있습니다 네가 코 틀린으로 이사 간다면 최근 Google I / 0 컨퍼런스에서, 그래서이 비디오를 녹음 할 때가 이번 달이었습니다

2019 년 5 월, Google은 개발자 통계 누가 안드로이드 스튜디오 제품을 사용하고 있는지, 현재이 개발자의 50 %는이 안드로이드 개발자이며, 이미 Kotlin을 사용하고 있습니다 다시 한번 그것은 큰 것입니다 코 틀린은 2 년 전만 공개한다고 말할 수 있습니다 이미 50 %를 치고있다 그리고 그것은 내 생각에 기본적으로 꽤 중요합니다

여기에서 올라가고 올라갈 것입니다 지금 그들은 또한 언급했다, 나는 발견했다 그것은 꽤 흥미 있었다 코 틀린 그 자체가 GitHub에서 가장 빠르게 성장하는 언어입니다 이제 2 가지 큰 이유가 있습니다 왜 내가 Kotlin을 사용하는 것 같아요

이제 다시 Kotlin으로 돌아 가야합니다 나는 비디오의 시작 부분에서 언급했다 그럼 그게 실제로 무엇을 의미합니까? 그리고 같은 컨퍼런스에서 Google I / O 컨퍼런스, 구글은 안드로이드가 Kotlin First라고 발표했다 이제는 Google이 실제로 더 많은 것을 만들고 있습니다 네가 원한다면, Kotlin 개발자가 먼저 사용할 수 있습니다

다른 언어보다 먼저 그리고 그것은 분명히 지난 몇 년 동안의 출발이었습니다 이사회가 새로운 API를 도입 한 경우 또는 일부 새로운 기능을 사용하면 일반적으로 사용할 수 있습니다 Java 개발자가 먼저 이제 그들은 그것을 바꾸고 있습니다 실제로 사용할 수있게 만들고 있습니다

먼저 Kotlin 개발자를위한 것입니다 그리고 그들이 사용했던 예가있었습니다 Jetpacks API가 출시 중입니다 먼저 Kotlin 개발자를위한 것입니다 꽤 큰 성명이 거기에 있습니다

다시 말하지만, 이것은 언급 한 바와 같이 커다란 변화였습니다 이전에 그들이 승진하고 어 자바를 먼저 공개했다 구글도 강력한 추천을했다 같은 회의에서 새로운 안드로이드 프로젝트, 처음부터 새로운 프로젝트 시작, 항상 Kotlin에서 해보기를 권합니다 또 다시 지난 해와 출발합니다

지금 이유 중 하나, 그래서 당신이 할 수있는 3 가지 좋은 이유는 무엇입니까? 고려 Kotlin, 유형을 적게, 테스트를 덜, 그리고 유지 보수가 적습니다 이제 그걸 추가하면 이미 프로 개발자의 50 % 그들의 통계에 따르면 이미 Kotlin을 사용하고 있으며, 시간이 지금 여기에 있다고 생각합니다 기본적으로 당신을 위해 Kotlin을 채택하기 시작합니다 Adroid 앱 개발 기본적으로 내가 말하는 것은, 내 관점에서 내 의견으로는, 당신은 실제로 Koltlin에서 발전해야합니다

언제든지 Androd 앱을 실제로 개발하고 있습니다 앞으로 나아가 다 하지만 어쨌든 흥미로운 질문을 불러 일으킨다 앱을 코딩하는 사람들에게 일어날 일 자바로? 자바의 안드로이드 애플 리케이션은 지금? 음, 좋은 소식은 Google이 그들이 계속해서 지원할 것이라고 Java 플랫폼에 투자하십시오 그래서 그것은 마치 어, 자바로 작성한 모든 코드, Android 앱을 사용하는 경우 낭비됩니다

얼굴을 보자 년과 년 그리고 우리의 프로그래밍 코드 그건 자바에서, 어, 안드로이드 애플 리케이션에서 발표되었습니다 그래서 그것은 어쩌면 미친 것 같아요 내 생각에 Google은 그걸 없애 버려 갑자기 그걸 양립 할 수 없게 만든다

그래서 제가 말하고자하는 것은 모든 코드입니다 당신이 자바로 작성한 Android 앱 플랫폼의 경우 여전히 1 번으로 일할 것입니다 하지만 두 번째로 지원 될 것입니다 Google과 함께 전진하고 있습니다 그리고 기본적으로 C ++과 Java를 사용할 수도 있습니다

언제든지 그들이 원하는 것을 말합니다 기본적으로 Android 앱입니다 어느 쪽이 꽤 좋다, 하지만 그들의 추천은 코 틀린 자체에 집중하는 것입니다 기본적으로, 당신은 여전히 ​​지원을받을 것입니다 모든 프로그래밍 언어를 지원합니다

결론은 콜린 퍼스트가 먼저 계획이므로 언제든지 새로운 프로젝트를 만들 수 있습니다 내 추천과 나는 이것을 앞으로 나아갈 것이다 첫 번째 접근 방식으로 Kotlin을 사용할 것입니다 그게 내가 제일 먼저 할 일이야 기본적으로 Kotlin에서 코딩을 살펴 봅니다

그러나 레거시 애플리케이션은 계속해서 지원 될 것입니다 원할 경우 Java를 사용할 수 있습니다 지금 비록 당신이 이미 가지고 있지 않다면, Google I / O 회의 비디오를 확인하십시오 YouTube에서 사용할 수 있습니다 구글 개발자 채널, 나는 말해야한다

거기에 재생 목록이 있습니다 Google I / O 회의 그리고 거기에 약 178 개의 비디오가 있다고 생각합니다 다양한 분야에서 볼 수있는 환상적인 동영상 Android 앱 개발 내에서 해당 채널을 구독하는 것이 좋습니다 그리고 그걸 확인해 봐 기본적으로 링크가 있습니다

그 재생 목록에 대한 설명에서, Google I / O 개발자 컨퍼런스의 재생 목록에 추가 그러니 체크해보세요 특히 당신에게 먼저 관심을 가질만한 것, 나는 몇 가지 점을 인용했다 어, Google 개발자 재생 목록입니다 어 기조 연설, 30 분 ~ 45 분 정도입니다 그래서 기조 연설, 개발자 기조 연설, 일어난 일에 대한 더 많은 정보가 필요합니다

하지만 나에게 이것은 아주 크다 안드로이드는 현재 Kotlin을 밀고있다 너 정말보고 있어야한다고 생각해 Kotlin에서 최대한 빨리 숙련 된 기술을 습득해야한다 안드로이드 애플 리케이션 개발을 위해 앞으로 나아 갔다

좋아, 그래서 그걸 도왔 으면 좋겠어 질문이 있으시면 언제든지 댓글을 남길 수 있습니다 내가 너에게 돌아갈거야 다음 팁을 살펴볼 준비가되면, 여기를 클릭하면 확인하실 수 있습니다 특정 프로그래밍 비디오 코딩에 관심이 있다면, 왼쪽 하단에있는 링크를 클릭하십시오

여기를 클릭하여 가입을 고려하십시오 나는 너를 곧 볼거야!

Android Q: exclusive hands-on with the new features

– 안드로이드 Q를위한 새로운 베타 버전이 있습니다 우리는 배타적 인 첫 모습을 가지고 있습니다

마침내 Google이 할 시간입니다 최근 모든 Google 통로에서 무엇을하는지, 앞으로 올 모든 새로운 기능을 알려주십시오 안드로이드의 다음 버전에 실제로 있습니다, 우리는이 전화에 바로 올거야 새로운 제스처가 있습니다 새로운 알림 기능이 있습니다

항상 그런 종류의 것들이 있습니다 하지만 Google은 다른 일을하고 있습니다 그들이 매년하지 않는 일 예를 들어 OS 업데이트를 얻는 새로운 방법이 있습니다 라이브 캡션이라는 놀라운 기능이 있습니다

확인 해보자 그래서 첫 번째 기능에 대해 이야기 아마 대부분의 사람들이 알아 차릴 것입니다 어쩌면 가장 흥분 할 수도 있습니다 번호 하나, 좋아하는 팬 모두가 기다리고 있습니다 마침내 어두운 테마가 있습니다

방금 알림 그늘을 내립니다 그 어두운 테마 버튼을 탭하면, 그리고 다 – 다, 그것은 어두운 주제에있다 어두운 테마에 대해 알아야 할 점 그것은 진정한 적절한 흑색을 가지고 있는가? 배터리 수명을 줄이는 데 도움이됩니다 배터리 절약 기능을 켜면, 어두운 테마를 켜는 것이 기본값입니다 또한 많은 Google 앱이 기본적으로 지원할 예정이며, 예를 들어, 사진, 어두운 테마

우리는 달력을보고 볼 수 있습니다 이제 당신은 주목했을 것입니다 내가 그 모든 어두운 테마 앱을 보여줄 때 OS를 돌아 다니고 있었다 완전히 다른 방식으로 새로운 제스처 네비게이션 시스템이있었습니다 Google은 아기를 밟기 위해 노력할 것입니다

안드로이드와 함께 그것쪽으로 Android Q를 사용하면 마침내 모든 방법을 사용할 수 있습니다 iPhone의 작동 방식과 크게 다르지 않습니다 앱 내부에 있다면 스 와이프하여 집으로 가져갑니다 아주 기본 당신이 집에 있고 당신이 위로 스 와이프하면, 앱 서랍으로 연결됩니다

그러나 당신은 당신이 바닥에 보이는 모든 것을 볼 수 있습니다 이 물건의 것은 단지 작은 하얀 변호사 다 그럼 어떻게 돌아 가니? 글쎄, 당신은 화면의 양쪽에서 스 와이프합니다 화면의 어느 곳에서나, 그래서 화면의 가장자리에서 단지 문지르면, 뒤로 버튼 역할을합니다 화면의 오른쪽 가장자리에서 스 와이프하여 화살표가 나타나고 뒤로 버튼 역할을합니다

그리고 그 새로운 뒤 몸짓은 흥미 롭다 많은 Android 앱 왼쪽에는 앱 서랍이 있고, 이제 그들이 원하는지 결정해야합니다 서랍을 열거 나 그냥 돌아가는 첫 번째 스 와이프 앱별로 앱을 결정할 수 있습니다 자, 당신이 멀티 태스킹을하고 싶다면, 몇 가지 옵션이 있습니다

여전히 바닥을 따라 빠르게 스 와이프 할 수 있습니다 그 작은 홈 버튼 마름모 바가있는 곳은 또는 너는 스 와이프 수 있습니다 적절한 멀티 태스킹보기로 들어가기 다른 앱간에 스 와이프 할 수 있습니다 너무 어두운 테마와 새로운 제스처 내비게이션 시스템 너가 알아 차릴거야

그것은 모두가 아마도 가장 흥분한 이야기입니다 그러나 나는 그들이 그들이 가장 중요한 것이라고 생각하지 않는다 구글이 안드로이드에서하고있는 일 Q Android 업데이트에 관해서는, 가장 큰 문제는 항상 업데이트를받는 것입니다

당신은 당신의 전화가 그것을 얻는 지 결코 모른다 너는이 모든 승인을 기다려야 해 그것은 엉망이고, 매년, Google은 문제를 해결하기 위해 약간 다른 것을 시도합니다 올해 그들은 정말 매력적인 것을 시도하고 있습니다 Google은 OS 업데이트를 제공하기 시작합니다

특히 보안 및 개인 정보 보호 업데이트, 정말 큰 거대한 기능 업데이트가 아닙니다 Google Play 인프라의 Google Play 스토어를 통해 그래서 저는 Steph Cuthbertson에게 물어 봅니다 안드로이드 담당 이사가 나에게 설명해 주었다 – 프로젝트 메인 라인 (Project Mainline) 특히 이러한 보안에 민감한 업데이트 그들을 당신에게 아주 빨리 전달할 수 있습니다 사실 Google 앱을 업데이트 할 수있는 속도만큼 빠릅니다

예를 들어, 당신은 OS의 보안에 민감한 부분을 가지고 있습니다 이것은 특히 유용합니다 미디어라고하세요 Mainline을 통해 이제 우리는 할 수 있습니다 해당 업데이트를 무선으로 직접 제공하십시오

– Google Play 전화가없는 경우, 너 중국에 있다고 해 또는 너는 이상한 일이있어 너는 그걸 놓칠지도 모른다 비록 오픈 소스 프로젝트이지만, 그래서 그것도 그 전화를 도울 수 있을지도 모른다 그 모든 보안 물건은 훌륭합니다

하지만 아마 궁금 할거야 큰 주요 기능 업데이트, 그들이 더 빨리 올지 여부 – 우리가 발표 한 것들 중 하나 지난 몇 년 동안 Project Trouble, 업데이트를 진행하는 데 큰 도움이됩니다 업데이트 및 릴리스, Android Q로보고있는 것 중 하나 업데이트 속도가 빨라졌습니다 실제로 Q 베타 3의 경우 21 개의 기기가 표시됩니다

베타 3를 운영하는 13 개 OEM 업체 – Android Q의 업데이트 스토리입니다 점점 좋아지고있는 것 같아 점점 더 많은 제조업체에 더 빨리 진입하게되면서, 그러나 더 큰 거래는 그것들을 얻을 것입니다 보안 업데이트가 푸시 아웃되었습니다 훨씬 더 많은 휴대폰에 훨씬 더 빨리

Google의 개인 정보 보호 및 보안 유지 안드로이드 Q에 대한 푸시의 큰 부분이며, 나는 잘 모른다 그들은 뭔가를 가질거야 그것과 관련된 40 개 또는 50 개의 다른 업데이트, 하지만 네가 아마 가장보기 쉬울 가능성이 높습니다 새로운 최상위 개인 정보 보호 옵션이 있습니다 그리고 그것은 너에게 무리를 준다

휴대 전화에서 데이터를 관리하기위한 다양한 컨트롤, 여기에는 Google 제품, Google 위치 기록을 지우는 것처럼 전화 자체에 대한 사용 권한도 포함됩니다 그래서 당신이 허가 관리자에게 들어가면, 당신이 가지고있는 모든 데이터를 보여줍니다 마이크 액세스, 캘린더 액세스, 통화 기록, 그 모든 것들, 얼마나 많은 앱이 액세스 할 수 있었는지, 액세스를 끄고 끌 수 있습니다 모든 앱에 대해 개별적으로 – 위치 알림은 또한 훌륭한 기능입니다 너도 아마 궁금해하기 때문에, 어떤 앱에서 위치를 바꿨습니까? 나는 그들 모두를 기억하는지 모르겠다

알림에는 도움이되는 것이 Q, Q에서 위치 정보에 액세스하는 모든 앱, 그것은 당신에게 생각 나게하고, 이 앱에 위치 정보 액세스 권한을 부여 하시겠습니까? 따라서 앱이 있는지 궁금 할 필요가 없습니다 해당 액세스 권한이있는 백그라운드에서 실행 중입니다 – 모든 권한 및 데이터 개인 정보 변경 슈퍼, 슈퍼 중요한, 하지만 그들은 여전히 ​​몇 가지 더 있습니다 사용자가 직면하게 될 기능들 알림에서 메시지를 받으면 모든 메시징 앱에서 이 새로운 버튼이 있음을 알 수 있습니다

당신은 그것을 회신하기 위해 누를 수 있고, 여기서 일어나는 일은 Android입니다 실제로 메시지를 읽는 장치에 로컬로 있습니다 아무것도 공유되지 않습니다 그 다음 그것에 회신하는 방법을 알아내는 것 따라서 상황에 맞는 답변이 있습니다

시간을 보여 주거나 확실한 것처럼, 또는지도가 열려있는 버튼이 있습니다 그래서 거기에 주소가있는 것을 본다면, 열린지도를 탭하면됩니다 Google지도 내부의 주소로 이동합니다 Google은 알아 낸 것이기 때문에 그렇게 할 수 있습니다 로컬 머신 학습을하는 방법 Android 기기에서 바로 기기에서 그것이 할 수있는 또 다른 일이 있습니다

솔직히 말해서 놀랍습니다 그래서 사진을 여기 열어 볼게요 여기 Google에서 프리 저장 한 동영상이 있습니다 그것을 보면서, 여기서 말하는 사람, 이 버튼을 탭할 수 있습니다 일단 볼륨 버튼을 누르면, 라이브 캡션을 보여주기 시작합니다

비디오에서 뭐라고 말하고 있는지 캡션을 드래그 할 수 있습니다 더 많은 텍스트를 보려면 두 번 살짝 누르십시오 원하는 경우 크기를 조정할 수도 있습니다 Android에서 로컬로 수행하는 작업은 기기에 있습니다

재생중인 비디오를 듣고, 라이브 캡션을 보여줍니다 비디오에서 뭐라고 말하고 있는지, 그것은 정당하게 놀랍다 뿐만 아니라 실제 인간의 이익 청각 장애가 있거나 청각 장애인 인 경우, 더 많은 동영상에 대한 액세스 권한이 더 있습니다 어떤 앱에서나 이것을 사용할 수 있기 때문에 중요하지 않습니다 또한 그렇지 않다면, 당신은 여전히 ​​비디오를 볼 수 있습니다

너 주위에있는 다른 사람들을 화나게하지 마라 볼륨을 높이면됩니다 초점 모드라는 새로운 모드가 있습니다 그것은 일종의 교란하지 않는 것 같지만 실제로는 아닙니다 기본적으로 할 수있는 일은 말할 수 있습니다

나는 지금 초점 모드에있다 나를 괴롭히는 이러한 앱을 끄십시오 그리고 나서 그들은 회색으로 변합니다 그리고 당신은 작은 팝업없이 그들을 열 수 없습니다 너는 이걸 열지 말라고 했어

정확히 내가 원하는거야 디지털 웰빙 앱 타이머가 있어야합니다 그것은 기다리지 않고 그들을 열지 못하게합니다 당신이 너무 많이 사용하면 시간이 없어 질 때까지, 그 디지털 웰빙 앱 타이머 기능에 대해 말하면, Google은 마침내 통합하고 있습니다 그것으로 그것의 가족 연결 소프트웨어, 이제는 앱 타이머 디지털 웰빙을 결합했습니다

같은 공간에있는 모든 자녀 보호 기능 바로 OS에 내장되어 있습니다 좋아요, 그 모든 일이 끝난 후에, Android Q에 대해 어떻게 생각합니까? 글쎄요, 우리는 그것을 확실히 알아야합니다 그러나 나는 지금 말할 두 가지 일이있다 첫 번째는 많은 것들이 있습니다 그것은 조금 늦은 것 같아요

더 나은 제스처, 어두운 모드, 특히 더 나은 권한 Google이 해보고 싶었던 것입니다 1 년, 2 년, 4 년, 5 년 전 그래서 나는 그들이 여기에 마침내 기쁘다 그러나 나는 그들이 조금 더 일찍 갔으면 좋겠다 두 번째로 안드로이드 Q 거대하고 거대한 아이디어가 없다

전화상의 운영 체제가 될 수있는 것에 대해 작년의 Android Pi는 모든 것을 갖추고있었습니다 조각과 행동, 앱 폭발, 폭발 전화의 모든 인터페이스, 그러나 Q는 조금 더 잘합니다 솔직히 iterative, 반복은 매우 중요합니다 근본적으로는 안될 것 같아 당신의 전화에 대해 생각하는 방식을 바꾸십시오

안녕하세요 여러분, 정말 고마워요 Google은 더 많은 IO IO 콘텐츠를 보유하고 있습니다 하지만 나는 그 의견에 대해 알고 싶다 Q가 무엇을 의미한다고 생각하니? Quibble을지지해야한다고 생각합니다 그건 디저트가 아니야

– 그거 알아? 어리석은 것들에 대해 논쟁하지 않겠습니다

What's New in Android Studio UI Design and Debugging Tools (Google I/O'19)

[음악 재생] VADIM CAEN : 안녕하세요 우리 이야기에 일찍와 주셔서 감사합니다

Android Studio, UI 디자인 및 디버깅의 새로운 기능 도구 고맙습니다 [박수 갈채] 저는 Vadim입니다 Android Studio에서 디자인 툴을 작업합니다 JEROME GAILLARD : 저는 Android Studio 팀의 Jerome입니다

JOE BAKER-MALONE : 저는 Android Studio 팀의 Joe입니다 ASHLEY ROSE : 저는 Android 프레임 워크와 JetPack의 Ashley입니다 VADIM CAEN : 좋습니다 시작하기 전에 모바일 제품에 대해 약간의 이야기를합니다 어제 어쩌면 Android Studio 팀은 개선을 위해 모바일 제품에 중점을 두었습니다

Android Studio의 엔드 투 엔드 사용자 경험 Android Studio 개선은 수정 사항 만이 아닙니다 또한 사용 방법을 개선하는 방법이기도합니다 우리가 확인한 틈새를 채우십시오 우리의 도구 체인은 – 설계 할 때 – 새로운 레이아웃을 구축하고 새로운 탐색 기능을 구축합니다 이 레이아웃 사이에, 당신의 자원을 관리하고, 장치에서 런타임에 검사를 처리합니다

이 도구 체인을 사용하려면 전형적인 사용자 여행을 거치면서, Google Trips 애플리케이션을 구축하십시오 그리고 Jerome은 Layout Editor에 대해 이야기 할 것입니다 여기에서 볼 수있는 첫 번째 레이아웃을 작성하는 방법에 대해 설명합니다 제롬 가이 야드 : 감사합니다, 바딤 그래서 우선, 우리는 Google Trips 앱의 첫 화면, 레이아웃 편집기를 사용하여

레이아웃 편집기를 열면 이것은 화면의 종류입니다 너는 볼거야 여기는 단지 빈 레이아웃 일뿐입니다 우리가 할 첫 번째 일은 청사진 모드로 전환하는 것입니다 속도가 빠르면 빠르며 방금 만들려고 할 때 산만해진다

레이아웃상의 제약 넌 그냥보고 싶지 않아 구성 요소가 실제로 어떻게 보이는지 나는 팔레트에서 – 레이아웃에 필요한 모든 구성 요소를 드래그하여 어느 정도 확실한 곳에서 일단 내가 끝내면 그 시간이 온다

제약 조건을 만들 수 있습니다 좀 더 효율적인 건물 제약이되는 방법으로, 나는 그들을 하나 하나 만들 수 있었다 하지만 문맥 메뉴를 사용하면 한 번에 여러 가지 제약 조건을 만들 수 있습니다 예를 들어 여기서는 RecyclerView를 중앙에 배치하려고합니다 레이아웃 내에서

내가 할 수있는 한 가지는 RecyclerView를 마우스 오른쪽 버튼으로 클릭하는 것입니다 문맥 메뉴에는 옵션이 있습니다 수평으로 센터링의 그것이하는 일은 왼쪽 클릭 한 번으로 오른쪽 제약 조건을 RecyclerView가 중앙에 배치되도록합니다 일단 모든 제약 조건을 다 만들면, 이것은 내 레이아웃이 청사진 모드에서 보이는 것과 같습니다

분명히, 그것은 나에게 정말로 말하지 않는다 디자인에 비해 옳은 것을 만들면 지금 당장 나는 주어진다 이제 디자인 모드로 돌아가겠습니다 그것이 어떻게 생겼는지 보아라 디자인 모드에서는 보이지 않는 것을 볼 수 있습니다

내가받은 원래 디자인과 매우 흡사하다 그 이유는 RecyclerView 뷰 꽤 비어 있습니다 아시다시피, RecyclerView는 일반적으로 런타임에 데이터를 채우고, 하지만 그때는별로 도움이되지 않습니다 레이아웃을 만들고 데이터가 올바르게 표시되는지 확인하십시오 당신이 보게 될 것입니다

이 문제를 해결하려면 디자인 [? 도구?] 속성을 사용합니다 그래서 디자인 시간 속성, 당신은 간단하게 – RecyclerView에서 컨텍스트 메뉴를 다시 사용하십시오 샘플 데이터 선택기 등을 사용할 수 있습니다 샘플 데이터 선택 도구에서 미리 정의 된 템플릿 중 하나를 선택할 수 있습니다 RecyclerView 항목에 대해 귀하가 제공하는 정보

여기에서 첫 번째 이메일 클라이언트를 선택했습니다 그렇게하면 해당 RecyclerView에 대한 레이아웃이 생성됩니다 항목, 이메일 클라이언트 카드 그리고 동시에, 그것을 당신의 RecyclerView에 연결합니다, 그러면 레이아웃 편집기에 채워진 상태로 표시됩니다 물론 우리는 이메일 클라이언트를 구축하지 않습니다

RecyclerView에서 빌드하고자하는 것 그 여행 카드입니다 그래서 나는 그 RecyclerView 아이템을 편집하려고합니다 Trip 카드로 만들었습니다 자원 관리자 패널에서 – 여기에서 볼 수있는 왼쪽 편에, 바딤이 선물 할거야 너에게 훨씬 더 자세하게 – 간단히 말해서 RecyclerView 항목의 이름을 뭔가로 바꿀 수 있습니다

내 프로젝트에 더 적합한, 그리고 나 편집을 시작할 수 있습니다 리소스 관리자에서 레이아웃을 두 번 클릭하십시오 레이아웃 편집기에서 레이아웃을 열면됩니다 화면에서 볼 수 있듯이, 나는 꽤 많이 가지고있다 내 오른쪽 여행 카드에 필요한 모든 권리가있는 구성 요소, ImageView, 몇 개의 태그보기, 그러나 그들은 분명히 올바른 제약 조건을 가지고 있지 않습니다

그래서 모든 제약 조건을 삭제하고, 툴바에서 해당 버튼을 클릭합니다 그 작업이 끝나면, 나는 재구성 만 할 것입니다 모든 제약 한 가지 문제는 우리가 꽤 많은 구성 요소를 가지고 있다는 것입니다 작은 영역에서 서로 겹치기

그것은 약간 어수선 할 수 있습니다 그리고 우리는이 상황에서, 건물 제약 조건은 약간 어려울 수 있습니다 제약 조건을 드래그하는 것이 때로는 어려울 수 있습니다 올바른 대상, 올바른 구성 요소, 특히 구성 요소가 겹치는 경우 이제 우리가 할 수있는 일은 제약을 원하는 곳으로 직접 드래그합니다 연결하려는 구성 요소에서, 그런 다음 팝업 메뉴가 열리고 어떤 유형인지 묻습니다 설정할 제약 조건을 선택하십시오

정말 흥미로워 지네 제약 조건을 다음 위치로 드래그합니다 겹치는 구성 요소가 있습니다 그 상황에서, 우리는 여러 유형의 제약 조건을 사용할 수 있지만 겹치는 구성 요소를 선택하십시오 그 제약 조건을 첨부하고 싶습니다

그리고 그것은 그것을 훨씬 쉽게 만들어야합니다 경우에 제약 조건 레이아웃을 작성하는 방법 중첩되고 작은 구성 요소가있는 곳 도움이 될 수있는 마지막 방법 제약 조건을 효율적으로 만들 수 있습니다 구성 요소를 사용 중입니다 구성 요소에서 여러 구성 요소를 선택하는 경우 – 여기에서는 두 가지 텍스트보기를 선택했습니다

다시 컨텍스트 메뉴에서 마우스 오른쪽 버튼을 클릭하고 선택합니다 사용할 수있는 제약 조건 중 하나 당신은 하나의 제약 조건을 만들 수 있습니다 선택한 여러 구성 요소에 적용됩니다 그래서 여기에서 두 가지 제약 조건을 만듭니다 이 두 텍스트보기에서 동시에 우리가 모든 제약 조건을 다 만들면, 우리의 견해를 조금이라도 사용자 정의 할 때입니다

이를 위해 우리는 Attributes Panel을 사용할 것입니다 레이아웃 편집기의 오른쪽에 있습니다 우리는 Attributes 패널을 재 설계했습니다 Declared Attributes라는 맨 위에 새 섹션을 표시합니다 이 섹션에서는 모든 속성 구체적으로 설정된 선택한보기에 대한 그 견해에 대해서

바로 거기에서 모든 속성을 편집 할 수 있습니다 이미 설정된 해당 뷰에 새 속성을 설정하려면, 더하기 버튼을 클릭하기 만하면됩니다 해당 속성의 이름과 값을 추가하십시오 Attributes 패널에서 할 수있는 또 다른 일 Constraint Widget을 사용하여 여백을 설정합니다 귀하의 의견에 보고 싶어했을거야

숫자와 같은 실제 값만 설정할 수있을뿐만 아니라 증거금의 가치 ​​- 정의 된 맞춤 측정 기준을 설정할 수도 있습니다 프로젝트에서 그것이 우리가 @ dot dot dot option을 추가 한 이유입니다 드롭 다운의 맨 아래에 버튼을 클릭하면 자원 선택 도구가 열리고, 이미 가지고있는 특성 항목을 선택할 수 있습니다 프로젝트에서 정의하거나 바로 거기에 새로운 차원이 있습니다 일어날 필요가있는 마지막 한 가지 – 그 레이아웃을 보면서 – ImageView가 샘플 데이터로 채워지는 것을 볼 수 있습니다

하지만 단지 기본 샘플 데이터 일뿐입니다 Android Studio에서 제공됩니다 그래서 그것은 실제로 그 종류를 대표하지 않습니다 RecyclerView가 런타임에 수신 할 데이터의 양입니다 그래서 당신이 할 수있는 것은 당신 자신의 샘플 데이터를 설정하는 것입니다

그 ImageView에 cities라는 이미지를 cities라는 디렉토리에 추가했습니다 우리 프로젝트의 샘플 데이터 폴더에 있습니다 샘플 데이터 그림에 나타나는지 확인할 수 있습니다 샘플 데이터를 설정할 수 있습니다

우리의 원래 레이아웃으로 돌아가서, 우리는 이제 그것이 많이 보임을 볼 수 있습니다 당신이 가진 원래의 디자인과 더 비슷합니다 거기에서, 당신은 정말로 디자인이 제대로 구현되었으며 실제 데이터를 수신 할 때 작동합니다 장치에서 실행 중입니다 이제 우리는 첫 번째 제약 조건의 구축을 마쳤습니다

첫 번째 화면에서 계속 진행하고 싶습니다 우리의 응용 프로그램에서 우리의 다음 화면을 구축합니다 레이아웃 파일을 만드는 것만으로 돌아 가기보다는, 레이아웃 편집기에서 빌드하고, 우리는 네비게이션을 생각하고 바로 거기에서 시작하고 싶다 우리의 애플 리케이션의 흐름, 그리고 어떻게 첫 번째 화면이 전환됩니다 두 번째 화면으로 그렇게하기 위해 우리는 네비게이션을 살펴볼 것입니다 편집자

탐색 편집기는 시각적 도구입니다 이를 통해 Navigation Architecture를보다 쉽게 ​​사용할 수 있습니다 JetPack 라이브러리의 구성 요소 탐색 아키텍처 구성 요소의 방식 작품은 네비게이션 호스트 단편을 사용하는 것에 의존합니다 응용 프로그램의 기본 레이아웃

여기에 우리의 활동 주 레이아웃 파일, 우리는 Layout Editor에서 드래그 할 것입니다 NavHostFragment 팔레트 – 기본적으로 거기에 있습니다 그것을 디자인 표면 위로 끌어 올 것입니다 그렇게 할 때, 그것은 당신에게 선택을 요구할 것입니다 해당 NavHostFragment와 관련된 탐색 그래프 아직 탐색 그래프를 만들지 않은 경우, 그 대화 상자에서 바로 할 수 있습니다

우리가하는 일이야 이것이 레이아웃이 어떻게 생겼는지입니다 그것은 비어 있습니다 이 NavHostFragment가 있습니다 네비게이션 아키텍처 구성 요소 그것을 채울 것입니다 당신이로드 할 여러 단편들

그러나 두 번 클릭하면 탐색 편집기가 열립니다 이것은 네비게이션 에디터가 비어있을 때 보이는 것과 같습니다 우리가하고 싶은 첫 번째 일 첫 번째 화면을 시작 목적지로 추가합니다 우리의 애플 리케이션을 위해 대상 추가 메뉴에서 앱에있는 모든 레이아웃이 미리 선택되었습니다

그래서 우리를 위해, 우린 그 조각을 환영합니다 이전에 작업해온 레이아웃입니다 바로 거기에 놓으십시오 다음으로, 우리는 두 번째 화면을 추가하기를 원한다 그러나 이미 레이아웃을 만들지 않았기 때문에, 우리는 단순히 새로운 목적지를 만들 수 있습니다

추가 대상 메뉴에서 그렇게하면 생성의 가능성을 얻을 수 있습니다 새로운 프래그먼트 클래스와 그 관련 레이아웃, 이것이 레이아웃이 될 것입니다 두 번째 화면으로 사용됩니다 두 화면이 Navigation Editor에 있으면, 그들을 연결하는 시간이 온다

그것은 행동으로 할 수 있습니다 화면에 표시된대로 작업을 간단하게 만들 수 있습니다 또한 Attributes 패널에서 직접 탐색 편집기의 해당 동작에 대한 속성 중 일부를 설정하고, 애니메이션이 재생되는 것과 같습니다 그 동작을 통해 전환 할 때, 또는 뒤로 누르면 행동으로 할 수있는 또 다른 매우 흥미로운 일 한 화면에서 다음 화면으로 유형 안전 데이터를 전달합니다

그렇게하고 싶다면 다음과 같이 할 수 있습니다 수신 대상에 – 인수 섹션에서 더하기 단추를 클릭하십시오 속성 패널의 단순히 대화 상자를 열면 인수의 이름을 지정하십시오 인수의 유형 그것은 미리 정의 된 유형일 수 있습니다

또는 프로젝트에서 정의한 유형일 수 있습니다 당신이 원하는 어떤 물건이라도 물론, 네비게이션 그래프 만들기 앱 탐색을 완벽하게 지정하기에는 충분하지 않습니다 또한 약간의 코드를 작성해야합니다 그러나 당신이 볼 수있는 것처럼 그것은 꽤 간단합니다

여기, 나는 RecyclerView의 항목에 불과하다 OnClickListener의 경우 전환하려고합니다 그 행동을 끝내라 그래서 내가하는 일은 액션 객체를 만드는 것입니다 내비게이션에서 지정한 인수를 전달합니다

편집자 일단 행동을 취하면 나는 간단하게 탐색 라이브러리의 navigate 메소드 호출 실제로 전환을 수행합니다 그것이 실제로 정의한 전환을 수행하는 데 필요한 전부입니다 탐색 편집기에서 할 수있는 마지막 사항 나머지 네비게이션 흐름을 채우기 위해 자리 표시자를 사용하며, 그 순간에 귀찮게하고 싶지 않으면 새로운 조각 나중에, 그렇게 할 준비가되면, 당신은 단순히 돌아가서 레이아웃으로 대체 할 수 있습니다

지금은 실제로 빌드 할 때가되었다고 생각합니다 우리의 두 번째 레이아웃 보시다시피, 많은 이미지가 포함 된 레이아웃입니다 많은 자원이 필요합니다 우리는 어떻게 자원을 볼 것인가? 관리자는 우리가 그것을 구축하는 데 도움이 될 수 있습니다

VADIM CAEN : 나는 갭을 채우기 전에 이야기하고있었습니다 Android Studio에 존재했던 하나의 차이 리소스를 관리하는 방법이었습니다 문제가 무엇인지 살펴 보겠습니다 Android Studio 리소스 디렉토리 구조 프레임 워크를 위해 만들어진 것이지 실제로는 아닙니다 사용자에게 리소스를 얻을 때 디자이너에게서 보면 이렇게 보일 수도 있습니다

폴더가 많을 수도 있습니다 죄송합니다 먼저 Android Studio에서 다른 문제가 발생했습니다 전체 축소판보기가 없습니다 특정 Android보기

그래서 레이아웃, 벡터 잔해 또는 모양 – 미리 볼 수있는 유일한 방법은 하나의 레이아웃을 두 번 클릭하거나 하나의 파일에 두 번 클릭하는 것입니다 미리보기에서 확인하십시오 이 문제를 해결하기 위해 Android Studio에 도입했습니다 34 Resource Manager는 다음과 같은 새로운 도구입니다

리소스를 가져오고, 사용하고, 탐색 할 수 있도록 도와줍니다 보다 그래픽적인 방식으로 그것을 열려면 간단히 Resource Manager 버튼을 클릭하면됩니다 Android Studio의 왼쪽에있는 프로젝트 버튼 아래, 이 중립 창을 열 것입니다 한번 더 그래서 우리 문제로 되돌아갑니다

왼쪽에는 프로젝트 구조가 있습니다 오른쪽에는 디자이너가 우리에게 준 것을 가지고 있습니다 우리는 파일에서 다른 프로그램을 볼 수 있습니다 디자이너가 우리에게 준 것 어쩌면 그들은 자신이 좋아하는 디자인 소프트웨어를 사용했을 것입니다

기본 내보내기 옵션을 사용했습니다 폴더에 드로어 블 접두어가 누락되었을 수 있습니다 이름 또는 접미사 @ 2x와 함께 웹 형식을 사용했을 수도 있습니다 그리고 당신이해야 할 일은 @ 2x 접미사를 제거하는 것입니다

그런 다음 하나씩 하나씩 파일을 붙여 넣습니다 다른 문제는 폴더가 누락되었을 수 있으며, 그리고 당신은 문서로 돌아 가야 할 것입니다 이 특정 폴더에 대한 한정자가 무엇인지 기억하고, 그리고 당신은 올바른 순서로 그들을 넣어야합니다 Resource Manager와는 어떻게 작동합니까? 이제 전체 묶음을 끌어다 놓기 만하면됩니다 당신이 Resource Manager에 가져온 파일들, 자동으로 가져오고 이름별로 그룹화됩니다

여기에서 볼 수 있듯이 우리의 자원은 이름별로 그룹화되어 있습니다 올바른 한정어가 적용되었습니다 그래서 방금 무슨 일이 있었던거야? [박수 갈채] 고맙습니다 한정어를 식별하면 여기에는 웹 또는 Android가 파일 경로에있을 수 있습니다 우리는 단순히 해당 안드로이드 폴더를 만들 것입니다, 파일에있을 수있는 접미어를 제거하고, 프로젝트에 복사하십시오

물론 한정자를 추가하려는 경우 (예 : 무작위로 지방, 그리고 프랑스어와 같은 임의의 언어, 프랑스와 같은 지역에서는 간단하게 여기에서 할 수 있습니다 그리고 당신은 명령을 기억할 필요가 없습니다 수동으로 폴더를 만들면 자동으로 생성됩니다 올바른 한정어로 이 시점에서 원하는 경우 파일의 이름을 바꿀 수도 있습니다 이제 우리의 자원은 Resource Manager에서 그룹화됩니다

한 번에 모두 볼 수 있습니다 따라서 기본적으로 하나의 리소스 버전 만 표시됩니다 하지만 리소스를 두 번 클릭하면 당신은 모든 다른 버전을 볼 수 있습니다 다른 한정자가 적용되면 분석 할 파일 유형 어떤 파일이 응용 프로그램에서 가장 많은 공간을 차지했는지 자, 이것은 제가 정말로 흥분되는 특징입니다

이제 SVG를 드래그 앤 드롭 할 수 있습니다 VectorDrawable로 변환됩니다 [CROWD CHEERING] 고맙습니다 그래서 여기에 파일 선택기가 열려 있습니다 나는 아무것도 선택할 필요가 없다

간단히 클릭하고 열 수 있으며 모든 SVG를 열 수 있습니다 가져오고 변환됩니다 또 다른 멋진 기능은 모든 레이아웃을 미리 보는 것입니다 이름으로 레이아웃을 인식하는 것이 어려울 수도 있습니다 따라서 레이아웃 탭에서 리소스 관리자를 열면, 모든 레이아웃을 볼 수 있습니다

당신이 찾고있는 것을 찾으려면 전에 말했듯이 도구 체인이 있습니다 이 전체 도구 체인을 함께 통합하려고합니다 우리가 한 것은 통합 된 것입니다 [INAUDIBLE] 레이아웃 편집기로

예를 들어 여기에 포함시키고 자하는 레이아웃이 있습니다 그래서 상단 부분 이 레이아웃을 레이아웃 편집기로 드래그 앤 드롭 만하면됩니다 [INAUDIBLE]을 만듭니다 Drawable에도 똑같이 적용됩니다

Drawable을 드래그 앤 드롭하면 ImageView가 생성됩니다 이 견해의 끝까지 빨리 감습니다 이전 레이아웃에서 볼 수 있습니다 우리 툴바는 올바른 색상이 아닙니다 우리가 할 수있는 것은 컬러 탭을 열고, 우리 프로젝트에 정의 된 모든 색상을 볼 수 있습니다

그 중 하나를 두 번 클릭하기 만하면됩니다 파일을 열어서 커서를 옮깁니다 여기서 색상이 정의됩니다 그런 다음 새로운 색상 선택기를 사용할 수 있습니다 시각적으로 색을 선택하십시오

색상 선택기는 RGB 및 HSB에서 작동하며, HSB를 선택한 디자이너와 함께 일한다면 값을 사용하거나 자료를 사용할 수 있습니다 이미있는 팔레트 이제 두 개의 레이아웃이 준비되었습니다 앱에서 실행하고 싶습니다 Ashley와 Joe가 우리에게 말하기를 다시 환영 할 것입니다

새로운 레이아웃을 검사하는 방법 [박수 갈채] JOE BAKER-MALONE : 감사합니다, 바딤 이제 개발주기의 다음 단계로 넘어갑니다 우리가 실제로 앱을 실행하게되면, 실제 데이터와 함께 작동하는 방법을보고 조정할 수 있습니다 우리가해야 할 수도 있습니다

이제 오늘, 레이아웃이 어떻게 작동하는지보고 싶다면 런타임에는 Layout Inspector 도구가 있습니다 Android Studio에서 레이아웃 속성은 스냅 샷을 제공합니다 한 화면의 전체보기 계층 구조, 및 속성에 대한 일부 정보 각보기에서 설정됩니다 하지만 지금은 많은 한계가 있습니다 이것은 부분적으로 안드로이드 프레임 워크의 데이터에 기인합니다 표시 할 수 있도록 Studio에 제공됩니다

이제 Android Q에서는 프레임 워크에 Studio에 대한 여러 가지 새로운 API 추가 더 많은 뷰 및 레이아웃 디버깅을 노출하는 데 사용 정보 Ashley는 새 API에 대해 곧 이야기 할 것입니다 프레임 워크 추가가 우리에게 충분한 지 확인하려면 우리가 원하는 정보를 사용자에게 보여주고, Android Studio 팀의 우리 부부 프로젝트 마블에서 약간의 시간을 보냈습니다 새 API를 채택하고 우리가 할 수있는 것을 확인하십시오 우리는 완전히 새로운 Layout Inspector 작업을 시작했습니다

내가 너에게 지금 보여줄 것은 일의 몰래 절정이다 우리는 지금까지 해왔습니다 자, 이것은 초기 작업입니다 최신 미리보기 빌드에는 아직 포함되어 있지 않습니다 그러나 차드가 어제 개발자 기조 연설에서 말했듯이, 우리는 미리보기를 좋아합니다

우리는 개발자 의견을 환영합니다 그래서, 우리는 당신의 손에 그것을 밖으로 가져갈 것입니다 최대한 빨리 자, 어떻게 작동하는지 봅시다 Google 여행 앱부터 시작하겠습니다

우리가 해왔 던 이제 에뮬레이터에서 실행 중임을 알 수 있습니다 우리는 물건을 끌어 올려서 사용자로부터 실제 데이터를 실행하고, 디자인 타임에 사용한 샘플 데이터가 아닙니다 여기서 아래로 스크롤하면 볼 수 있습니다 실제 데이터의 일부 여행 설명 우리가 샘플 데이터에서 가지고있는 것보다 상당히 길다 텍스트가 정렬되는 지점까지 우리가 의도하지 않은 방식으로 이미지를 지배했다

새로운 레이아웃 검사기에서 이것을 살펴 보겠습니다 새로운 레이아웃 검사기가 우리에게 제공하는 것을 볼 수 있습니다 레이아웃 검사기에서 현재 가지고있는 것과 유사한보기입니다 문제의 텍스트보기를 선택하면 여기, 그리고 오른쪽에있는 Attributes Panel을보고, 우리는 몇 가지 차이점이 있음을 알 수 있습니다 현재 레이아웃 검사기에서 가지고있는 것입니다

우선, 실제 속성 이름이 있습니다 이전에는 getter 메소드 모음이 있었지만 그렇지 않을 수도 있습니다 잘 실제 속성 이렇게하면지도를 훨씬 쉽게 찾을 수 있습니다 여기서 본 것에서부터 정의한 것에 이르기까지 자신 만의 레이아웃과 스타일로

두 번째로, 우리는 멋지게 형식화 된 속성 값 다양한 가치 유형에 대해 우리는 전에 그것을 항상 얻을 수는 없었다 예를 들어 ID, 열거 형을 볼 수 있습니다 가치, 색깔, 등등 세 번째로, 우리는 지금 몇 가지 정보를 가지고있다 그 속성 값이 설정되는 곳

따라서 우리는이 선언 된 속성 섹션을 볼 수 있습니다 여기, 우리가 Layout Editor에서 가지고있는 것과 비슷합니다 직접 설정된 속성의 경우 선택한보기에서 이제 텍스트 크기와 관련된 속성을 살펴 보겠습니다 이 옵션을 선택하면 기본 탐색 기능을 사용할 수 있습니다 여기에서 직접 키 스트로크를 선언하는 방법 해당 값이 설정되는 레이아웃 xml로 이동합니다

조금 더 작게 변경하십시오 개발자 기조 연설에서 들었던 것처럼, Android Studio 35 미리보기에서 이 새로운 변경 기능을 적용하십시오 이것 이후에 바로 그 부분에 대해 더 많은 것을들을 수 있습니다 Android 개발자 도구에서 새로 워진 이야기

하지만 지금은 에뮬레이터의 변경 사항을 확인하는 데 사용하겠습니다 우리의 애플 리케이션을 재배치 할 필요없이 실제로 새로운 레이아웃에서 업데이트가 즉시 표시됩니다 경감 님 Layout Inspector가 무엇을 미러링하고 있기 때문입니다

기기 라이브에서 발생합니다 우리가 여기서 다시 스크롤한다면, 레이아웃 검사기가 오른쪽으로 스크롤되는 것을 볼 수 있습니다 게다가 [박수 갈채] 예 다른 시나리오를 살펴 보겠습니다

앱의 어두운 테마를 구현하고 싶다고 가정 해 보겠습니다 여기서 우리는 밝은 배경색을 가지고 있음을 알 수 있습니다 배경색이 어디인지 알아 보겠습니다 에서 온다 우리가 여기에있는 단편 xml을 보면, 우리는 거기에 직접 설정되어 있지 않습니다

Layout Inspector를 살펴 보겠습니다 여기서 배경을 선택하면, 정말 잘 볼 수 있다면 우리는 배경색이 없다

이보기에서 직접 설정하십시오 왜 그럴까? 글쎄, 우리는 여기에서 가장 많은보기를 선택했습니다 배경색을 어느 정도 낮추어 놓을 수도 있습니다 뷰 계층 구조에서 그러나 어떤 시각이 설정되고 있습니까? 글쎄, 새로운 레이아웃 검사기가 우리에게 제공합니다

쉽게 찾을 수있는 방법 [크라우드 반응] [웃음] 3D보기에서는 어느 것이 쉽게 볼 수 있습니다 여기에서 무엇을 그리는가? 이제이보기를 선택하면 배경이 색상이 실제로 설정되어 있습니다 그러나 어떤 파일에 설정되어 있습니까? 이것은 선언 된 속성 섹션의 맨 위에 있지 않습니다 그래서 우리는 그것이이 견해에 직접적으로 설정되어 있지 않다는 것을 알고 있습니다

그러나 다시 한번 우리가 Attributes에서 속성을 선택하면 Panel, 거기에서 직접 탐색 할 수 있습니다 그것이 설정되는 곳으로 이 경우 스타일로 설정됩니다 그리고 우리는 그 스타일을 직접 탐색 할 수 있습니다 보기에 명시 적으로 참조되지 않는 경우에도 마찬가지입니다

우리가 본 3D 표현은 우리는 다른 방식으로 사물을 시각화하고, 여기서 유용한 정보를 계속 찾고 있습니다 예를 들어 초점을 맞추는 것이 유용 할 수 있습니다 한보기 및 그 자녀들에게 또는 무엇을 기반으로보기를 함께 그룹화하는 것이 유용 할 수 있습니다 그들이 정의 된 레이아웃 파일

이 화면의 예는 상단에서 볼 수 있습니다 우리는 RecyclerView 항목을 가지고 조각을 만든 다음, 활동 그리고 그 뒤에, 다양한 견해들 프레임 워크에 의해 정의됩니다 가벼운 새로운 레이아웃 검사기를 위해 더 많은 계획을 세웠습니다 저는 우리가 무엇을 생각해 낼 수 있는지에 대해 매우 기쁩니다

이제는 필요한 프레임 워크 변경 사항에 대해 이야기합니다 이것을 가능하게하려면 여기 애쉴리가 있습니다 애쉴리 로즈 : 고마워, 조 [박수 갈채] Android Q의 경우 세 가지 새로운 API가 추가되었습니다 이러한 새로운 검사 기능을 사용할 수 있습니다

우리는 모든 도면 명령을 수행 할 수 있습니다 화면에 프레임을 만들었습니다 그것을 직렬화하여 Studio로 다시 보내십시오 그래서 그것들을 재생할 수 있고 멋진 3D보기를 만들 수 있습니다 우리는 얼마나 길게 빨랐 는가? 뷰 계층 구조에서 뷰의 특성을 가져오고, 추가 메타 데이터를 추가 할 수 있습니다

그것을보다 정확하게 만드는 것입니다 그리고 우리는 리소스 프레임 워크에 몇 가지 새로운 API를 추가했습니다 속성 값의 출처를 보자 의사 결정에 대한 더 많은 통찰력 그 과정은 다음과 같은 경우에 적용되었다 해당 속성 값에 도달합니다

그럼 Skia Picture에 대해 이야기 해 봅시다 Skia는 UI 툴킷의 기초가되는 2D 그래픽 라이브러리입니다 이것은 실제로 슬라이드에 맞도록 단순화 된보기입니다 하지만 그것은 그리기 명령의 목록입니다 더 일찍부터 우리 여행 카드 중의 1 개를 형성하는 것에 들어간다

우리가 그것을 보았다면 그림자, 둥근 사각형, 이미지, 텍스트 – 그 모든 것들을 자산과 함께 그것을 렌더링하는데 필요한 이미지 데이터, 폰트 데이터 등을 포함한다 우리는 Skia에서 이것을 기본적으로 얻습니다 매우 빠릅니다 실시간 미리보기를 수행 할 수 있기 때문에 이걸 몇 초에 한 번하십시오 그것은 일반적으로 매우 작습니다

그러나이 문제는 우리가 스위치를 확대하려면 여기를 클릭하십시오 그것은 텍스트, 둥근 사각형, 그리고 서클 슬라이더 스위치에 대한 약간의 이미지 그것들이 어떤 관점에서 왔는지는 모른다 그들은 명령을 내리는 것입니다 그리기 명령을 그룹화하는 방법이 필요했습니다

그들이 어떤 시각에서 왔는지에 따라 우리는 렌더링 노트 API를 보았습니다 두보기의 기초가되는 조직 트리입니다 그리고 drawables– 우리는 각각의 렌더링 노트에 고유 한 ID를 추가했습니다 그런 다음이 고유 한 ID를보기에 노출 시켰습니다

Skia 그림 자체에 주석을 달았습니다 여기서 각 렌더 노드는 그리기를 시작하고 멈 춥니 다 스튜디오 측에서 보기가 시작된 위치와 중단 된 위치를 확인하고 연결할 수 있습니다 이 3 개의 그리기 명령은 다시 스위치보기로 돌아갑니다 또한 우리는 시작과 중지가 있기 때문에, 우리는 멋진 중첩 된 프레임 워크를 가지고 있습니다

HTML – 우리가 볼 수있는 모든 도면 명령이 다시 있습니다 단순화 된이 카드보기를 만드는 데 들어갔다 같이 [? 오랫동안도?] 그들이 시작하고 멈추는 전망, 우리는 중첩을 해봅시다 부동산 검사를 어떻게 수정하는지 조금 이야기 해 봅시다 Joe의 관점에서 일찍 – 모든 것이 게터 이름이나 메소드 이름이었습니다

그건 우리가 반사를 사용했기 때문이었습니다 런타임시 뷰 인스턴스 내부의 속성 반사는 세계에서 가장 빠른 것이 아닙니다 특히 휴대 기기에서 매우 복잡한 앱의 경우 전체보기를 렌더링하는 데 최대 몇 초가 걸릴 수 있습니다 계층

그래서 우리는 다음과 같은 접근 방식을 들여다 보았습니다 모든 것을 직렬화하는 메서드가 있습니다 그것은 조금 부서지기 시작합니다 보기에 새 속성을 추가하면 업데이트되지 않습니다 우리는 주석 처리기에 추가했습니다

그것은 우리가 반사를 유연하게 유지할 수있게 해줍니다 우리를 제공했다 특수 효과를 추가하기 만하면됩니다 새 게터를 추가하면됩니다 사용자 정의에 대해 어떻게 보일지 살펴 보겠습니다

이는 사용자가 누구에게나 관련이 있기 때문에 볼 수 있습니다 곧 라이브러리보기를 빌드하십시오 우리는 컬러보기를했습니다 속성은 색이며 주석을 달았습니다 InspectableProperty

주석 처리기가 보이면 그것으로 우리에게 조금 더 많은 맥락이 생깁니다 우리가 이전에 얻은 것보다 훨씬 낫습니다 그래서 우리는 Kotlin에 있고 @ColorInt 주석을 볼 수 있습니다 정수형뿐만 아니라 우리는이 정수에 색을 채웠다는 것을 압니다 그리고 그것은 단지 수치가 아닙니다

재산의 이름이 있습니다 우리는 속성 ID에 대한 추론을하는 데 사용할 수 있습니다 그것을 부르는 것 물론 우리는 주석에 대한 속성을 사용하여 추론하기 그 자체 그래서이 코드 생성은 어떻게 생겼습니까? 이 객체는 이 견해와 나란히 앉을 것이다

그 중 하나가 어떻게 생겼는지 살펴 보겠습니다 이것은 검사 동반자입니다 그것은 Q를위한 새로운 API입니다 두 가지 목적이 있습니다 하나는 클래스가 주어진 경우의 목록을 정의합니다

여기에 그 클래스에 정의 된 속성이 있습니다 이 경우 색상을 정의했습니다 지도 색상에 대한 호출을 살펴보면, 색깔이기 때문에 거기에 유형이 있습니다 우리는 속성 이름을 가지고 있고 유추했습니다 ID의 속성 R

attr 이것은 또한 우리가 – 추론 된 속성 ID가없는 경우, 또는 당신이 하나를 공급했다면 우리는 그것을 거기에 넣을 것입니다 내가보기에 Studio를 가르치면, 여기에 내가 가지고있는 속성이 있습니다 여기에 그들의 속성 ID가 무엇인지, 이것은 우리가 그 부분을 가능하게합니다 코드 완성 기능으로 이동하십시오

다음 단계는 실제로 우리가 보기의 인스턴스가 있으면 속성을 읽고 싶습니다 다시 말하지만, 우리의 견해가 Kotlin에서 정의되고 자바를 사용하고 있기 때문에 – 이것이 생성 된 코드이기 때문에 – 우리는 viewgetColor를 호출한다 직접 호출한다 getter에게 반사가 필요 없습니다

매우 빠릅니다 이를 통해 뷰 계층의 실시간 업데이트를 수행 할 수 있습니다 Studio에서는 우리가 가지고 있지 않기 때문에 우리가 전에했던 모든 추가적인 오버 헤드 우리를 얻는 모든 것이 현재의 가치에 달려 있습니다 우리가 말할 수있는 것은 여기에 우리가 가지고있는이 사랑스러운 푸른 색 텍스트 색입니다

우리는 그것이 무엇인지에 관계없이 말할 수 있습니다 그것이 런타임에 설정되었는지 여부 viewsetColor를 호출했을 수도 있습니다 또는 자원에 설정되어있는 경우

그러나 대부분의 속성 값은 자원에서 설정되며, 그래서 우리는 그 사건을 돕고 싶었습니다 우리는이 경우에, 그것은 위젯에 정의되어 있습니다 리소스에 API를 추가하여, 나는이 가치를 얻었다 그게 어디서 왔는지 말해줘 Google은 해당 데이터를 추적하여 전체 리소스를 통해 저장합니다

뼈대 또한, 우리는 통찰력을 얻고 싶었습니다 스타일이 어떻게 영향을 미치는지 그래서 자원 프레임 워크가 해결 될 때 속성 값 – 어떤 스타일을 적용할지 결정해야합니다 의사 결정 트리를 가져 와서 API를 추가하여이를 나타냅니다

근본적으로 고려 된 스타일 목록입니다 그러나 결국 사용되거나 사용되지 않을 수 있습니다 해당 속성 값을 해석하는 동안 이 모든 문제는 일시적인 현상입니다 왜냐하면보기, 일단 팽창되면, 그들은 그들의 관계를 잊는다 리소스

일단 그들이 건설되면, 그들은 그들이 어디에서 온 것인지 기억하지 못한다 개발자 옵션을 추가했습니다 속성 ID의 맵과, 그들이 왔던 곳, 스타일 해상도는보기의 테마에서 스택됩니다 그래서 스튜디오 – 준비가되었거나 관심이있을 때 재산으로 더 자세히 조사하고 싶어요 돌아와

보기로하고,보기에게 묻는다, 헤이, 어디에서 당신의 속성 값이 왔는지, 그들의 스타일은 무엇입니까? Q가 가진 모든 것을 꽤 많이 감쌌다 바딤과 제롬을 환영하고 싶습니다 우리를 감싸는 무대에 [박수 갈채] VADIM CAEN : 전체 툴 체인에 대해 들었습니다

그리고 집에 돌아갈 때 그것을 사용하기를 바랍니다 레이아웃 편집기로 레이아웃을 작성하고, 우리가 추가 한 새로운 기능 네비게이션 편집기로 네비게이션 만들기, 자원 관리자로 자원 관리, 새로운 레이아웃 검사기로 검사를 수행하십시오 올해 I / O에는 Android Studio 협상이 가득합니다 바로 뒤에 – 원형 극장에서 – 당신은 안드로이드 개발의 새로운 기능을 볼 수 있습니다

Tor 및 [? Ja ?] 그렇다면 당신은 2 단계의 Android 빌드 시스템의 새로운 기능 그것은 다른 쪽 위에있다 그것은 오늘 오후에 시작한다 여기에 빨간 점이 거의 없습니다 Android Studio 팁 및 트릭 제공 선별 된 엔지니어 및 프로젝트 매니저에 의해, 2 단계

마지막으로 내일, ConstraintLayout의 새로운 기능 Nicolas와 John의 모션 레이아웃 우리는 여기서 밖에 질문을 할 것입니다 와 주셔서 대단히 감사합니다 내년에 봐 [음악 재생]

New Era For Android | Kotlin Programming Language

반가워요, 얘들 아! 이쪽은 Neil Holkar입니다 당신이 안드로이드 개발자이거나 하나가 되려한다면, 이것이 올바른 것이어야합니다

기어를 "Kotlin"이라는 새로운 프로그래밍 언어로 전환 할 시간입니다 아니면 Android에서 공식 언어를 말해야합니다 네! 내 말을 들었다 Google은 2017 년 11 월 28 일에이를 공식화했습니다 이제이 새로운 프로그래밍 언어에 대해 잠깐 살펴 보겠습니다

Kotlin은 JetBrains에서 설계되었습니다 아파치 20에 기반한 오픈 소스 프로젝트이다 이제 Android에서 새로운 프로그래밍 언어가 필요한 이유는 무엇입니까? Java로 문제가 해결되지 않았습니까? 예, 얘들 아 오랜 시간 동안 우리는 앱 개발을 위해 Java SE 7을 사용했습니다

우리는 표현력이 풍부하고 훨씬 안전하며 안드로이드 앱을 만드는 언어가 필요했습니다 건강하고 활동적인 그래서 우리는 코 틀린을 개발했습니다 코 틀린은 표현력이 있습니다 코 틀린은 간결합니다

Kotlin은 강력합니다 하지만 무엇보다도, 그것은 기존의 안드로이드 언어 및 런타임과 상호 운용이 가능합니다 이제 kotlin에서 고전적인 hello world 예제를 보겠습니다 첫 번째 행은 패키지를 선언합니다 fun는 함수를 선언하는 키워드입니다

이제 알 수 있듯이 kotlin 프로그램의 시작점은 main이라는 함수이기도합니다 C / C ++ 및 Java와 매우 유사합니다 main 함수의 인수는 제네릭 형식 String의 배열입니다 여기에서 주목할 수있는 한 가지는 데이터 유형이 변수 이름 뒤에오고 둘 다 콜론으로 구분됩니다 여기서 주목해야 할 또 하나의 점은 세미콜론 문장 종결자가 또한 kotlin에서 선택 사항

이제 코드 스 니펫을보고 kotlin이 안전한지 확인하십시오 위의 코드는 컴파일 오류를 생성합니다 Kotlin은 출력 변수를 null로 제한합니다 먼저 변수를 nullable로 선언해야합니다 예를 들면 다음과 같습니다

이 코드는 완벽하게 실행됩니다 Kotlin에는 Java에서 POJO 클래스가 있고 확장 할 수있는 많은 기능이 있습니다 그 기능을 사용하려면 Getter / Setter / toString () / equals ()에 대한 코드를 포함해야합니다 그러나 kotlin에서 데이터 클래스를 사용하면 Getter / Setter / toString () / equals ()를 사용하여 POJO 클래스를 만들 수 있습니다 코드 한 줄만 있으면됩니다

예를 들어이 코드 Lambda를 사용하여 kotlin의 코드를 단순화 할 수 있습니다 이제 클래스를 상속하지 않고 확장을 통해 기능을 확장 할 수 있습니다 kotlin의 기능 하지만 kotlin의 가장 큰 특징은 자바와 100 % 상호 운용이 가능하다는 것입니다

즉 Java에서 kotlin 코드를 호출 할 수 있으며 그 반대도 마찬가지입니다 지금까지 우리는 kotlin의 구문, 의미 및 특징에 대해 이야기했습니다 이제 다양한 기존 도구에 대한 지원에 대해 말씀 드리겠습니다 IntelliJ IDEA 15에는 Kotlin에 대한 플러그인 지원이 있습니다 또한 Eclipse IDE에는 Kotlin에 대한 플러그인 지원이 있습니다

Android 30 이상부터 kotlin은 공식적인 지원을받을 것입니다 이전 버전의 Android의 경우 플러그인 지원도 가능합니다 이제 우리가 코 틀린으로 전환하는 회사에 대해 이야기하면, 당신은 그 (것)들에 의하여 kotlin의 거대한 채용을 볼 수있다 Amazon Web Services에서 Pinterest, Coursera, Netflix, Uber, Corda 및 BaseCamp Expedia에 HSBC는 이미 kotlin을 채택했습니다

kotlin으로 빌드 된 다양한 앱을 볼 수도 있습니다 좋아하는 앱도있을 수 있습니다 코 틀린은 이미 시장에 나와있다 이제는 어떤 변화가 가져올 것인지, 그리고 어떤 새로운 변화가이 분야에서 이루어질 것인지 봅시다 2018 년 프로그래밍 언어

이 동영상 용입니다 아래의 코멘트 섹션에서 Kotlin에 대한 의견은 무엇입니까? 2018 년에 자바를 대체 할 예정입니까 ?? 그리고이 비디오가 마음에 들면 LIKE 버튼을 누르고 SUBSCRIBE를 잊지 마세요 이 채널에 그때까지, 계속 학습하고, 프로그래밍을 유지하십시오! 고마워, 안녕!

The New Android Emojis SUCK! What is Google Thinking?

안드로이드 사용자를위한 슬프고 슬픈 날입니다 Google은 그들의 상징적 인 (말장난 의도 없음) 이모티콘을 제거하고 대체하기 때문에 그들에게 당신이 단지 혐오감으로 묘사 할 수있는 것과 함께

업데이트는 새로운 Android O 개발자 미리보기에서 제공됩니다 그들은 공식적으로 만들지 않았지만이 새로운 버전이 대중에게 공개되면 그리고 모든 사람들이 이것이 큰 문제라고 생각하지 않을 수도 있습니다 그러나 당신은 이것이 단지 옳지 않다는 것을 압니다 이제 분명히 이해할 수 있도록 내가 말하는 것을 보여줄 필요가 있습니다 우리는 전체적으로 가장 나쁜 변화 중 하나라고 생각하는 예를 가지고 시작할 수 있습니다

새 카탈로그 그 거북이 이 작은 녀석은 우리가 지금 가지고있는 것입니다 저 사람 좀 봐 그가 얼마나 행복한 지보십시오

왜 누군가 그를 해치고 싶습니까? 그러나 아니, 구글은 귀여운 작은 웃는 거북이를 원하지 않기로 결정하여 살해하고있다 그를 그리고 그를 그를 이것으로 바꾸어 놓았습니다 뭐 그거야

너는 행복한 미소 짓는 거북이 거북이에게서,이 못 생기고, 거만하고, 자고, 자고, 두 배로 자란다 턱받이, 그로테스크 식 껍질을 벗기고, 변색 된 얼굴, 엄지 발가락, 극악! 이제 우리는 아직 이모티콘에 웃는 얼굴을 보지 못했지만 다른 동물들을 바라 보았습니다 그들은 변했고, 그들 중 많은 것들이 마찬가지로 나빴습니다 그것은 마치 그들이 어떤 이유로 더 현실적으로 보이기를 원했던 것과 같습니다 나는 호랑이를보고, 실제로 표정이 풍부한 이모티콘에서 단지 일부에 이르기까지 갔다

어쨌든 호랑이처럼 보이지 않는 죽은 동물 당신이 아는 다음 일은, 그들은 모든 이모티콘을 문제의 주제에 대한 사진으로 바꿀 것입니다 그것은 단지 맞습니다 그들은 어떤 이유로 작은 48×48 픽셀 스퀘어에 많은 세부 사항을 분명히 맞추기를 원합니다 왜 그냥 사진을 찍고 그걸로 끝내지 않을까요? 오, 잠깐, 아마 이모티콘을 실제로 원하는대로 사용할 수 있기를 바랍니다

텍스트 메시지의 표현이 아니라 대학 분류학 과정의 표현 물론 우리는 얼굴에 대해 이야기해야합니다 오, 그들이 나쁘지 않다는 것에 대해 걱정하지 마십시오 여기에 우리가 가진 것이 있습니다 귀여운 작은 얼룩

어쩌면 그들은 이상한 모양을하고있을 수도 있지만, 단순하고 과장이 아니며 이해하기 쉽습니다 전에 말했던 것처럼, 나는 이모티콘에 관해서는 더 간단하다고 생각합니다 왜냐하면 그들은 너무 작게 보일 것입니다 그래서 우리가 당신에게 새로운 쓰레기를 보여주기 전에, 비교를 위해, 여기에서 과거로부터의 돌풍이 있습니다 이것들은 2005 년경의 고대 MSN 메신저의 일부 이모티스입니다

우리가이 추한 것을 언제 생각하니? 그러나 나는 실제로 거짓말을했기 때문에 실제로 기다려야합니다 2005 년 이모티스가 아닙니다

이것들은 사실 NEW Android 이모티콘입니다 예 얼마나 많은 사람들이 말할 수 있는지 궁금합니다 내말은, 정말로이게 뭐야? 그들은 15 년 전부터 "수천 가지의 무료 이모티콘"으로 그 팝업 광고처럼 보입니다! 두꺼운 경계와 이상한 그라디언트는 모두 다 무엇입니까? 5시 그림자처럼 모든 얼굴을 보입니다 그리고 왜이게 지금 파란거야? 그것은 병 들게 보이게도 이해가되지 않습니다

그것은 그들이 설계 한 사람이 무엇을하고 있는지 전혀 모르는 것처럼, 15 년을 보았습니다 YouTube에서 이전 디자인 자습서를 작성한 다음 각각에 대해 완전히 동일한 단계를 사용하여 만들었습니다 어떤 새로운 기술을 배우지 않고 나는 그라디언트를 의미합니까? 정말? 이제 1 분 동안은 분명히있게하십시오 왜 그들이 일반적인 이모티콘을 재 설계하고 싶어하는지 알 수 있습니다

처음으로 변경 한 것과 같지 않으며 마지막이 아닙니다 주된 이유는 나머지 Android 사용자들 사이에서 Android 이모티콘의 일관성을 유지하는 것이 었습니다 다른 플랫폼 그리고 OK IOS와는 다른 모습의 일부 안드로이드 이모티스가있었습니다

그러나 그렇게 많은 것은 없었습니다 예를 들어 여기 안드로이드에서 얼굴이 찡 그리기 웃는 얼굴, 그리고 여기는 IOS에서

잠깐, 똑같아 보이는 군 그러면 새로운 것이 어떻게 생겼습니까? 어 나는 그들이 여기에 일관성이 있다고 생각했다

좋아, 다른 것을 시도해 보자 아! 여기보세요, 이것은 오래된 Android Dizzy 얼굴 이모티입니다 보시다시피 X 눈이있는 Apple과는 완전히 다릅니다 하지만 이제 그들은 그것을 고쳤습니다 왜냐하면 여기에 새로운

하나가 있습니다 음 나는 약간의 메시지를 여기에서 얻고있다 그리고 당신은 말할 수 있습니다, 그럼 당신은 체리 따기입니다 iOS처럼 보이지 않는 많은 emojis가 있습니다! 물론, 그것은 확실히 몇 년 전의 사례였습니다 나는 iOS와 완전히 일치하지 않는 Android의이 성난 얼굴을 본다는 의미입니다

버전 이었지만 안드로이드 4에서는 원래대로 였으므로 동일합니다 그런데 안드로이드를 입으로 사로 잡는 어떤 이유로 닫은 하지만 다시 말하지만, 안드로이드 4에서만 가능했습니다 합리적으로 큰 차이점을 수정 한 유일한 예가 무서운 것입니다 애플은 눈이나 뭐 그런 유령처럼 보였고, 안드로이드는 실제로 사람처럼 보였다

그들은 iOS 버전과 더 비슷하게 변경했습니다 하지만이 경우 iOS 버전이 어리석은 것처럼 보입니다 얼굴처럼 보입니다 적어도 안드로이드 버전에는 개성이있었습니다 그래서 저는이 모든 것을 사지 않을 것입니다, "우리는 일관성을 위해 그것을했습니다"변명

그들이 한 것처럼 많이 바꿀 필요는 없었습니다 그들이 blob 모양을 없애고 싶다면, 그 모양을 원으로 바꿔서 휴식, 문제 해결 사실 한 쌍의 사람들은 키스하는 얼굴처럼 그들이 한 일을 정확히했습니다 끔찍한 그라디언트와 개요에 대한 설명은 이모티콘을 원한다는 것입니다 더 쉽게 볼 수 있습니다

디자인 프로세스를 설명하는 블로그 게시물에서 그들은 윤곽선과 그라디언트 이모티콘을 모든 배경에서 더 읽기 쉽게 만들 수 있습니다 그러나 나는 누군가와 함께 정말로 전에 가독성에 어떤 문제가 있었는지에 관해 안다? 아니면 문제를 찾는 해결책입니까? 늙은 사람들이 볼 수있는 유일한 방법은 순수한 노란색 backgroundu 또는 뭔가 그리고 심지어 stil, 당신은 여전히 ​​이모티콘의 얼굴을 볼 수 있습니다 그리고 순수한 노란색 배경을 사용하는 앱을 한 번 사용해 본 적이 있습니까? 텍스트를 타이핑 할 때? 그렇게 생각하지 않았다 도움이되는 10 억 배의 1을 위해, 그들은 단지 시간의 나머지를 어리 석게 본다 이 시점에서 당신은 이런 이모티스가 허위처럼 보일지 궁금해 할 것입니다 잘만되면 그들은 이것들에 너무 많은 시간을 쓰지 않았고, 그들은 기꺼이 변화 할 것입니다

그들 음, 그들은이 끔찍한 일들을 일하는 한 해를 보냈다 그래서 나는이 많은 시간을 투자하면서, 이것에 낭비한다는 것을 의미한다고 생각합니다 그들은 변화하지 않을 것입니다 스티브 잡스 자신이 돌아와서 옛 버전을 좋아한다고 말했을지라도 애플이 독점적으로 사용하기 시작했다

그러나 그것은 당신에게 궁금증을 안겨줍니다 어떻게 도대체 그들이 그토록 많은 시간을 보냈 을까요? 이것들은 그런 추악한 결과로 끝났습니까? 그들이 포커스 그룹이나 의견 테스트를하지 않습니까? 또는 계속해서 일자리를 정당화 할 필요가있는 사람들의 경우 일 수 있습니다 지불했다 어쩌면 그들은 생각했다 "우리가하는 일은 모두 배경 껌을 껌으로 바꾸는 것 뿐이야

서클에, 상사는 왜 지불하고 있는지 질문 할 것이다 6 개의 숫자는 일년에 " 나도 놀라지 않을 것이다 블로그 게시물 aboutum the new emojis를 보면, 그들은 온갖 환상적인 다이어그램을 가지고 있습니다 서클이 얼마나 원형인지를 보여주는 그리드가 있습니다 와우는 우리가이 비행기를 보았습니다

조심스럽게 정확하게 45도 각도로 놓았습니다 그리고이 다양한 이미지에 사용 된 다양한 색상을 보여주는이 흥미로운 이미지를보십시오 이모티스 우리는 돌고래와 함께 3 개의 전체 색상 인 파란색을 약간 더 어둡게 사용한 것은 멋지지 않습니까? 파란색, 심지어 더 진한 파란색? 사장님이 내가 컬러 팔레트를 무작위로 클릭 할 때까지 좋았어 그리고 그 색조 치는 것을 잊지 마세요, 윤곽선이 아니며, 그들은 TONAL입니다

스트로크 스, 맞을거야? 구글을 봐라, 나는 네가 네 직업에 대해 자랑 스럽다는 것을 알고있다 그러나 나는 네가이 감정을 조금이라도 떠맡고 있다고 생각한다 너무 진지하게 문자 그대로 토끼의 작은 그림에이 많은 세부 사항을 추가 할 이유가 없습니다 사실 새 토끼는 마치 토끼처럼 보이지 않습니다

알비노 다람쥐와 같습니다 왜 귀가 짧습니까? 이 불쌍한 작은 친구를 다시 생각 나게해야겠습니까? 나는 블로그 포스트에 관해 가장 우스운 이야기가 그들이 말하는 마지막 섹션이다라고 생각한다 69 명의 새로운 이모티콘을 어떻게 소개하고 있는지! 정말? 그 숫자는 당신이 가려고하는 숫자입니다 69 농담 아니에요? 당신은 1 년 반을이 모든 것에 보냈고 당신은 하나 더 만들 수 없었습니까? 70으로 만들 수 없습니까? 알았어, 내가 도와 줄거야, 나 자신의 구성 요소를 사용하여 내 자신 만의 이모티콘을 만들거야 그리고 그들은 그것을 사용할 수 있습니다

새로운 이모티콘에 대한 나의 반응을 나타내는 하나를 해보 죠 네, 맞습니다 그걸 만들기 위해 1 분 정도 걸렸습니다 오, 잠깐, 잊어 버렸어, 더 이상 충분하지 않고, 더 많은 그라디언트와 색조가 필요하다 아, 우리가 간다면, 그것은 분명히 필요했습니다

글쎄 그건 오래 걸리지는 않았지만, 시간당 임금을 받는다는 뜻이기도하다 조금 오른다 고? 하 이제 더 좋아 완전한 그래서 나는 지금까지이 모든 새로운 이모티콘이 왜 그렇게 생각하는지 분명히했습니다

바보 같아 현재 버전은 완전히 멋지게 보이며 단순함은 좋은 것입니다 그것들은 다른 플랫폼과 완전히 똑같을 필요는 없습니다 표정은 동일합니다 물론 조정할 수있는 커플이 있었지만 완전히 새로운 것을 정당화하지는 않습니다

재 설계, 특히 AOL 인스턴트 메신저 이모티콘에 속한 것처럼 보이는 디자인 팩 그리고 우리가 보았 듯이, 아마도 변경해야 할 것들이 있었고 그들은 어쨌든하지 않았습니다! 물론 Google에 있어서는 분명히 마음을 바꾸지 않을 것입니다 왜냐하면 그들은 어쨌든 고객을 절대 경청하지 않습니다 나를 위해, 심지어는 농담처럼 자주 emojis를 사용하지 않습니다 심지어 제가 말할 수 있습니다

이것들이 얼마나 어리 석 었는지 적어도 일부 문자 메시지 앱의 경우 사용하도록 설정된 이모티콘을 선택할 수 있습니다 그리고 그것이 제가 말해야 할 모든 것입니다, 그러나 저는 여러분이이 모든 것에 대해 어떻게 생각하는지 알고 싶습니다 나는 당신이 나와 동의하는지 또는 내가 완전히 틀렸다고 생각하는지에 대해 의견에 대해 알려주기 바란다 그리고 elses의 의견을 모두 확인하고 소수에 있는지 확인하십시오

의견 또는 아닙니다, 우리는 볼 것이다 어쨌든 계속 지켜보고 싶으면 여기에 다른 동영상을 올리면됩니다 그냥 클릭하십시오 구독하고 싶다면 토요일마다 목요일마다 새로운 비디오를 만듭니다 다시 한 번 당신에게서 소식을 듣고 싶습니다

보고 주셔서 감사합니다 다음에 좋은 것을 가져라