1Password brings their Android app to Chrome OS | Centered Ep 5

1Password로 이룰 수 있는 대단한 점은 당신들처럼 저를 추운 바깥에 두지 않는다는 거죠 아직 찍고 있지요, 그렇죠 네, 아직 찍고 있어요 좋아, 갑니다 준비하고 찍습니다 휴대폰을 바꿨을 때 첫 번째로 설치하는 앱 중 하나는 1Password예요 수년간 탄탄한 시스템으로 발전했고 Android의 몇몇 기능을 이용해서 사용자들이 즐거운 경험을 할 수 있죠 그리고 Android 앱에서 Chrome OS로 옮겨서 그 영역을 확장시킬 수 있어요 저는 지금 토론토에서 1Password 팀과 함께 몇 년간 사용자 피드백을 통해서 이 제품이 어떻게 발전했는지 알아보려고 나왔습니다 온타리오 주, 토론토 시작하기 위해서 저는 마이클을 만날 것입니다 마이클은 1Password의 Android 제품 개발자의 리더죠 비밀번호를 관리한다는 것은 실제로 아주 복잡하고 힘들 것 같아요 우리는 이런 노력을 합니다 사용자 인터페이스를 갖추려고 하며 꽤 복잡한 아이디어를 보안과 암호화 작업을 거치고 최대한 간단하고 쉽게 쓸 수 있도록 노력합니다 Android 앱을 만들어서 1Password가 Android에서도 움직이는 발전 상황을 볼 수 있는데요 그리고 Android 앱에서 Chrome OS에도 가져왔죠 Chrome OS가 정말로 인기를 얻기 시작할 때 우리 제품이 Chrome OS에 없다는 사실에 괴로워했습니다 우리는 1Password가 사용자들이 있는 곳에 있기를 바랐습니다 그래서 사용자들이 있는 플랫폼이 무엇이든지 그곳에 있길 원했죠 기억을 되짚어서 올라가면 1Password는 Android에서 출시됐죠? 네 그래서 1Password의 가장 첫 번째 버전은 Android에서 사용 가능했습니다 이걸 1Password 리더라고 부릅니다 그 이유는 그 당시엔 읽기만 가능했기 때문입니다 네, 그 당시엔 비밀번호에 접근해서 비밀번호를 읽기만 가능했군요 아주 간단한 기능이네요 맞습니다 2014년으로 돌아가면 1Password 4를 출시했는데 우리 목표 중 큰 부분은 1Password가 다른 플랫폼에서 작동됐던 것처럼 Android에서도 작동되는 것이었습니다 그리고 1Password 6로 넘어가서 부분적으로는 디자인 측면과 기능 측면에서 큰 변화가 일어납니다 우리는 이제 머터리얼 디자인에서 불러올 수 있게 되었습니다 머터리얼 디자인은 롤리팝에서 출시됐죠 그리고 우리가 영감을 받았던 것은 앱의 디자인을 바꿔서 Android 플랫폼에서 자연스럽게 보이는 것이었습니다 그리고 드디어 현재 1Password 7으로 넘어가면 이번 제품은 이번 여름에 출시되는 제품입니다 1Password의 발전에 있어서 사용자 피드백은 어느 정도의 영향을 끼치고 있나요? 사용자 피드백은 우리에게 정말 중요합니다 아주 초기 때부터 1Password의 이야기를 구성하는 일부분이었죠 실제로 우리 회사의 가장 큰 부서는 사용자 지원에 집중하고 있습니다 그래서 이 팀은 회사를 위해서 고객을 지지하는 활동을 하며 잘 작동할 때 개발자에게 말해주며 더 중요한 건 잘 작동하지 않을 때 말해준다는 거죠 그리고 고객 지원 팀이 개발 팀과 얼마나 가깝게 일하나요? 회사의 핵심 인력이 있는데 고객 지원에 집중하며 고객 지원과 개발 팀 사이에서 연락자로서 의사소통합니다 페리 씨는 제가 자주 찾는 사람으로 Android 분야에서 일하죠 제가 페리 씨에게 가서 고객 피드백이 앱에 얼마나 녹아드는지 알 수 있겠군요 제가 1Password에서 알아차린 점 중의 하나는 1Password의 고객 지원 팀이 아주 잘 되어 있다는 거예요 우리는 1Password의 고객 지원에 많은 힘을 쏟고 있습니다 고객들이 경험하는 것과 우리가 실제로 개발하는 것의 다리를 놓는 것을 좋아합니다 제품을 실제로 개발하고 더 낫게 만들기 위해서 1Passwrod 공동체에서 중점적으로 모을 수 있었던 정보엔 뭐가 있을까요? 우리가 만드는 주요 변화 한 가지는 실행하기 전에 많은 요청을 받는데 이걸 빠르게 검색할 수 있다는 거죠 저는 제가 빠른 검색을 원하는 사람 중 하나라고 생각했어요 그래서 사람들이 원하는 것을 정말 빨리 찾아내는군요 1Password에 좋은 소식이에요 모든 데이터를 가지고 있으며 이걸 보안 처리하고 싶어 하니까요 하지만 아주 빠르게 접근할 수 없다면 정보를 넣지 않을 거니까요 검색을 해서 접근한 다음 실제로 어떻게 발전하는지 옆에 두고 비교하고 싶어요 저는 새 1Password 7 앱을 사용하고 있습니다 포럼의 토론 내용을 검색하고 싶다면 포럼을 타이핑해서 빠르게 검색하면 벌써 검색되었네요 제가 가장 좋아하는 부분이죠 탐색 창을 열어야겠죠 카테고리를 누르고 아이템을 눌러서 검색을 누르세요 – 하나, 둘, 셋 – 하나, 둘, 셋 넷, 시작하기 전에 이렇게 해봐요 당연히 앱의 일반적인 사용자들에게 해당하는 말이에요 그래서 1Password 6와 7에서 변화한 것 중 제가 좋아하는 것은 사람들이 정보에 접근할 때 쉽고 아주 빠르게 접근할 수 있다는 거죠 사용자가 사용하기 편하게 되어야 합니다 왜냐하면 처음 사용할 때 대부분의 사람들은 어려워하니까요 페리 씨, 1Password를 어떻게 발전시키는지 들어서 좋았어요 세이트 로렌스 마켓 이제 1Password Android 엔지니어인 사드 씨와 대화하기 위해서 나왔습니다 Android 앱에서 Chrome OS로 어떻게 옮겼는지 듣기 위해서죠 하지만 먼저 커피가 필요합니다 이 시장은 현금만 받는 걸로 알고 있어요 걱정 마세요, 제가 갖고 있어요 감사합니다 커피 2잔이요 네, 계좌이체할게요 1Password의 멋진 점은 로그인을 하기 위해서 검색할 필요 없이 자동 로그인된다는 거죠 돈을 바로 보낼 수 있어요 Android 앱에서 Chrome OS로 옮길 때 사용 가능한 크기가 다르다는 걸 생각해야 하고 태블릿에서 작동되는지 픽셀북에서 작동되는지 봐야 했죠 설명을 해주시면 좋을 것 같아요 사드 씨가 생각해야 하는 디자인은 어떤 게 있었을까요? 우리는 운이 좋았습니다 1Password를 개발할 때 즉각 반응하는 UI를 염두에 뒀죠 왜냐하면 Android 기기는 다양한 크기와 화면 밀도를 가지고 있으니까요 그래서 다양한 화면을 생각하고 개발 작업에 들어갔습니다 그리고 이제 Android로 작동되는 여러 화면을 갖고 있고 Android 앱과 Chrome OS에서도 작동합니다 즉각 반응하는 UI를 가지는 게 필수 사항이 되었습니다 이 같은 개발 작업을 할 때 다른 중단점에 어떻게 접근했는지 정말 궁금한데요 우리는 더 큰 디스플레이를 위한 태블릿 레이아웃을 항상 갖고 있어요 Chrome OS는 나머지 부분을 제어하며 사용 가능한 창 크기를 알죠 그래서 특정 제한점을 넘어가면 다른 레이아웃으로 바뀝니다 이 지점에서만 제 아이템 목록을 볼 수 있어요 모니터가 2개인 레이아웃에서는 사용이 힘들죠 그리고 화면을 확장하면서 다른 추가 공간을 써야 하는데요 그래서 목록 아이템을 누르는데 의지하지 않고 아이템 자세히 보기 창으로 가겠죠 실제로 목록 면에서 누를 수 있지만 아이템 자세히 보기 창에서 이미 보여주고 있을 거예요 이 창에서 볼 수 있어요, 맞아요 여기에서 제가 말하고 싶은 것은 아래 있는 탐색을 쓰지 않고 가장 좋아하는 것, 카테고리 태그, 설정, 필요한 모든 것에 접근할 수 있는 옆에 있는 탐색을 쓴다는 것입니다 하지만 탐색이 꼭 밑에 있는 건 아니지만 이건 아주 중요한 거예요 아래 있는 탐색의 장점은 휴대폰에서 쉽게 누르고 접근할 수 있다는 거니까요 하지만 더 큰 화면으로 넘어갈 때 그런 점이 필요 없어지죠 휴대폰에서 쓸 때 장점이 없어져요 그래서 사람들이 쉽게 누르고 클릭할 수 있는 옆 메뉴로 가서 터치패드 같은 걸 사용하면 쓰기 정말 편하죠 Chrome OS는 터치패드와 키보드로 쓸 수 있어요 키보드 탐색을 앱에 넣고 싶다면 어떤 과정을 거쳐야 할까요? 보내기 키와 바로가기 이벤트를 중단시켜야 합니다 그리고 원하는 키를 가져오면 됩니다 특정 UI가 초점을 맞출 수 있는지 플래그를 사용해서 가리킬 수 있습니다 그리고 초점을 맞출 수 있다면 시스템은 한결 사용하기 쉬울 겁니다 초점을 맞출 수 있는 아이템이 있다면 접근성 라벨 형식을 추가해서 자신이 어디 있는지 알 수 있겠군요 이 창에서 볼 수 있는데요 접근성을 위해서 중요한 특정 제어들을 보여주고 있어요 이런 경우에 플래그를 사용해서 어떤 특정 요소가 접근성을 위해서 중요한지 보여주죠 그리고 접근성이 없다면 넘어가면 됩니다 하지만 이미지 뷰에서 이런 것들을 사용한다면 설명 란을 설정할 수도 있어요 예를 들어서 계정 배너를 찾고 있다면 해당 UI 요소를 위해서 콘텐츠 설명 란을 가리킬 수 있습니다 사드 씨, Android 앱에서 Chrome OS로 옮기는 방법을 알려줘서 정말 고맙습니다 수년간 사용자 피드백은 1Password 앱을 발전시켰습니다 간단한 비밀번호 리더기에서 모든 기능을 갖춘 Android 앱으로요 머터리얼 디자인을 써서 다양한 화면 크기에서 Android를 계속 사용할 수 있게 하였습니다 즉각 반응하는 UI로 개발하여 휴대폰과 Chrome OS 기기에서 앱을 사용하면서 멋진 경험을 하도록 도왔습니다 우리는 제품 생산자로서 사람의 경험에 초점을 맞춘 'Centered'를 제작하고 있습니다 안녕하세요 시작해볼까요 손을 사용하세요 팔을 사용하세요 재킷을 입고 있지만 할 수 있어요 팔을 반대로 하고 있네요

Android Developer Story: Cash App uses Kotlin to help accelerate development

[음악 재생] JESSE WILSON : 현금 응용 프로그램이 가장 빠르고 쉬운 돈을 보내는 방법 훌륭한 보상으로 개인화 된 직불 카드를받으며, 비트 코인을 사고 팔 수 있습니다

그래서 2013 년 Play 스토어에서 출시되었습니다 12 월 현재 1,500 만 명의 사용자가 활동 중입니다 2015 년에 동료 중 한 명이이 문서를 작성했습니다 안드로이드에서 Project Kotlin을 사용하면 우리 모두는 그것에 대해 정말로 흥분했다 Android Studio와 Android 팀 이래로 Kotlin을 받아 들였고, 상황이 나아졌습니다

우리가 새로운 특징을 바꾸고 싶을 때마다, 우리는 항상 그것을 Kotlin으로 먼저 변환합니다 내가 Kotlin에 관해 정말로 좋아하는 것 중 하나는 람다 (lambdas)입니다 RxJava로 프로그래밍하는 것은 매우 쉽고 유창합니다 그리고 그것은 허용 된 것이 었습니다 우리가 정말로 다른 두 가지 기술을 좋아하고 함께 사용하십시오

Kotlin을 사용하면 많은 빌더를 제거 할 수 있습니다 우리는 정말로 줄일 수 있습니다 우리가 작성한 코드의 양에 경우에 따라 코드의 25 %를 절약 할 수 있습니다 나는 Kotlin의 환상적인 비추천 기능을 정말 좋아합니다 비즈니스 문제가 변화함에 따라 API를 통해 진화 할 수 있습니다

모든 통화 사이트를 신속하게 업데이트 할 수 있습니다 우리는 끊임없이 비즈니스 모델을 개선하고 있습니다 더 많은 문제를 해결할 수 있습니다 그로 인해 새로운 코드를 최신 버전으로 마이그레이션해야합니다 모델

[INAUDIBLE]은 매우 빠르고 쉽게 만듭니다 우리가 정말로 흥미로 웠던 기능 중 하나 Kotlin Multiplatform입니다 우리 안드로이드 개발자들에게 iOS 및 iOS 개발자에게 코드를 제공하는 기능 안드로이드에 코드를 배송 할 수 있습니다 밀폐 된 클래스를 사용하여로드, 오류, 콘텐츠 화면은 모두 단일 밀폐 유형으로, 그리고 이것은 우리가 더 빨리 움직여서 변화를 줄 수있게 해줍니다 우리의 데이터 모델을 실제로 이해할 수 있습니다

더 강한 유형의 안전한 방법으로 Cash에서는 2 주마다 앱을 출하합니다 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에서 최대한 빨리 숙련 된 기술을 습득해야한다 안드로이드 애플 리케이션 개발을 위해 앞으로 나아 갔다

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

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

Migrate your existing app to target Android Oreo and above (Google I/O '18)

[음악 재생] 알았어 "Android 앱 마이그레이션"에 오신 것을 환영합니다

Android O 및 그 너머에 " FRED CHUNG : 안녕하세요 나는 개발자 옹호자 프레드 정입니다 Dan GALPIN : 안녕하세요, 저는 개발자 Galphin입니다 ERIC KUXHAUSEN : 안녕하세요, 저는 개발자 대변자가 아닌 에릭입니다

저는 마이그레이션을 담당하는 리드 소프트웨어 엔지니어입니다 API 26을 타겟팅 할 Google Play 스토어 앱 단 갈린 : 오후에 우리와 함께 해줘서 고마워 마지막 날의 가장 기대되는 세션을 예약하는 곳입니다 우리가 기록하지 않는 재미있는 즉흥적 인 것을 제외하고 죄송합니다

집 시청자입니다 그래서 네가 진짜 여기있는거야 구글 I / O의 대단원 FRED CHUNG : 음, 대단원이 시작됩니다 그렇다면 왜 마이그레이션해야합니까? 많은 이유가 있지만, 무엇보다도 마음에, 특히 Google Play에서 배포하는 경우, 올해 말까지 2018 년 8 월에 새로운 앱이 출시 될 예정입니다 최소한 API 레벨 26 또는 Android 8

0을 타겟팅해야합니다 마찬가지로 앱 업데이트의 경우에도 앱 업데이트가 필요합니다 2018 년 11 월까지 최소 API 수준 26을 타겟팅해야합니다 다시 말해서 앞으로 앱 업데이트 DAN GALPIN : 이제 모든 새로운 Android 버전 중요한 보안을 가져 오는 변경 사항을 소개합니다

성능 향상 및 경험 향상 전체적으로 Android 이러한 변경 사항 중 일부는 명시 적으로 선언 한 앱에만 적용됩니다 타겟 SDK 버전 매니페스트 속성을 통한 지원, 타겟 API 레벨이라고도합니다 실제로 타겟을 사용하여 APK를 업로드하려고하면 SDK가 26 미만이면 친숙한 알림을 볼 수 있습니다 이런 식으로 ERIC KUXHAUSEN : 저는 우리가 여기 있기 때문에 여기 있습니다

Google Play에서 Play 스토어 앱을 계속 업데이트하고 싶었습니다 11 월 마감 이후 프레드 (FRED CHUNG) : 그래서 몇 가지 기본 사항을 빠르게 살펴 보겠습니다 각자 모두 최소 SDK는 가장 낮은 플랫폼 버전입니다

앱이 기꺼이 지원할 것입니다 종종 시장 침투와 관련된 결정입니다 다양한 Android 출시 DAN GALPIN : 컴파일 SDK는 말 그대로입니다 프로젝트가 링크하는 SDK 헤더 및 스텁 라이브러리 ERIC KUXHAUSEN : 중요한 것은 물론, 내가 말하는거야 targetSdkVersion은 플랫폼의 방식입니다

하위 호환성을 보장합니다 즉, 특정 행동 만 취할 수 있습니다 변경 사항은 특정 특정 대상 SDK 버전으로 적용됩니다 FRED CHUNG : 기술적으로 이것은 사실 일 필요가 있습니다 그리고 이것은 전형적이고 권장되는 사례입니다

당신이 아마 걱정하기 때문에, 대략 95 %의 사용자 최신 버전을 대상으로하지는 않습니다 Androids의 버전은 아직 그것을 개선하기 위해 노력하고 있습니다 DAN GALPIN : 목표를 변경하지 않으면 SDK가 버전 26 이상인 경우 런타임 권한과 같은 것을 처리해야하며, AlarmManager가 변경되어 다양한 방법으로 작동합니다 BroadcastReceiver 동작을 처리하려면, 배경 서비스를 피할 수 있습니다 ERIC KUXHAUSEN :하지만 좋은 기회가 있습니다

앱이 네트워크 및 배터리를 낭비 할 것이라는 점, 장치의 경험을 덜 빠르고 유동적으로 만듭니다 프레드 (FRED CHUNG) : 프리 -M 버전에서 마이 그 레이션하는 경우, 더 큰 변화 중 하나는 아마도 지원 일 것입니다 런타임 권한 런타임 권한은 실제로 사용자 개인 정보 보호 및 신뢰에 관한 것입니다 하지만 앱이 민감한 권한을 요청할 수도 있습니다

문맥 그리고 그것은 애플 리케이션을위한 좋은 일이다 누군가 당신의 앱을 설치하지 않기를 원하기 때문에 당신이 허락을 구하고 있기 때문에 하나의 특정 흐름에있는 민감한 정보 앱 내에서 따라서 우선, 모든 권한이 아닙니다 런타임 것들이 간단하고, 이것을 기억하기 쉽습니다 FRED CHUNG : 개발자는 걱정하지 않습니다

사용 권한을 생각할 수 있습니다 사용자는 이러한 광범위한 범주의 측면에서 볼 수 있습니다 그리고 당신이 가지고 있어야 할 첫 번째 질문 앱이 정말로 조항을 필요로하는지 여부입니다 결국 허가를 제거하는 것은 쉽습니다 자, 에릭, Play 스토어 앱에서 어떻게 처리 했습니까? ERIC KUXHAUSEN : 간단합니다

당신이해야 할 일은 앱이 시스템 이미지에 대한 권한을 미리 부여했습니다 FRED CHUNG : 그건별로 도움이 안돼, Eric ERIC KUXHAUSEN : 말하자면, 우리도 시도하고 사용합니다 가능한 한 이들 중 적은 수만큼 DAN GALPIN : 물론, 앱이 아직 준비되지 않았기 때문에 M을 타겟팅한다고해서 사용자가 가서 원하지 않는 권한을 비활성화하십시오

FRED CHUNG : 특별 권한이 있습니다 얻기 위해 사용자를 설정으로 리디렉션해야합니다 예를 들어, 오버레이 창 그리기, 또는 일부 행렬 권한이 될 수 있습니다 같은 화면 캡처 단 갈린 (DAN GALPIN) : 이제 UI의 작업으로, 런타임 권한은 실제로 활동이나 프래그먼트가 필요합니다

onRequestPermissionResult를 재정의 한 방법 자, 이것은 당신의 뷰 레이어, 활동과 파편과 같은 실제로 필요한 모든 사용 권한을 예상한다 다른 층에 의해 자, 대단한 변화가 있습니다 알람에 대해 이야기 해 봅시다

Android의 알람은 두 가지 기본 형식을 취합니다 앱이 스스로 깨어나도록 허용하는 리터럴 알람입니다 실시간 이벤트에 대한 알림을 전달하기 위해 당신을 깨우는 것과 같은 약속 또는 곧 예정된 약속 또는 그들은 일을 스케쥴링하는 방법입니다 앱이 종료 된 후 얼마 후에 발생합니다 Android 초기에는 단일 API였습니다

하지만 KitKat을 통해 AlarmManager가 정확하지 않게되었습니다 명시 적으로 요청되지 않은 한, 향후 작업 일정을 수립 할 때 더 좋습니다 이제 앱이 정확한 시간에 사용자에게 알릴 필요가 있다면, setExact 메소드를 추가했습니다 여기에 우리가 구현 한 곳이 있습니다 KitKat 이상에서이를 호출하는 지원 라이브러리의 메소드

ERIC KUXHAUSEN : Play 스토어에서 정확한 알람을 사용하지 않습니다 앱 우리가 사용하는 알람은 정확하지 않습니다 시스템이이를 더 잘 배치 할 수있게 해준다 배터리 및 시스템 상태

DAN GALPIN : 이제 Android Marshmallow Android를 유휴 상태로 만들 때 경보는 일반적으로 발화합니다 그래서 우리는 명백한 메소드 인 setExactAndAllowWhileIdle을 추가했습니다 알람을 울리면 장치를 깨울 수 있습니다 그리고 우리는 그 지원 라이브러리에 메소드를 구현했습니다 게다가

그리고 실제로 이전 지원 라이브러리를 호출합니다 이전 플랫폼 버전의 setExact 메소드 FRED CHUNG : 그래서 그 박람회가 끝나면, 테이크 어웨이는 꽤 간단합니다 맞습니까? WorkManager를 통해 향후 작업을 GCM 작업으로 옮기는 것을 고려하십시오 WorkManager는 새로운 작업 스케줄링 작업입니다 우리가 시작했다

DAN GALPIN : 이제 WorkManager는 Jetpack의 일부입니다 그리고 당신의 임무를 수행하는 가장 좋은 방법을 선택합니다 API 버전 및 앱 상태와 같은 항목을 기반으로합니다 안정적으로되면 권장 API가됩니다 우리가 무언가를 생각해 내지 않으면 그전에는 더 좋았어

ERIC KUXHAUSEN : Play 스토어에서 우리의 배경을 볼 수있었습니다 작업은 정기적으로 KitKat에서 2 % 더 많은 사용자에게 도달합니다 우리가 Firebase JobDispatcher를 채택했을 때, 단지 알람을 사용합니다 이렇게하면 시스템 상태 및 배터리 사용이 향상됩니다 알람을 사용해야 할 경우 가장 정확한 알람을 사용하십시오 너는 할 수있어

FRED CHUNG : 이제, 가장 정확한 경보, [INAUDIBLE]처럼 15 분마다 사용해야합니다 따라서 당신은 현명하게 그것들을 사용해야 만합니다 DAN GALPIN : 오, 예, WorkManager입니다 그럼 BroadcastReceiver에 대해 다시 이야기합시다 FRED CHUNG : 우리는 BroadcastReceiver에 대해 이야기해야합니까? DAN GALPIN : 우리는 그들에 대해 이야기해야합니다

FRED CHUNG : 그렇게하자 DAN GALPIN : 네 FRED CHUNG : 그래서 BroadcastReceiver, 저는 많은 사람들이 아마 그걸 알 것 같아, 그렇지? 플랫폼에서 알림을 보내고 실행하는 데 사용됩니다 시스템 전반의 이벤트에 대한 응답으로 Android에서 강력한 API를 제공하는 이유 중 하나입니다 서비스

DAN GALPIN : 이제 커다란 힘이 엄청난 책임입니다 그리고 이러한 엔드 포인트의 방식에 대한 응답으로 사용 된 경우 대부분이 더 이상 앱을 시작할 수 없으며, O를 목표로 한 번 이상 FRED CHUNG : 물론, 예외가 있습니다 안드로이드 맞지? 이들 중 상당수는 매우 드물게 발생하지만, 로케일 변경 등 또는 어떤 경우에는 아직 대안이 없습니다

그 (것)들을 필요로하는 apps를위한 방송에, 예를 들면, 그 USB 액세서리 것들처럼 브로드 캐스트 사용을 피하는 방법에 대한 예를 확인해 봅시다 따라서 직장에서는 적절한 실행을 설정하여 그렇게 할 수 있습니다 기준, 네트워크 서비스 요구, 그런 다음 우리는 기능을 가질 수 있습니다 이는 네트워크 상태 변경 수신 대기와 유사합니다

방송 그리고 매니페스트에 이와 같은 코드가 있다면 이전 버전의 Android에서는 연결 변경에 대한 리스너를 비활성화 할 수 있습니다 그냥 사용 안함으로 두십시오 그리고 나서, 당신은 무엇을 할 것입니까? 그런 다음 수신기를 설정하여 PackageManager의 ComponentEnableSetting입니다 ERIC KUXHAUSEN : 또 다른 예외 팩을 마친 후에 많은 작업을 수행해야하는 경우입니다

예를 들어 알람을 다시 예약하거나 업데이트 귀하의 데이터베이스 수신기를 등록 할 수 있습니다 action_my_package_replaced에 대한 매니페스트에서, 그것은 계속 작동합니다 앱을 겨냥한 명시적인 브로드 캐스트 중 하나 DAN GALPIN : 자, 정말로 필요하다면 모든 패키지 업데이트에서 어떤 작업을 수행하려면, 당신은 아마 당신이하지 않기 때문에 action_package_replace_events에서 더 이상 시작할 수 없습니다

그러나 우리는 getChangedPackages라는 API를 가지고 있습니다 앱에서 무엇을 볼 수있게 해주는 패키지는 이전 저장된 일련 번호 이후로 변경되었습니다 지금 인생에서 달리기는 대개 건강합니다 나는 아마 더 많이해야한다 하지만 Android 앱은 가능한 한 작게 운영되기를 원합니다

그리고 게으른 앱은 사실 더 나은 앱입니다 그리고 나는 선언문이나 뭔가를 만들어야한다 프레드, 우리가 실제로해야 할 일이 뭐라고 생각하니? FRED CHUNG : 나에게 좋은 소리 우선, 무엇에 대해 이야기 해 봅시다 그것은 전경에 있다는 것을 의미합니다

완전히 명백하지 않기 때문에 그렇습니까? 다음과 같은 몇 가지 일반적인 경우가 있습니다 앱이 사용자에게 표시되거나 사용자가 볼 때 전경 서비스를 사용하거나 앱이 전경 앱에 묶여있다 그래서 앱도 전경에 있습니다 이 예외적 인 경우에 앱이 보이지 않을 때 배경에 있습니다

표준 서비스를 실행하는 경우, 작업 서비스 또는 BroadcastReceiver 그리고 당신이 O +에있을 때 백그라운드에서 실행할 때 서비스 시작 IllegalStateException이라는 예외를 throw합니다 그것은 좋지 않다 DAN GALPIN : 이제 서비스를 시작할 수 있습니다

앱이 포 그라운드에 있습니다 그리고 그들은 약 1 분 동안 계속 달릴 것입니다 귀하의 앱이 배경으로 된 후에 그리고 이것은 특히 중요합니다 왜냐하면 O에서 시스템은 앱이 보유하고있는 모든 웨이크 잠금 장치 활동과 같은 활동적인 구성 요소가없는 경우 또는 서비스

O를 타겟팅하는 앱뿐만 아니라 모든 앱에 적용됩니다 FRED CHUNG : 앱이 여전히 작동하는 몇 가지 경우가 있습니다 포 그라운드라면 실행할 수 있음 예를 들어 알림에 대한 응답으로 서비스를 시작합니다 액션, 우선 순위가 높은 Firebase Cloud 메시지, 또는 MMS 또는 SMS 배달에 대한 응답으로 이제 몇 가지 솔루션을 살펴 보겠습니다

백그라운드 서비스없이 백그라운드에서 실행됩니다 DAN GALPIN : 우선, GCM 소방 작업을 사용하십시오 – 아! – 백그라운드 작업을위한 WorkManager 이제는 이것에 대한 많은 이유가 있습니다 여러 Android에서 일관된 API 서비스를 만듭니다 예를 들어, 버전

ERIC KUXHAUSEN : 또는 당신이 가진 것에 대해별로 신경 쓰지 않는다면 앱은 플랫폼간에 일관되게 작동하며, 또는 최소한의 작업량으로 O로 이동하려는 경우, JobIntentService를 사용할 수도 있습니다 DAN GALPIN :하지만 진지하게 WorkManager 사용을 고려하십시오 제약 조건을 활용하고 삶을 편하게 만듭니다 ERIC KUXHAUSEN : Google Play 스토어 앱 WorkManager를 사치스럽게 사용하지는 않았지만, 왜냐하면 그것은 아직 존재하지 않았기 때문입니다 그건 우리가 JobScheduler와 Firebase를 사용해야한다는 것을 의미했습니다

JobDispatcher 자, 우리가 처음 배운 것은 Android L에서 JobScheduler를 사용하려면, 당신이 정말로 어떻게 이해하지 못한다면 다음과 같은 경우 알람이 울리며 작동합니다 예상대로 작동하지 않습니다 또한, 대안을 사용하십시오 예를 들어, L과 M의 첫 번째 릴리스에서, JobScheduler는 실제로 당신의 업무를 수행하지 않을 것입니다

동일한 제약 조건이 충족 된 두 개의 작업이없는 한 두 가지 작업을 예약하여이 문제를 해결할 수 있습니다 일치하는 제약 조건 DAN GALPIN :하지만 WorkManager처럼 진지하게 FRED CHUNG : WorkManager ERIC KUXHAUSEN : JobScheduler의 상황이 훨씬 나아졌습니다

M, MR1 이상 그러나, 또 다른 특질은 당신이 최소 대기 시간을 0으로 설정하는 것을 피해야합니다 이것은 오버라이드를 방해 할 수 있습니다 일부 릴리즈의 마감일 재정의 기한은 당신의 일은 일정 기간 동안 계속됩니다

제약 조건이 충족되지 않더라도 DAN GALPIN : 아니면 그냥 사용할 수 있습니다 실제로 작동하지 않는 WorkManager 재정의 기한이있다 하지만 당신이해야 할 일은 두 번째 직업을 예약하는 것입니다 비슷한 기능을 수행하는 워치 독으로 ERIC KUXHAUSEN : 여기에 몇 가지가 있습니다 JobScheduler 또는 WorkManager를 사용할 때 고려해야합니다

Android는 캡 티브 포털과 [INAUDIBLE]을 감지하려고 시도하지 않습니다 조건, 그러나 불완전한 예술이다 또한 Android는 간혹 네트워크 전에 앱을 깨우십시오 앱에서 사용할 수 있습니다 이것이 의미하는 바는 적절한 오류 처리가 필요하다는 것입니다 일자리를 재조정하는 일

Play 스토어에서 지수 백 오프를 추가하면 우리의 일에, 우리는 19 % 더 성공적인 배경 작업을 보았습니다 여기에서 핵심은 시스템이 작동하도록 허용합니다 동일한 작업으로 일정을 다시 잡는 실수를 저지르기 쉽습니다 ID, 시스템 백 오프도 사용합니다 이는 백 오프 속도를 방해하거나 재설정 할 수 있습니다

DAN GALPIN : 또는 WorkManager에서 – 사실, 그래, 그러지 마라 같은 결과가 있기 때문에 프레드 (FRED CHUNG) : PendingIntents를 사용하면 PendingIntent를 변경할 수 있습니다 서비스 대상에서 BroadcastReceiver 대상 이제 작업이 30 초 이내에 실행되면, goAsync를 호출하고 작업을 바로 실행할 수 있습니다

BroadcastReceiver에서, 그건 그렇고, 뭔가를 끝내는 초경량 방법입니다 네트워크 또는 wakelocks가 보장되지는 않습니다 그래서 아직도해야 할 일이 많이 있습니다 DAN GALPIN : BroadcastReceiver에서 일정 잡기 WorkManager를 사용하여 프레드 (FRED CHUNG) : 그렇다면 외부에 즉각적인 사용자가 필요한 시간에 민감한 이벤트를 유발했습니다

관심, Firebase Cloud 사용 고려 앱에 알림 메시지 FCM은 높음 및 보통 우선 순위 메시징을 지원합니다 우선 순위가 높은 메시지의 경우 장치가 졸음에서 깨어 나면 많은 것을 의미합니다 시스템 건강에 좋지는 않을 것입니다 작업이 10 초 이내에 실행될 수 있다면, 바로 실행할 수 있습니다

또는 다음을 사용하여 작업을 예약하십시오 DAN GALPIN : WorkManager 실제로 전경 서비스 요구되거나 요구된다 이상적으로는 사용자가 시작한 작업입니다 오랜 시간 동안 뛰고 싶다

사용자에게 일종의 지속적인 업데이트를 제공합니다 예는지도, 탐색 피트니스 추적, 주악 ERIC KUXHAUSEN : Play 스토어에서 우리는 앱을 복원 할 때 전경 서비스 사용 장치를 설치 한 후 응답 시간이 길기 때문에 OK입니다 사용자 상호 작용 DAN GALPIN :하지만 음악을 듣는 것만 큼 재미있는 것은 아닙니다 FRED CHUNG : 좋은 소식은이 다른 것들이 이미 귀하의 애플 리케이션에 영향을 미칩니다

그러나 아마도 당신은 아직 눈치 채지 못했을 것입니다 그 따라서 Android N에서 새로운 사진 방송 더 이상 발생하지 않지만 TriggerContentUris로 대체 할 수 있습니다 일자리를 구하는 것은 일을 의미합니다 새로운 WorkManager API를 사용하면 다음과 같습니다

DAN GALPIN : 이제 앱이 백그라운드에서 실행중인 경우 Android O + 기기에서 위치 시스템 서비스 앱의 새 위치를 자주 계산하지 않으며, 앱이 더 자주 업데이트를 요청하더라도 백그라운드 앱에 대해서만 전체 Wi-Fi 스캔도 수행됩니다 매시간 몇 번 따라서 더 자주 전화를받는 경우 Wi-Fi 관리자 [INAUDIBLE] 실제로는 캐시 결과 만 제공하면됩니다 이제 사용자 도달 시간을 알아야하는 경우 특정 위치, 지오 펜싱 사용 자, 활성화 될 수있는 지오 펜스는 단지 100 개뿐입니다

그래서 당신이 그것보다 더 많은 사이트를 필요로한다면, 실제로 지역 지오 펜스를 사용할 수 있습니다 필요에 따라 다양한 지오 펜스 세트를 교환 할 수 있습니다 이제, 그것은 말하고 있습니다 – 비컨은 굉장합니다 주변 알림을 사용할 수 있습니다 API

특히 중요합니다 네가 특정 다작의 커피 공급업자라면 ERIC KUXHAUSEN : 배치 버전을 사용할 수도 있습니다 FusedLocationProvider의 최대 위치 업데이트 지정 귀하의 유스 케이스에 수용 가능한 대기 시간

그리고 시스템은 배치 업데이트를 시도 할 것이고, 앱의 빈도가 줄어 들었습니다 이렇게하면 배터리 사용이 최적화됩니다 수동 위치를 사용할 수도 있습니다 이를 통해 앱을 기회주의 적으로 피기 백 가능하게합니다 다른 앱의 위치 업데이트에서 가장 빠른 속도로 업데이트 지정된 간격

하지만 앱의 위치 업데이트가 네트워크와 같은 값 비싼 작업에 묶여 있어야합니다 전화를 걸면, 당신도 그들을 억제해야합니다 FRED CHUNG : 따라서 일괄 배치와 수동적 위치를 통해, 우리는 힘으로 위치 업데이트로 작업 할 수 있습니다 효율적인 방식 다음으로 몇 가지 관련 개선 사항을 살펴 보겠습니다

플랫폼에서 그래서 안드로이드의 과거 여러 버전에서, 우리는 일련의 배터리 최적화 기능을 도입했습니다 백그라운드 작업을 연기하고 제한하는 것을 기반으로합니다 따라서 이미 이들 중 일부에 익숙 할 것입니다 예를 들어, 장치가 도즈 (doze) 장치가 연결되지 않은 경우 및 장치가 연결되지 않은 경우 꽤 오랫동안 사용되었습니다

졸작에서 앱은 보류중인 모든 것을 끝내야합니다 정기적 인 유지 관리 기간의 일부 작업 DAN GALPIN : N +에서 이동 중에 doze가 연장됩니다 장치가 사용자의 주머니에 앉아있을 때와 같은 경우 자, app standby는 M에서 소개되었습니다

세금 제한을 부과하는 곳 앱 사용시 ERIC KUXHAUSEN : 브랜드에 대한 새로운 정보를 알려 드리겠습니다 Android P에서 사용 기반 제한 보다 세분화 된 방식으로 적용됩니다 이전 I / O에서 이미이 사실을 알았을 수도 있습니다 "앱이 사용자의 배터리를 소모시키지 않도록하십시오

" 앱이 앱의 대기 버킷 중 하나에 추가됩니다 사용량에 따라 시스템이 점차적으로 더 많은 제한을 앱에 적용합니다 활성에서 희귀 한 양동이로 이동함에 따라 또한 배터리 절약 기능이 향상되었습니다 사용자가 확장 할 수 있습니다 다른 모든 것보다 배터리 우선 순위를 지정하여 배터리 수명을 늘립니다

이로 인해 기능이 다소 저하되며, 사용할 수없는 위치 요청과 같은 화면이 꺼져있을 때 그러나이 모드는 정말 유용합니다 당신의 장치가 조금 더 오래 지속될 필요가있을 때 FRED CHUNG : 방금 이야기 한 기능 앱의 알람에 부가적인 영향을 주며, 작업, 동기화, 네트워크 액세스 및 FCM 메시지를 표시합니다 그래서 우리는 모든 사람들에게 이러한 시나리오를 철저히 테스트 귀하의 응용 프로그램 내에서

DAN GALPIN : 좋은 소식은이를위한 도구가 있다는 것입니다 예를 들어,이 ADB 명령 장치를 유휴 상태로 만들면서 모든 응용 프로그램을 잠잠하게 만듭니다 ERIC KUXHAUSEN : 애플리케이션 대기를 테스트하려면, 먼저 장치의 연결을 시뮬레이트합니다 그런 다음 get 및 set inactive 명령을 사용할 수 있습니다 앱 대기 상태에서 기기를 가져오고 나가기

FRED CHUNG : 앱 대기 버킷의 경우, 당신은 주어진 꾸러미에 대한 버켓을 가져 와서 설정할 수 있습니다 비슷한 광고 명령 하지만 플러그를 뽑는 것을 기억하십시오 테스트하기 전에 장치 또한이를 수행 할 수있는 프레임 워크 API가 있습니다

마지막으로 배터리 세이버를 테스트하는 명령입니다 한 가지 유의점은 앱의 UI에 어두운 테마가있는 경우, 어두운 테마 사용을 고려해 볼 수 있습니다 배터리 세이버가 전원을 절약하기 위해 추가로 켜지면 OLED 장치 PowerManager를 통해 API로 확인할 수 있습니다 그리고 방송을 듣고 그렇게해라

DAN GALPIN : 그래서, 많은 방법들이 있습니다 백그라운드에서 멋진 앱을 만들기 위해 전경 서비스를 사용하지 않고 WorkManager의 새로운 기능을 활용하십시오 효율적인 위치 전략 사용, 새로운 API 사용, 우리에게 무엇이 아닌지 알려주십시오 피드백을 제출하여 귀하의 요구를 충족 시키십시오

이슈 트래커를 통해 프레드 (FRED CHUNG) : 그래서, 아마 목표를 업데이트하는 중이다 SDKs, 모두 좋다 당신이 그것에있는 동안, 우리는 Android에서 선택한 최신 기능을 확인해보십시오 사용 사례와 관련이 있습니다 예를 들어 알림 채널을 추가해야합니다

귀하의 앱에 O 그렇지 않으면, 음, 알림 그냥하지 않습니다 쇼, 좋지 않을 것입니다 채널을 신중하게 계획하여 사용자가 선택적으로 할 수 있도록하십시오 원치 않는 알림을 끄십시오 DAL GALPIN : 한장 뒤로 젖히십시오

ERIC KUXHAUSEN : Play 스토어가 구현 된 기기에서 알림 채널 지원, 우리는 더 적은 비율의 사용자를 사용할 수 없게됩니다 우리의 모든 통지 DAN GALPIN : 앱에서 반투명 상태 표시 줄을 사용하는 경우, 삽입 된 API를 사용하여 코드에서 상태 표시 줄이 고정되어 있다고 가정하지 않습니다 크기 이제 탐색 서랍을 사용하는 경우, 이것은 실제로 실제로 일반적입니다

이제 P를 타겟팅하면 그 컷 아웃 영역에서 흥미로운 것을하십시오 이제 공익 광고 발표, 당신은 당신의 시스템을 넣을 필요가 없습니다 당신의 유일한 장치에 이미지 한동안 에뮬레이터를 사용하지 않았다면, 그것은 꽤 굉장합니다 최근에는 초고속 로딩에 대한 지원을 추가했습니다

P 개발자가있는 모든 장치에서 AR 지원과 함께 시스템 이미지 미리보기, DisplayCutout 시뮬레이션 가능 개발자 옵션을 통해 이것으로 공익 광고가 종료됩니다 FRED CHUNG : 좋아 그래서, 종횡비 화면 따라서 OEM이 출하하는 추세가되었습니다 16보다 긴 화면이있는 이러한 기기 화면 비율 9

앱이 몰입도 높은 경험을 제공하는지 확인하세요 이러한 화면 기능을 최대한 활용할 수 있습니다 그것은 꽤 굉장하다 따라서 최후의 수단으로 시스템은 여전히 ​​사용자를 제공합니다 지원되는 최대 종횡비를 선언하는 방법

하지만 응용 프로그램 주위에 레터 박스가 표시됩니다 ERIC KUXHAUSEN : 진지하게, 정말로 편지함을 원하십니까? DAN GALPIN : 더 큰 화면에서 책임감이 커집니다 자, 그림 활용을 고려해보십시오 화상 채팅, 영화 재생, 체력 추적 또는 Pokemon Go로 이동합니다 다중 디스플레이 지원은 또한 사용자가 애플리케이션에 대한 활동을 시작하는 방법 두 번째 디스플레이에

그리고 여기서 정말로 고려해야 할 유일한 것 그것이 두 번째 구성을 가지고 있는가? 가장 가능성이 큰 1 년 앱과 다를 것입니다 따라서 애플리케이션 전반에 걸친 가정을하지 않도록주의하십시오 근면 한 구성에 대해 결론적으로 Android 개발 최신 도구 및 API를 사용하여 더 나은 배터리 수명, 더 매끄러운 멀티 태스킹, 최신 하드웨어 및 플랫폼 기능 지원, Jetpack을 활용하여 구축 현대적이고 검증 가능한 아키텍처 고맙습니다

괜찮아 사실, 안돼, 안돼, 안돼 실제로 한 가지 더 있습니다 Android가 실제로 사용을 제한하고 있습니다 개발자 미리보기 1의 일부 비 SDK 인터페이스 그리고 당신은 이것을 보았습니다

우리가 실제로 토스트와 로그 엔트리로 너에게 경고했다 이 방법이 사용 된 경우 그러나 DP2에 대해 테스트한다면, 이 방법 중 일부는 작동을 멈추고, 앱이 다운 될 수 있습니다 따라서 문제가 있으면 테스트하고 파일을 보내주십시오 앱이 할 수있는 어떤 방법도 있다고 생각하지 마라

이러한 방법 이외의 작업 그리고, 당신을 미래에 돕기 위해, 우리는 실제로 StrictMode에 대한 새로운 VM 정책을 추가했습니다 SDK API가 아닌 모든 API를 켜고 감지하는 데 사용할 수있는 사용법은 정말로 중요합니다 이 비 SDK 사용은 실제로 당신의 도서관에서 일어나고 있습니다 그래서 실제로 확인하는 것은 정말 좋은 방법입니다

귀하의 앱은 앞으로도 호환 될 것입니다 우리는 비 SDK의 호환성을 보장하지 않기 때문에 API 그래서 이제 그게 사실입니다 지난 30 일에 관심을 기울이지 않았다면 분, 내 농담이 분명히 필요하기 때문에 괜찮습니다 ERIC KUXHAUSEN : 엔지니어라면 희망이 있습니다

오늘 공유 한 정보 중 귀하의 리뷰가있었습니다 그리고 유용한 정보를 찾길 바랍니다 프레드 (FRED CHUNG) : 그렇다면 PM입니다 26을 목표로 삼아, 계획을 세우는 것은 너무 늦지 않았습니다 팀과 협력하여 필요한 작업량을 파악합니다

그리고 실제로, 우리는 가이드를 준비했습니다 Android 개발자 사이트에서 사람들이 이해하고, 현재 릴리스, 필요한 작업량, 우리는 집합 적으로 생태계를 발전시킬 수 있습니다 고맙습니다 [음악 재생]

Building Your First Android & iOS App in Visual Studio 2017

>> 안녕하세요, 저는 James Montemagno입니다 프로그램 관리자 여기에 Microsoft의 모바일 개발자 도구가 포함되어 있습니다

오늘, 우리는 그것이 얼마나 쉬운지를 볼 것입니다 처음으로 iOS를 빌드하고 Visual Studio 2017에 직접 안드로이드 응용 프로그램 먼저 Visual Studio로 가서 시작하십시오 여기, 우리는 Visual Studio 2017 안에 있습니다 우리의 첫 번째 프로젝트를 만들어 보겠습니다

이제 우리의 새로운 프로젝트 대화에서, 우리는 안드로이드, 아이폰, 및 iPad, 심지어는 Apple TV 및 Watch 응용 프로그램, 크로스 플랫폼부터 시작하겠습니다 여기에서 나는 XamarinForms에 기반한 모바일 앱 이것은 C Sharp와 공유 할 것입니다 모든 비즈니스 로직에 대한 백엔드 및 Xaml에서 제공하는 공유 원시 사용자 인터페이스 "Okay"를 선택하겠습니다

여기에는 다음과 같은 몇 가지 옵션이 있습니다 우리가 목표로 삼고 싶은 빈 앱과 플랫폼 그러면 우리는 NET 표준을 선택할 것입니다 도서관으로서의 방법 각 플랫폼에서 코드 공유, 간단히 "Okay"를 누르십시오

비주얼 스튜디오 2017은 행동으로 도약하며, 나를 위해 세 가지 프로젝트를 만듭니다NET 표준 라이브러리, 내 안드로이드 프로젝트, 내 iOS 프로젝트 확대하고 좀 더 자세히 살펴 보겠습니다 내가 아직도 전체 NET 표준 라이브러리가 있어야하며, App26, 내 모든 의존성과 내 공유 Xamarin 사용자 인터페이스

나는 또한 내 안드로이드 프로젝트가있다 쓸 수있는 iOS 프로젝트 플랫폼 특정 코드 C에서 각 플랫폼에 대한 API의 100 %가 예리함, 하지만 우리는 공유 코드 및 NET 표준 라이브러리 음, 먼저 Appxaml을 가지고 있다는 점에 유의하십시오

그래서 내가 공유 리소스를 추가 할 수 있습니다 내가 사용하고있는 색상과 같은 그러나 작은 화살표 드롭 다운을 클릭하면 볼 수 있습니다 Appxaml CS의 일부 코드, 해당 Xaml 페이지와 관련된 C Sharp 파일 여기에 응용 프로그램이 시작될 때, 새로운 메인 페이지를 만듭니다 또한 시작, 종료, 종료 등의 몇 가지 라이프 사이클 이벤트가 있습니다

수면과 이력서 그러나 그 메인 페이지에 초점을 맞추자 여기에 내 응용 프로그램의 대량입니다 내가 할 수있는 스택 레이아웃이있다 서로 다른 컨트롤을 겹쳐 쌓고, 그 안에는 다음과 같은 라벨이 있습니다

"Xamarin Forms에 오신 것을 환영합니다" 이제 Android 에뮬레이터를 선택하고 단순히 응용 프로그램을 시작하려고합니다 내 응용 프로그램을 완전히 컴파일합니다 내 컴퓨터를 내 안드로이드 에뮬레이터에 배치하십시오 그래서 몇 초만 기다려 봅시다

자 간다 우리의 응용 프로그램은 우리의 안드로이드 에뮬레이터의 내부에서 시작, 그리고 그것이 끝날 때 우리가보아야 할 것 로딩은 XamarinForms에 오신 것을 환영합니다 자, 좀 더 창의적인 것을 해보 죠 계속해서 버튼을 추가하십시오

여기 그리고 우리가 클릭 할 때마다, 그것은 카운트를 증가시킬 것이다 이를 사용자에게 표시합니다 이제 Visual Studio 2017로 다시 넘어 갑시다 이제 버튼을 추가하기 만하면됩니다 여기, 나는 풍부한 IntelliSense를 얻을 것이다

사용할 수있는 모든 속성을 보여 주며, 그래서 여기에 텍스트가 있고 나는 "나를 클릭하십시오"라고 말할 것입니다 그런 다음 클릭 이벤트를 추가하겠습니다 우리는 새로운 사건 망치를 말할 것입니다 이렇게하면 자동으로 코드가 생성되고 우리가 구현할 수있는 코드

버튼 요소를 간단히 끝내기 만하면됩니다 그럼, 그 메인 페이지로 가자 Xaml CS 및 코드 배후, 여기에 방금 만든 버튼이 있습니다 로컬 변수를 만들겠습니다 Count라는 값을 0으로 설정하면, 버튼을 클릭 할 때마다, 우리는 백작 플러스라고 말할 것입니다

그러면 우리가하는 일은 간단히 말해서, "발신자가 버튼이라는 것을 알았습니다 우리는 텍스트를 업데이트하려고합니다 "그곳에 있습니다 우리는 C 샤프 (C Sharp) "클릭, 카운트, 시간" 우리는 거기에 갈

이제 우리가해야 할 일은 간단합니다 우리 응용 프로그램을 재배포하십시오 우리의 응용 프로그램과 모든 응용 프로그램을 다시 컴파일합니다 우리의 변화를 우리의 안드로이드 에뮬레이터에 재배포 여기에,에 오신 것을 환영합니다

XamarinForms와 "Click me"버튼이 있습니다 자, 클릭하고 클릭하십시오 우리는 거기에 갈 매번이 횟수를 계속 늘립니다

이제 iOS 프로젝트를 시작으로 설정할 수 있습니다 Mac OS 머신을 가지고 있다면, 계속해서 연결하여 다음과 같이 사용할 수 있습니다 컴파일을 빌드하는 원격 맥 컴퓨터 원격 iOS 시뮬레이터 사용 Windows 컴퓨터에서 바로 실행하십시오 동일한 정확한 Android 애플리케이션 iOS에 사용자 인터페이스가 필요한 iOS 더 배우고 시작하려면, docs

microsoftcom으로 이동하여 Xamarin, 그 다음에는 시작하기에 충분할 것입니다 가이드 샘플과 모든 것 당신이 시작해야합니다 됐어 처음으로 iOS를 구축했으며 Visual Studio 201 안의 안드로이드 애플리케이션

전혀 궁금한 점이 있으시면 연락을 주시고, 보고 주셔서 감사합니다

The movi app || JSON Parsing in Android using Retrofit2 || android retrofit get json example

권장 라이브러리 추가 패키지 생성 (API, 어댑터, 모델) 모델 폴더 아래에 "무비 클래스"를 만듭니다 모든 변수 만들기 모델 폴더 아래에 "ResponseMovie Class"를 만듭니다

Principles of mobile app design: Delight users and drive conversions – Google I/O 2016

JENNIFER GOVE : 안녕하세요 어떻게 모든이다? 관객 : 좋습니다

제니퍼 GOVE : 좋아 그런 멋진 군중 오늘 내 이야기에 모두와 주셔서 감사합니다 제 이름은 Jenny Gove이고 저는 User Experience Researcher입니다 여기 Google에서

나는 지금 Google에 10 년 동안 이달에 있었는데, 그게 우연이라고 들었는데 [클리핑] 고맙습니다 나는 그것이 우리가 몇 년의 시간과 일치한다고 들었다 I / O 컨퍼런스 개최 그래서 두 주년, 정말 재미 있습니다 그래서 오늘 오후에 우리는 이야기 할 것입니다

훌륭한 앱 개발 및 원칙 수립에 대해 귀하와 공유하고 싶은 모바일 앱 디자인, 그래서 당신은 당신의 사용자에게 훌륭한 경험을 할 수 있습니다 그리고 왜 이것이 중요한가? 글쎄, 중요한 이유는 죄송합니다 각 앱에는 150 만 개가 넘는 앱이 있습니다 우리가 알고있는 상점 거기에는 많은 경쟁이 있습니다

앱이 유용성 결함으로 고통 받기를 원하지는 않습니다 나는 유용성 결함과 사용자 경험 문제를 생각한다 일부 앱의 참여가 부족할 수 있습니다 예를 들어 25 %의 앱과 같은 것을 배웠습니다 때로는 두 번 이상 사용되지 않고 34 %의 앱 11 번 이상 열리지 않습니다

따라서 주변에 이러한 통계가 있습니다 앱 참여 및 재 참여와 관련하여 우리는 그 문제 자체에 대해 많은 연구를하고 있습니다 구글에서 우리가 가지고있는 특정 제품들 그러나 나는 그것이 정말로 우리에게 일하고 있다고 생각한다 우리의 사용자 경험과 우리의 애플 리케이션에서 사용성 문제

그래서 저는 여러분에게 세 가지에 대해 이야기 할 것입니다 남은 얘기들 나는 너에게 경험에 관한 이야기를 할 것이다 최근에 앱을 가지고 있었다 나는 너에게 한 연구에 대해 말할거야

정말 멋진 앱을 만드는 방법을 이해하기 위해 도망 쳤습니다 경험 그리고 저는 몇 가지 원칙을 다룰 것입니다 우리가 온라인으로 발행 한 내용으로 이해할 수 있습니다 앱을 만들기 위해 할 수있는 핵심 사항 더 나은 경험

그리고 그 원칙들 내에서, 나는 너를 위해 많은 자원이있어 뿐만 아니라 그 길을 따라 도울 수 있습니다 그래서 내 이야기 가족과 휴가를 보내고있는 동안 여기에 우리는 플로리다에서 멋진 시간을 보내고 있습니다 저와 저의 파트너이자 아이들입니다

그리고 우리가 휴가를 가기 전에 우리가 머물기 위해 일련의 호텔을 세웠다 그것은 스스로 운전하는 여행이었고 나는 이것들을 미리 예약했다 – 나는 그것을했다 내 노트북에 플로리다에 도착했을 때 많은 호텔이 발견되었습니다 새로운 기술 – 앱을 최대한 활용하기 시작했습니다

구체적으로 – 나에게주기 위해서 나의 여행 중에 정말로 매끄러운 약간의 경험 그들은 내가 체크인 할 수 있도록하는 일을 지금하고 있습니다 내가 도착하기 전에 – 비행기를 타듯이 – 그리고 내가 열 수 있도록 내 방으로 곧장 갈 수있게 해줘 문, 응용 프로그램과 함께

꽤 멋지다 나는이 새로운 것들로 꽤 날아 갔다 그들이 할 수 있었던 일 하지만 내가 휴가를 갔을 때 무슨 일이 있었는지, 체크인 통보가 왔어 내가 뭔가에 일렬로 서있는 동안 이렇게, 테마 파크의 롤러 코스터

그것은 나에게 물었다, 내가 체크인하고 싶어 했느냐? 그리고 나도 나에게 물었다, 나는 자기 자신의 방을 선택하고 싶어했다 또는 나는 그들이 나를 위해 선택할 수있게 했습니까? 음, 내가 예약했을 때 나는 기억한다 텍스트 필드가 있었는데, 나에게 물어 봤어 내가 요청을 받았 더라면 나는 바다가 보였습니다 왜냐하면 저는 다음 호텔에이 아름답고 깨끗한 해변이 있음을 알았습니다

나는 발코니가있는 방을 주문했다 저는이 멋진 경험을 정말로 원했고, 바다를 내려다 보면서 하지만 노트북에서의 경험이 이 앱의 경험으로 바꿀 것입니다 나는 지금 직면했다 나는 그것에 대해 약간 염려했다

그리고 나는 더 나은 기회를 가질 수있을 것이라고 생각했다 내 방을 선택하는 것보다는 그들은 나를 위해 선택합니다 항상 당신 손에 맡기는 것이 더 낫지 요? 그래서 나는 내 방을 선택하기로 결정했다 그들이 나에게 준 것은 휴대 기기에서 꽤 좋았습니다 실제로 효과가있었습니다

나는 그것이보기에 상당히 도전적 일 것 인 것처럼 보인다라는 것을 알고있다 부동산의, 그러나 그것은 아주 잘 작동했다 그들은 분명히 다른 방을 배치했다 그들은 방의 출입 여부를 명확하게 표시했다 하지만 단 한 가지 문제가있었습니다

그리고 그것은 호텔이 어떤 방향으로 향하고 있는지 전혀 몰랐습니다 바다 앞 그래서, 나는 줄을 서 있었고, 알아 내려고 노력했다 어떻게 해결할 수 있을까? 이제 실제로는하지 않은 몇 가지 해결 방법이 있습니다 그 때를 생각해보십시오

Google지도, 어쩌면 Google 이미지를 파악하거나 볼 수도 있습니다 이 경우 호텔은 다소 대칭입니다 그래서, 그것은 매우 까다로울 것입니다 나는 일종의 엄지 손가락 규칙을 사용하기로 결정했다 그리고 내가 생각하기에, 가장 많이 찍은 방을 가진 쪽 아마 바다를 마주하고 있었던 쪽이었다

그래서, 여기 730 방을 선택하기로 결정했습니다 그래서 우리는 호텔에 도착해서 모든 가방을 가져 갔고 너 무슨 일이 일어날 지 알지? 나는 이것 같이 조금 보인 전망을 얻었다 [웃음] 큰 실망 그럼 내가 뭘해야 해? 그런데 나는 다시 모든 길을 가야했다, 다시, 리셉션에 – 나는 내가 생각했다 우회로, 응용 프로그램을 사용하여 – 접수와 이야기

그들은 매우 도움이되었고, lovely 한 호텔이었고, 그것을 고쳤다 나를 위해, 그리고 결국, 우리는 위로 올라 갔다, 다른 마루, 호텔에 들어갔다 나는 전망을 얻었다 그것은 훨씬 더 같았습니다 아름답군, 응? 이것은 실제로 플로리다입니다

바하마처럼 보입니다 정말로, 정말로 멋졌다 그래서 인 – 게스트 서비스는 인간의 개입이 요구되었다 앱이 실제로 제공되지 않았기 때문에 내가 바라는 서비스 너무 잘 했어, 나는 정말로 내가 사용할 수있는이 새로운 기술로 찍은, 그러나 그것이 배달되지 않았기 때문에 그것은 짧아졌다

이 중요한 정보는 나를위한 것입니다 나는지도상의 정보가 필요했다 이 경우에는 바다의 전망이 필요했습니다 약간의 파도 방금 오리엔테이션이 필요했습니다

그래서 나를 위해, 그것은 매우 비판적이었다 이 아름다운 해변에 대한 내 견해, 이 주차장보다 그리고 그것은 훨씬 더 비판적이었을 수도 있습니다 내 휴가에 아주 친애하는 것보다 그것은 클라이언트를위한 이벤트 매니저 예약 일 수 있었지만, 아마 그것은 손님들을 위해 예약 된 사람들이었을 것입니다

결혼식이나 무언가를 위해서 한 가지 교훈은 분명합니다 우리는 개발자와 디자이너로서 전체 흐름을 이해할 필요가있다 우리 사용자가 겪고있는 그리고 그 부분은 부서집니다 이것은 정말로 시원하고 신기술이었습니다

그러나 나는 모든 것을 통해 백 트랙을 정렬해야했다 그 앱이 살 일걸요 날 구해줘 그래서 그 경험을 정말로 이해합니다 처음부터 끝까지

그리고 저는 모바일에서 생각한 것은 그 작은 것들입니다 우리는 우리가해야 할 것을 깨닫지 못한다 그래서 우리가 정말로 이해해야하는 이유입니다 사용자의 관점과 사용자의 경험 그래서, 제 이야기는 그런 것들에 관한 것입니다

그리고 우리가 그들을 어떻게 고칠 수 있는지 내가 너에게 약간의 역사를 알려줄 께 2 년 전, 우리는 많은 경험 특히 모바일 웹의 경우 문제가 많았습니다 사람들을 위해 그래서 우리는 대규모 연구를 수행했습니다

어떤 일이 일어나지 않았는지 이해하려고했습니다 모바일 웹 용으로 올바르게 구현, 우리가 더 잘할 수있는 곳, 우리는 모바일 웹을위한 25 가지 원칙을 발표했다 그것들은 정말로 잘 해냈습니다 사람들은 그것을 일종의 초기 단계로 사용했습니다 더 나은 사용자를 제공하기위한 좋은 방법 모바일 웹에서의 경험

하지만 그뿐 아니라 우리는 사람들이 우리에게 돌아와서 말했습니다 이것은 모바일 웹에 적합하지만 내 앱입니다 내 앱은 어떨까요? 내 앱에 대해 말해 줄 수 있습니까? 그래서 나는 다른 연구를하라는 부름을 많이 받았다 그리고 애플 리케이션에 대한 연구, 그래서 우리가 한 일 이죠 최근에는 연구에서 기본 앱을 살펴 보았습니다

오늘 내가 너에게 선물 할 원리들 그 일의 결과입니다 이 연구에서 우리는 특허를 이해할 수있었습니다 운 좋게 사용자 경험을하게하고, 운 좋게 행복하게 우리는 일부 회사가 더 나은 방법으로 구현 된 것들, 그 특허가 왜 더 잘 작동하는지 이해하십시오 그것들을 당신에게 가져 오십시오

그리고 이것을 잘 이해하는 것이 우리에게 중요합니다 그래서 우리는 원칙에 확신을 가질 수 있습니다 우리가 말하고있는 것, 그리고 너 자신의 제품에이를 구현하는 데 자신감을 가질 수 있습니다 그래서이 연구를하기 위해 우리는 회사와 파트너 관계를 맺었습니다 AnswerLab이라고합니다

그들은 사용자 경험 컨설팅 기반 샌프란시스코 그리고 우리는 그들과 협력하기 때문에 우리가 연구를 원했기 때문에 규모를 조정할 수있었습니다 꽤 큰 규모입니다 모바일에서 100 가지 앱에 대한 상호 작용을 연구했습니다 그래서 이들은 대형 소매점, 소규모 서비스 제공 업체를 통해 우리는 뉴스 앱을 보았고, 우리는 많은 다른 종류를 보았다

식료품 점과 같은 서비스, 여행 서비스, 소매업, 중소기업 우리는이 일환으로 게임을 보지 않았습니다 그것은 의도적으로 이루어졌습니다 왜냐하면 우리는 그것이 약화 될 것이라고 느꼈기 때문에, 또는 희석, 원리 우리는 게임이 아마도 완전히 다른 세트를 가지고 있다고 생각합니다 그걸 제외하고, 우리는 다양한 수직 계열을 조사했습니다

그리고 우리는 샌프란시스코, 시카고, 뉴욕시 이제이 연구에 참여한 103 명의 참가자가있었습니다 그래서 사용성 연구를 위해, 그것은 정말로 크다 그들은 개별적으로 실험실에 들어 왔고, 각각 90 분 동안 따라서 155 시간의 사용성 연구가 가능합니다

그래서, 만약 당신이 밤새도록 그리고 하루 종일 밤새 위로 머물렀다면, 그것은 거의 일주일이 될 것이고, 휴식을 취하지 않을 것이며, 실제로는, 그것은 일주일에 거의 4 주 정도가되었습니다 그래서, 실제로 큰 연구가 있습니다 그래서 우리는이 다른 수직을 커버 할 수있었습니다 그리고이 연구에서 우리는 무엇을 했습니까? 음, 사람들이 연구에 들어갔다 90 분 동안 그들은 정말 6 개의 앱을 사용할 수 있습니다

그것들 각각에 대해 좋은 일을하고 있습니다 그들은 그들과 함께 자신의 휴대폰을 가져 왔고, 그 이유는 우리가 그들을 원했기 때문입니다 전화에 정말 익숙합니다 그리고 우리는 어떤 문제도 원하지 않았습니다 다른 기기이거나 그렇지 않았습니다

뒤로 버튼 또는 그와 비슷한 것에 익숙합니다 그래서 Android는 약 50 %, iOS는 약 50 %를 차지했습니다 그리고 연구에 참여했을 때 우리는 무엇을 했습니까? 그래서, 우리는 다른 작업을하고 다른 시나리오를 설정했습니다 그들을 위해 우리는 그 일을 무언가로 만들기 위해 최선을 다했습니다

그들에게도, 그들이 할 수 없도록, 우리가 부르는 것을, 만족스러운 일을하는 것입니다 가능한 한 빨리 작업을 수행 할 수 있습니다 그들이 할 수있는 한 우리는 그들이 그 일에 관심을 갖길 원했습니다 그래서 우리는 그들이 관심을 갖는 것에 관해 종종 그들과 이야기했습니다

이 예에서 우리는 그들과 대화 할 수 있습니다 좋아하는 음식에 대해 이해하고 이해합니다 먼저 그들로부터 무엇인가, 그 전에 그들이 그것을 주문할 수 있는지를 물어보기 그날 저녁 저녁 그리고 우리는 그들이 큰소리로 말하게했습니다, 사용성 용어로 불리는 것이 무엇인지, 생각대로하는 프로토콜을 사용했고, 우리는 그렇게했습니다 그래서 우리는 그들이 고통의 포인트를 이해할 수 있었다

그들이 다른 업무를 수행 할 때 맞았다 그들이하고있는 일을 어디에서 물건이 원활하게 흘러 갔는지 이해하십시오 그렇게 해본 결과 우리는 데이터를 취했습니다 – 많은 데이터가있었습니다, 당신이 상상할 수 있듯이, 그 많은 유용성 자료 – 우리는 그것을 25 가지 원칙으로 정리했습니다 그래서 이것은 당신이 취할 수 있고 이해할 수있는 것입니다 자신의 앱에 적용 할 수 있습니다

우리는이 원칙들을 6 개의 챕터로 분류했습니다 하지만 내가 그들에게 들어가기 전에, 나는 우리가 실제로이 25 가지를 어떻게 얻었는지 설명합니다 그래서 그것을 25 가지 원칙으로 만들기 위해, 우리는 이것이 넓은 범위의 문제라는 것을 알아야했습니다 우리는 그것을 알아야만했다 상당히 일반적인 문제였습니다

우리는 25 가지 이상의 것들을 만났습니다 앱에서 문제가 있었지만 우리가 가장 큰 문제를 치고 있는지 확인하기 위해, 우리가 더 나은 방법을 구현 될 수있다 승인 그래서, 우리가 가지고있는 다른 장 앱 탐색 및 탐색, 앱 검색, 상거래 및 전환, 등록, 양식 입력 및 유용성 및 이해력 이제 우리는 25 가지 다른 원칙을 가지고 있습니다

하지만 여기서,이 이야기에서, 나는 단지 두 가지 원칙으로 갈 것입니다 각 챕터와 나머지 원칙들 온라인으로 사용할 수 있습니다 나는 또한 당신을위한 자원을 모아 봤다 일부 구현에 도움이되는 당신이 여기서 보는 것들 스크린을 찍을 좋은 시간이 될 것입니다

그것은 당신이 당신 자신의 시간에 들여다 볼 수있는 자원이기 때문에, 더 자세하게 이제 앱 탐색과 탐색부터 시작하겠습니다 따라서이 장은 실제로 사용자에게 내용을 안내하는 것에 관한 내용입니다 그들이 찾고있는, 빨리 그래서 우리는 일련의 핵심 원칙들을 모았습니다

효과적이고 유쾌한 앱 탐색을 만드는 데 도움이됩니다 이제 이들 중 두 가지를 살펴 보겠습니다 따라서 사용자에게 큰 도움이 될 수있는 기능 위치를 자동으로 감지하지만하지 않습니다 위치 기반 작업이 필연적으로 예외없이 현재 위치를 기반으로합니다 우리는 이것을 너무 자주 본 것 같아요

그래서 정말 대단한 일입니다 구현하고 도움을 줄 수있다 사용자가 무언가를 원할 때 끊김없는 경험 위치는 있지만 기본적으로 사람들을 활성화시키는 방법없이 과도하게 적용된 것을 보았습니다 해당 위치를 변경하십시오 그래서이 예에서 누군가 오늘 밤 호텔을 찾고 있습니다

그들이있는 곳 근처의 호텔을 찾고 있습니다 불행히도, 위치를 바꿀 수는 있지만, 그것을하는 유일한 방법은 아마도 설정을 통과하는 것입니다 우리는이 문제를 여행 앱뿐만 아니라, 소매 앱에서도 사용했습니다 우리는 무언가를 찾고 싶어하는 사람들의 유스 케이스를 보았습니다 상점에 있었지만 그 위치는 아마도 부모가 살고있는 곳 근처에서 그 가게 근처에 있었는지 알아 내고 싶었다

부모님 께 그 사실을 알릴 수 있도록 그래서 단지 이것을 제공하는 것입니다, 기본적으로 우리는 우리는 너무 많은 사용 사례를보고 있습니다 시나리오 밖이었습니다 여행에서 우리는 사람들이 나타날 곳을 보았습니다 그들의 교통 수단과 그들이 원했던 호텔 기차역의 다른 쪽 끝에 책을 썼다 라인, 그리고 그들은 지금 호텔을 예약 할 시간이 있었는데, 하지만 그들은 그들이있는 곳에 있지 않습니다

당시 호텔이 필요했습니다 훨씬 더 나은 시나리오는 여전히 사람들이 현재 위치를 사용할 수있게하고, 그러나 그들을 잘 변화시킬 수있는 자원을 제공해야합니다 근본적으로 위대하고 위대한 기술입니다 분명히 당신이 사용하도록 권장하지만, 그것은 과도하게 적용된 종류입니다, 화면의 일부를 사용하지 않고 부동산 사용자가 위치를 변경할 수 있도록합니다 그 자동 감지 위치를 사용하고 싶다면, Google Places API를 사용하면 현재 지원되는 위치를 알아 내려면 우리는 당신을위한 짧은 링크가 있어요

저 재료에 도착하기 위해서 앱 탐색 및 탐색의 또 다른 측면 우리가 애플 리케이션으로 공정한 비트를 본 것은 앱에서 모바일 웹으로 이동합니다 그리고 내가 작성한 방식으로 볼 수 있습니다 이것을하는 것에 문제가 있다는 원칙 그것은 app-to-web 전환이 필요한 곳에, 그래서 그들이 필요한 곳에 마찰이 가해지지 않도록하십시오

그래서 저는 여기 아이디어가 각각의 경우에 정말로 필요하다고 생각합니다 그것을 위해? Google은 여기 Google에서 기술을 만들기 위해 노력하고 있습니다 이 장면을 훨씬 더 부드럽게 만들기 위해 필요한 전환점 그것을하기 위해, 그러나 현재, 우리는 여전히 적어도 일종의 성능 저하를 봐라 그래서, 정말로 당신이 가지고 있는지 모바일 웹으로 사람들을 밀어 넣는다 그들이 지금 앱 경험에있을 때, 그런 다음 마찰이 없도록하십시오

따라서이 예에서 우리는 누군가 누가 비행기를 탑승하는지 이것은 아주 평범한 상황이 될 수 있습니다 사람들이 모바일 웹으로 이동합니다 그러나 우리가 자주 본 것은 단순히 여행 앱에있는 것이 아니라, 다른 시나리오에서도 우리는이 경험을 보았습니다 근본적으로 변한다

그래서 우리는 이런 것을 보았습니다 승인? 그리고 때로는 일어날 수 있다고 생각합니다 팀의 조직 구조 때문입니다 알다시피,이 앱 팀이 모바일 웹입니다 팀, 그리고 그들은 충분히 말하지 않았어, 그렇지? 그래서 저는 몇몇 회사들이 더 좋은 일을하고 있다고 생각합니다

이 팀은 함께 사용자를 계획 할 수있게합니다 경험, 모양과 느낌, 내용 배치 방법에 대해 설명합니다 그런 다음 실제 구현을 분리합니다 다른 플랫폼에서 따라서 더 나은 경험은 회사들은이 점에 대해 정말로 사려 깊다

그리고 그 모습과 느낌을 매우 매끄럽게 만들 수 있습니다 모바일 웹으로 바로 이동할 수 있습니다 안드로이드에서, 우리는 이것에 대해 약간의 연구를하고 있습니다 Chrome Custom이라고하는 몇 가지 기술이 있습니다 살펴 봐야 할 탭

그것은 당신을 활성화 시키는데 정말로 도움이됩니다 툴바 색상 변경, 종료하고 애니메이션을 입력하여 해당 앱에서 이동하는 전체 과정 모바일 웹에보다 원활하게 전달할 수 있습니다 두 번째 장으로 이동하십시오 따라서 앱 검색에서의 중요성 정말로 과소 평가 될 수 없습니다 이제 몇 가지 중요한 검색 구현에 대해 이야기 해 보겠습니다

따라서 검색 필드를 눈에 잘 띄게 표시합니다 우리는 모바일 웹 연구를했을 때 이걸 발견했습니다 검색의 중요성에 대해 따라서 가난한 사례에서 우리는 사람들이 그것을 찾을 것으로 기대하는 장소에서 검색, 그러나 텍스트를 찾기 위해 그것을 어떻게 기대할 것인가가 아닙니다 이리 우리가 본 연구에서 사람들은 수색을 위해 주위를 둘러보고있는 약간의 좌절을 가지고 있었다

때때로 그것은 메뉴 아래에 숨겨져 있었고, 가장 분명한 것 중 하나 인 것처럼 들리지만, 그러나 나는이 연구에서 내가 본 것에 대한 나의 요약이 무엇인지, 개발자와 디자이너가 구현하지 않았다는 것입니다 충분한 검색 필드 영구 검색 필드를 포함해야합니다 검색이 정말로 중요한 부분 일 때 앱에서의 내 경험에 대해 무슨 일이 일어나고 있는지 생각하는 사람들이 많이 있습니다 검색이 중요하다고 생각하지만 그렇지 않습니다

스크린 부동산을 바치는 것이 중요합니다 그러니 앱에서 확인해보세요 현재보다 현저하게 강조해야할까요? 아르? 그래서 우리는 이것에 대한 조언을 Material Design에두고 있습니다 그리고 우리는 지속적인 검색을하고 검색 필드에 넣고, 확장 검색도 있습니다 우리는 유리 모양의 아이콘을 가질 수 있습니다

물론 검색을 위해 확장되었습니다 앱에서 검색의 중요성에 대해 생각해보십시오 그리고 사람들이 얼마나 중요한지는 중요합니다 검색 유형에 대한 결정 구현해야합니다 그리고 구현 세부 사항을 위해, 검색 대화 상자와 검색 위젯이 있습니다

이 링크를 클릭하면 더 많은 정보를 얻을 수 있습니다 필터 및 정렬 옵션은 어떻게됩니까? 대단히 중요합니다 다시 한 번, 우리는 그들이 숨겨져 있거나 일종의 묻혀있는 것을 보았습니다 또는 더 아래로, 사람들은 그들에게 갈 수 없었다 그들이 필요로하는만큼

그것은 우리가 최근에 한 우리 연구가 보여준 것입니다 우리는 그것의 훌륭한 구현을 보았습니다 그러나 아직도해야 할 일이 더 있습니다 셔츠에 대한 결과 242 개, 필터링하거나 정렬 할 방법이 없습니다 따라서, 더 나은 구현은 정말 좋은 클리어 버튼

필터 사람들은 그것을 아주 분명하고 쉽게 볼 수 있습니다 그리고이 예는 의류에 대한 것입니다 이 패널을 모든 올바른 종류로 슬라이드했습니다 그 (것)들을위한 수색 선택권의

그래서 당신은 베스트 매치, 최신 콜렉션, 그런 종류의 것 내가 이런 필터를 보았을 때 한 가지는, 몇몇 회사들은 예를 들어 사이징을 실시하고 있었고, 재고가 없을 때, 그리고 그것은 사람들에게 문제를 일으켰습니다 그들은 그들이 이제까지 할 것인지 알지 못했기 때문에 재고가 그들의 크기가 그래서 여분의 작은 것을 빼앗긴다고 상상해보십시오 그냥 그것이 주식에 없었기 때문에, 사람들 그것이 다시 올지 모르겠다

그보다 나은 경험은 그들을 가능하게하는 것과 같습니다 아마 재고가 언제 돌아 왔는지 알아보기 위해 가입하십시오 그러나 확실히 그것을 보여주고, 그것을 안정된 상태로 보여준다 좋다 그래서 여기에 색과 가격 그리고 또 다른 한가지가 있습니다

나는이 디자인에 대해 좋아한다 필터를 지우거나 필터를 적용한 다음 패널을 닫으려면 맨 위의 별도 수표, 그래서 패널을 닫는 것에 대해 혼란스럽지 않습니다 않습니다 따라서이 주제에 대한 검색을 유지하면서, 사람들에게 검색을 돕는 다른 방법이 있습니다 그 중 하나는 사용자 정의 제안 추가입니다

이는 응용 프로그램의 데이터에서 만들 수 있습니다 그래서 그것은 사람들이 그들의 수색에 정말로 도움이 될 수 있습니다 또 다른 하나는 최근 질의 제안입니다 그래서 모든 기술과 시설 그 검색 경험을 향상시킬 수 있습니다 보다 깊이있는 검색 경험을 통해 생각해보십시오

좋은 주제입니다 상거래 및 전환 따라서 사용자는 앱이 정말 부드럽길 기대합니다 제품을 찾고, 학습하고, 구매하는 경험 그럼 몇 가지를 살펴 보겠습니다

이 연구에서 상거래 및 전환에 대한 정보가 공개되었으며, 전환 경험을하도록 돕습니다 따라서 비교 쇼핑 기능을 사용할 수 있습니다 이 예에서 왼쪽의 여기에 부동산 앱, 여기, 그리고 사람들에게 그냥 그들은 아래로 스크롤하여 볼 수 있습니다 다른 집에서 그들이 좋아하는 것, 그들은 기억에 의지해야하며, 사람들, 우리, 너와 나, 우리는 모두인지 주의자이다 우리는 우리의 두뇌를 그렇게 많이 사용하는 것을 좋아하지 않습니다 그리고 우리는 사용자가 자신의 뇌를 많이 사용하도록 만들고 있습니다

여기, 그들이 물건 등을 보았던 곳을 기억합니다 그러나 우리는 더 잘할 수 있고 그 중 일부는 할 수 있습니다 우리가 본 것은 사람들을 돕기 위해 이런 방식으로 우리는 사람들에게 북마크 아이템을 제공하게됩니다 그들은 그것을 보았습니다 그래서 그들은 그것을 비교할 수있었습니다

모바일에서이 작업을 수행하는 것은 여전히 ​​매우 어렵습니다 그러나 여전히 우리가 할 수있는 모든 일이 도움이됩니다 그래서 저는 여기서 당신을 보여 드리겠습니다 사람들이 비교할 수있게했다 그리고 나서, 당신은 그것이 꽤 제한되어 있음을 볼 수 있습니다, 전화의 크기와 함께,하지만 여전히, 당신은 그 정보를 모으는 것

그것은 그들이 다른 모든 가정을 무시할 수 있다는 것을 의미합니다 걱정하지 않고 침실을 비교할 수 있습니다 그들은 욕실을 비교할 수 있습니다, 가정의 비용, 기타 등등 우리는 이것이 필요하다는 것을 알고 있습니다 연구에서, 우리는 사람들이 이에 대한 대안을 취하는 것을 보았습니다

그래서 소매상에서 사람들이 장바구니에 품목을 추가하는 것을 보았습니다 단지 그들이 같은 장소에서 그들 모두를 볼 수 있도록 그리고 그 일을 생각하는 사용자가있었습니다 다른 사람들이 어려움을 겪었습니다 그래서 우리는 이것이 필요하다는 것을 압니다

비교 및 탐색 경험에 대해 생각해보십시오 앱 내에서 사람들이 필요로하는 것 그런 다음 결제 수단을 쉽게 추가하고 관리 할 수 ​​있습니다 나는 다른 날에이 사실에 대한 가난한 예를 실제로 발견했습니다 내가 물건을 사러 갔을 때였습니다

나는 다시 휴가를 가고 있었다 나는 휴가를 가기를 좋아한다 그리고 나는 예약을하고 있었다 임대 주택 그리고 카드를 업데이트해야 할 시점까지갔습니다

내 머리 속의 나의 모델은 음, 새 카드가 도착했다 이전과 같은 카드 일뿐입니다 그것에 날짜가 새겨졌습니다 내 마음 속에는 내 카드에 대한 내 정신 모델이 있습니다 그것은 같은 카드입니다

그냥 교체가 필요합니다 새로운 결제 수단이 아닙니다 그래서 기존 카드를 편집 할 수있을 것으로 기대했는데, 그러나 그것을 할 수있는 시설이 없었습니다 그래서 나는 개발자의 모델을 이해해야 만했다 새로운 결제 수단을 추가해야했습니다

이 예에서는 그 사람이 그들이 체크 아웃되고있는 지점까지, 하지만 카드를 편집하거나 새 카드를 추가 할 방법이 없습니다 그것은 다른 곳에서도 가능합니다 하지만 우리 대부분은 생각하지 않습니다 글쎄, 나는 아침에 일어나서 생각할 것입니다 해당 앱에서 결제 수단을 관리해야합니다

종류가 별개의 활동입니다 맞습니까? 우리는 필요할 때 그것을 생각하는 경향이 있습니다 우리가 돈을 낼 때 그래서, 여기에 문제가 있습니다 따라서이 예에서는 훨씬 좋습니다

기존 카드를 편집 할 수있는 옵션이 있습니다 새 결제 방법을 추가합니다 여기에 여러 가지 결제 수단을 제공하고 사람들을 유도합니다 매우 깨끗한 형태의 디자인으로, 여기, 사용자가 새로운 신용 카드를 추가하기로 선택한 경우, 원할 경우 카드를 스캔 할 수도 있습니다 그래서 그 경험을 멋지고 깨끗하게 만드십시오

이제 Google에서 제공하는 하나의 시설 Android Pay는 그 중 하나를 선택하는 방법입니다 지불 할 이 아이디어는 사용자에게 매우 간단합니다 사용자가 Android Pay를 통해 원활하게 결제 할 수 있으며, I / O에는 여기에 대한 이야기가 있다고 생각합니다 이 링크에서 더 많은 정보를 얻을 수 있습니다

그래서 등록 등록은 회사 및 개발자에게 매우 인기가 있으며, 그게 그렇게 보였으니까 우리가 사용자로부터 참여를 얻을 수있는 곳입니다 그것은 사용자가 우리에게 맡기는 곳입니다 우리는 오래 전부터 이러한 등록을 제공 한 사실을 알고있었습니다

장벽이 앞에있는 것은 사람들이 도달하기위한 커다란 장애물이 될 수 있습니다 먼저 뭔가를 제공하는 것이 낫습니다 그래서 그들은 그들의 편에서의 참여를 느낄 수 있습니다 회사에 다른 몇 가지가 있습니다

등록과 관련하여 오늘 이야기하고 싶습니다 그래서 우리는 사용자들이 로그인하고 가입하는 데 어려움을 겪고있는 것을 보았습니다 까다로운 일이지, 그렇지? 우리는 종종 사용자가 양식을 작성하는 것을 보았습니다 그들이 제공 되었다면 그들이 가입하기로되어있을 때 서명하고 있었고, 그 반대 아마 우리 모두에게 일어난 일입니다

그래서 우리는 더 나은 경험을 발견했습니다 사람들에게 로그인하거나 등록 할 수있는 옵션이 주어졌습니다 그 단어들은 매우 달랐고, 그것들을 구별 할 수 있었고, 우리는 그들을 올바른 길로 끌 수 있습니다 그래서 그들은 그 혼란에 빠지지 않았습니다 우리는 등록 및 신원에 대한 솔루션을 많이 보유하고 있습니다

Google에서 우리는 전체 ID 플랫폼을 가지고 있습니다 내가 너를 보라고 권하고 싶다 기본적으로 인증 시스템입니다 몇 가지 구성 요소와 다양한 선택 사항이 있습니다 만들다

그래서 이들 중 하나는 Android 용 로그인입니다 사용자가 동일한 자격 증명으로 로그인 할 수 있습니다 그들은 Google에서 사용합니다 전체적인 의도는 그 과정을 더 많이 만드는 것입니다 쉽고 간단합니다

그 이야기는 다른 방법이 있습니다 암호 인증을 마찰없는 경험으로 만드십시오 우리 모두는이 상황에 처해있었습니다 우리에게는 효과가 없으며 모바일에서는 상당히 고통 스럽습니다 비밀번호를 계속 입력하면 작동하지 않습니다

앱에서 더 악화 될 수 있습니다 이 곳이 사람들이 돌려 보내진 곳이라는 것을 알았습니다 모바일 웹에 연결 했지, 그렇지? 그럼, 당신은 다시 그 고리에있어, 그리고 그것은 더욱 악화되고 있습니다 그래서 우리는 하나의 솔루션에 대해 이야기했습니다 사람들이 로그인 할 수있게 해줍니다

우리가 보았던 또 다른 하나는 훨씬 더 대중적이되고 있습니다 지문 입력이고, 우리의 연구에서, 사람들은 이것에 대해 꽤 행복했습니다 그들은이 일을 아주 많이 좋아했습니다 그래서 나는 이것이 좋은 것으로 생각합니다 또한 구현 세부 정보가 더 있습니다

여기서 지원되는 장치에서 지문 스캔을 사용합니다 그리고 Smartlock은 우리의 정체성 시스템의 또 다른 부분입니다 그것은 당신이 자동으로 사용자에게 응용 프로그램에 로그인 할 수있게하고, 그들이 저장 한 자격 증명을 사용합니다 그것은 또 다른 좋은 것입니다 이 연합 신원 조항의 일부 그리고, 만약 당신이 사용자들과 멀리 떨어져 있지 않다면, Sign-in Hints도 있습니다

우리에게 자격 증명 API를 사용하십시오 로그인시 사용자에게 힌트를 줄 수 있으며, 사용자 이름과 이메일 주소 모든 것은 서명 허들과 같은 쉬운 일종의 방식으로 이루어집니다 그래서 폼 엔트리 양식 입력에 대해 디자인에서 이야기했습니다

년과 년 동안 우리는 데스크톱 양식 입력 작업을 많이했는데, 우리가 모바일 웹에 갔을 때, 우리는 다시 모든 것을 다시 배우어야했습니다 그 양식들이 실제로 정말로 작고, 양식을 작성하기 위해 확장해야합니다 항상 앱으로 조금 더 나아졌습니다 우리가 양식을 디자인했기 때문에 모바일 장치의 구매부터

그러나 나는 말하기를 기쁘게 생각한다, 나는 우리가 먼 길을왔다라고 생각한다 그러나 우리 연구에서 보았던 것들이 아직도 있습니다 개선 될 수있다 그래서 저는 이것을 사용자 친화적 인 형태로 분류했습니다 내가 본 것들 중 몇 가지는 여전히 사용자가 자신의 업무에 많은 작업을해야하는 일부 앱

여러 다른 필드에 커서 놓기 그들의 전화 번호, 그리고 이런 것들에 대해서, 사용자 측에서 많은 노력이 필요합니다 또한 양식 필드가 어떻게 나타나는지 보려고 지불하지 않았습니다 사용자에게 문제가되었습니다 그 (것)들을 위해 종류를 분류하는 것은 단단했다 그들이 다음에 채워야 할 것의 그들의 정신 모델 그것들은 좌절감을 일으켰고 확실히 마찰적이었습니다

포인트 더 나은 교전은 여기에서 더 많은 일을하고 있습니다 백 엔드에 따라서 사용자가 휴대 전화에 글을 쓰고 싶어하는지 숫자 사이에 대시가있는 숫자, 숫자 사이에 공백이 있으면 아니면 하나의 긴 필드 일뿐입니다 그리고 그것을 만들어라

그것은 우리를 위해 조금 더 많은 일을한다 개발 측면에서,하지만 그것은 사용자가 훨씬 쉽게 사용할 수 있습니다 그들이하는 일을 이해하고, 오류가 반환되지 않습니다 또한 오류가있는 곳에서도 인라인을 제공합니다 정말 도움이됩니다

여기 앱에는 양식을 현장으로 옮기는 정말 좋은 직장 사용자가 정보를 입력하면 이는 사용자에게 매우 유리한 결과였습니다 따라서 멋진 텍스트 필드를 만드는 방법에 대한 많은 정보가 있습니다 머티리얼 디자인을 통해 서로 다른 측면에 대해 많은 이야기 좋은 양식을 만드는 것 특히 장소에 대해서는 지역 정보 자동 완성 기능을 사용할 수 있습니다

Places API의 일부로 다시, 그리고 이것은 이러한 형태로 채우는 데 정말로 도움이 될 수 있습니다 위치가 필요한 필드 양식 디자인의 또 다른 측면은 키보드와 일치하는 것입니다 필요한 텍스트 입력 이것은 꽤 잘 알려진 일이며, 그러나 우리는 여전히 잘 수행하지 못하는 중요한 앱을 보았습니다

따라서 사용자가 신용 카드에 커서를 올리면 필드에 추가하고 앱에이 항목이 있다면 너는 그것을 조사해야한다, 그것이 옳은 일을하고있는 것인가? 이 예에서는 여기에 올바른 일을하지 않습니다 사용자는이 키보드를 그대로두고, 올바른 키보드를 얻을 수있는 방법이 없습니다 대개는 아니지만, 여기에 숫자 키를 치고 나서 그들은 상단에 숫자가있는 키보드를 갖게 될 것이고, 적절하게 설계하는 것과는 대조적으로, 한 번 커서가 안에 있으면 그 (것)들을위한 숫자 키보드 이렇게 작은 것들, 양식에있는 모든 작은 것들 실제로 추가하고 양식 디자인을 체크 아웃하십시오 이런 식으로 사람들에게 정말로 도움이됩니다

입력 방법 지정에 대한 정보가 있습니다 이 링크에서 찾을 수있는 키보드 유형과 올바른 키보드 그런 다음 마지막으로 유용성과 이해력을 살펴 보겠습니다 이것들은 당신이 할 수있는 작은 것들입니다 우리가 우리 연구에서 보았던 것, 애플 리케이션을 통하여, 사용자들에게보다 자연스러운 경험을 제공합니다

우수한 사용자 경험을 보장하는 데 중요 할 수 있습니다 사용자가 걸려 넘어 지거나 경험을 포기하지 않는 경우, 언제든지 이것은 텍스트 레이블 및 시각적 키 제공에 관한 것입니다 시각적 정보를 명확히하기 위해 그래서 이전에 이것을 보았습니다 제 이야기에서 저는 시각적 인 열쇠가 빠져있었습니다

그 그림 속의 파도가 필요해 호텔의 방향을 이해하는 데 도움이됩니다 이 예제를 보자 몇 순간을 가지고 자신을 결정하십시오 그 아이콘이 나타내는 것이라고 생각하는 것

그들 중 일부는 아마 다른 사람들보다 분명합니다 답을 봐야할까요? 여기에 우리가 간다, 그래서, 그것은 나의 여행, 책, 클럽, 그리고 계정이다 누구가 그 (것)들을 맞았 는가? 나는 아마 계정이 그렇게 나쁘지 않았다고 생각한다 그러나 우리가 본 교훈은 다시, 나는 그것이 지나친 일반화라고 생각한다 우리가주는 규칙은 아이콘이 모호하고, 텍스트 레이블이 꼭 필요합니다

문제는 말하기에 때 아이콘 모호하다 우리 모두는 서로 다른 수준을 가지고있다 이해와 관련하여 너는 내가 생각하기에, 너의 많은 아이콘들 애매하게 될 것입니다 나는 당신에게 모범을 줄 수있다

따라서 필터 아이콘을 알 수 있습니다 이런 식으로 보이니? 그렇게 보편적이라고 생각할 수 있습니다 그것은 아주 다른 방식으로 그려집니다 많은 다양한 앱에서 보편적으로 사람들 사이에서 이해되는 것을 발견하지 못했습니다 그래서 나는 우리가 우리의 수준을 바꿔야한다고 생각합니다

앱의 아이콘 수와 관련하여 설정 라벨이 필요한 사람들, 사람들이 그것을 이해할 것입니다 그리고 이것은 매우 훌륭한 곳입니다 간단한 AB 테스트를 수행하고 레이블 제공 여부와 차이점 레이블을 제공합니다 여기에 구현 세부 정보가 있습니다 단추에 텍스트와 아이콘을 사용하려는 경우

그래서 그걸 가지고 있다면 그리고 라벨을 붙이는 것에 대해 이야기하고, 항상 저를 깨닫게 해줍니다 내 응용 프로그램에 액세스 할 수 있습니다 여기에는 많은 가이드 라인이 있습니다 응용 프로그램에 액세스 할 수 있는지 확인하십시오

그리고 오늘 내가 들어가야 할 마지막 원리 컨텍스트에서 사용 권한을 요청합니다 그래서, 이것은 우리가 Android M으로 가능하게 한 것입니다 하지만 우리는 여전히 상당수의 앱을보고 있습니다 그것을 이용하고 있지 않다 잠시 동안 iOS가 가능할 수있었습니다

지금도 따라서이 예에서 사용자는 다운로드 및 응용 프로그램을 열고 그들은 즉시 묻습니다, 위치를 사용할 수 있습니까? 그래서 아마이 앱은 그들에게 제안되었습니다 다른 누군가에 의해 그들은 오, 이것이 정말 좋은 앱이라고 말했다 당신이 가정 장식에 대해 배우고 싶다면, 그리고 그것은 당신이 살 수있는 몇 가지 정말 멋진 것들을 가지고있어

그러나 우리와 비슷한 방식입니다 문제가되는 등록을 생각 하겠지? 당신이 그것을 앞쪽에 요구할 때 넘어서 오는 장애물입니다 이것은 사용자에게 똑같습니다 개발자들이 말하는 것처럼, 내 위치를 알려주는 것과 같습니다 내가 너에게 다른 것을주지 않기 전에, 그렇지? 사용자는 종종 '아니오'라고 말하려고합니다

그들은 왜 그 이유를 정말로 이해하지 못하기 때문에 그들은 단지 당신의 앱을 둘러보고 싶었습니다 그래서, 그걸하는 더 좋은 방법입니다 안드로이드 M 때문에 지금 할 수 있어요 런타임에 컨텍스트에서이를 수행 할 수 있습니다 이 예에서는 매장을 검색하는 사람들이 있습니다

사용자가 자신의 동기 부여가 있기 때문에 훨씬 나아질 것입니다 권리? 그들은 그 가게를 찾을 수 있기를 원합니다 그 다음에 일어나는 일은 그들에게 더욱 분명합니다 뒤에 오는지도가 있고 그것 묻는다, 위치를 사용할 수 있습니까? 음, 물론 그렇게 할 수 있습니다 권리? 너는 받아 들일 확률이 훨씬 높다

당신이 문맥에서 묻는다면 우리는 이것을 위해 많은 자원을 가지고 있습니다 우리는 작은 비디오와 구현 세부 사항이 있습니다 런타임에 사용 권한을 요청할 수 있는지 여부 그리고 그것은 단순히이 원칙에 불과합니다 왜냐하면 많은 사람들이 그것에 대해 알고 있음을 알고 있기는하지만, 우리가 최근에 공부 한 앱에서 많이 보았습니다

그것이 여기있는 이유입니다 그래서 내가 원칙의 끝으로 나를 데려다 준다 너와 갈거야 각 장을 살펴 보았습니다 이러한 원칙을 온라인에서 더 많이 찾을 수 있습니다

그들은 모두 Google에서 생각할 때 온라인 상태입니다 그리고 여기 당신과 관련된 짧은 링크를 만들었습니다 원칙에 향상된 모바일 사용자 환경 사실 여러 가지 원칙이 있습니다

내가 무엇이 있는지 말해 줄께 모바일 앱 원칙, 새로운 설정 25 가지 모바일 원칙 중 새 집합이 있습니다 소매업을위한 25 가지 원칙 – 웹과 앱 모두입니다 다시 한 번 연구를 했으므로 그 정보는 그런 다음 모바일 웹 원칙이 있습니다 이전에 게시 한 내용, 이미 보았을 수도 있습니다

이 링크의 모든 링크는 동일한 링크입니다 더 자세한 구현 정보가 필요한 경우 모바일 웹 사이트에서 우리의 웹 펀더멘털의 일부이기도하다 사이트 및 그 곳에서 제공 한 특정 링크 추가 개발자 구현 세부 정보를 제공합니다 내가 가기 전에 한 가지 더 이야기하고 싶습니다 연구의 이야기

그래서이 연구에서, 신용 카드 스캔 기능을 구현 한 지불하기 위해서 이제 우리는 연구에서 소수의 사람들이 전에 그것을 사용했고, 그것을 가로 질러 왔고, 그것을 좋아했다 그러나 이것은 상대적으로 새로운 기술이기 때문에, 우리는 그것을 만난 사람들이있었습니다 처음으로 이제 스캔이라는 단어에 대해 생각하면 가장 친숙한 단어입니다

경험, 나는 생각한다, 단어 스캔과 더불어, 내가 식료품 가게에 가서 신용 카드를 스캔 할 때입니다 권리? 그리고 바로 옆에 내 신용 카드를 걸고 있습니다 음, 다른 기계를 통해 퍼팅, 정말, 그게 스캐닝 내가 스캔이라는 단어를 알고있는 또 다른 곳 사진 복사기에 종이 넣고있다 더 오래 전의 일이지만 여전히 스캔, 서로의 위에 뭔가를 가하고

따라서 사용자는이 요청을받습니다 신용 카드 스캔 그것은 스캔이라는 단어를 사용하는 것입니다 그리고 만약 당신이 그들을 번역하려한다고 상상한다면, 종종 가장 먼저 묻는 것은, 우리 카메라를 사용할 수 있을까요? 음, 카메라가 할 일은 무엇입니까? 내 신용 카드를 스캔하는 중입니까? 음, 아마도, 나는 그것을 이해하지 못한다 그래, 그래, 내 카메라를 사용할 수있어

그런 다음 여기에 신용 카드를 보관 해달라고 요청합니다 자동으로 스캔합니다 좋아요, 지시에 따라 놀라지 마시고, 우리는 연구에서 세 사람이 이것을 보았다 그리고 그들은 기다리고 기다렸다 그들은 대단히 실망했다

그들은 지불하는 것이 아주 간단한 방법이라고 생각했기 때문에 그리고 이것은 단지 이해에 관한 것입니다 우리가 사람들에게하고 싶은 것과 사용하고있는 언어 간단하고 사용하기 쉽습니다 불행히도 우리는이 모든 것이 효과가 있다고 생각합니다

아직 작동하지 않습니다 그러나 그것은 말이 맞습니다 그들이하는 일, 그들이 무엇을하도록 지시 받았기 때문에 그래서 다시, 나는 그 시점으로 돌아 간다 사용자를 이해하고있는 앞에서 만든 경험, 끝에서 끝까지

흐름과 고통의 포인트를 이해합니다 정말 중요합니다 네가 경험을 쌓기를 원하기 때문에 당신은 당신의 사용자를위한 정말 좋은 앱 경험을합니다 사용자가 좌절하지 않는 곳, 좌절감의 종류가 아니라 내 앱을 사용한 후에 느낌이 들었고 내 호텔 방까지 갔다

내 창문에서 그 주차장을 봤어 앱 경험을 할 수 있기를 바랍니다 사람들이 인생이 정말로 마찰이없는 것 같은 느낌을 갖게한다 해변의 경치와 더 비슷합니다 그래서 저는 여러분에게 세 차례의 테이크 아웃을 해드 리고 싶습니다

그리고 이것들은 생각할 수있는 세 단계입니다 이 이야기 이후에 대해 앱을보고 앱을 감사합니다 25 가지 원칙에 위배된다 간단히 말해서, 우리는 이러한 경험들 각각에서 무엇을하고 있으며, 그리고 그것을 측정하고 있습니까? 그게 너에게 길고 긴 길을 가져다 줄거야

하지만 앱도 독특합니다 맞습니까? 따라서 주요 사용자 여정을 실제로 이해해야합니다 그 붕괴 지점을 이해하십시오 내 호텔 앱에 내가 제공 한 것 정말 흥분 되긴했지만 내게서 깨진 점들 결국에는 잘 작동하지 않게되었습니다

그리고 나서 마침내, 당신 자신의 사용자 테스팅에 대해 생각해보십시오 Google Ventures의 가이드 사용자 연구를 위해 많은 자원을 제공합니다 실제로 작은 규모의 방법으로 사용자 테스트를 수행하면 당신이 제공 한 좋은 것들을 볼 수 있도록 앱에서 축하하고 고통을 식별 할 수 있습니다 귀하의 애플 리케이션에 포인트, 그래서 당신이 그들을 해결하는 방법에 대해 생각할 수 있습니다 시간 내 주셔서 감사합니다

[음악 재생]

A 12-year-old app developer | Thomas Suarez

번역: Yunhi Maeng 검토: Mira Park 전 항상 컴퓨터와 기술을 매력을 느껴왔습니다 아이폰, 아이팟 터치, 아이패드의 몇몇 앱도 만들었죠

이 중 몇가지를 여러분과 함께 얘기하고자 합니다 제 첫번째 앱은 사람들의 미래운에 따라 다른 색의 지구 를 나타내는 지구 운세라고 하는 점쟁이 앱이었습니다 가장 성공적이었고 제가 제일 좋아하는 앱은 버스틴 지버라는 (웃음) 저스틴 비버 두더지 잡기 앱이었습니다 학교 애들이 저스틴 비버를 좀 싫어하길래 그 앱을 만들었죠 우선 그런 앱을 만들기로 결정하고, 프로그램 작업을 했습니다

2010년 명절 전에 어플을 출시했습니다 많은 분들이 어떻게 이렇게 했는지를 질문하십니다 대개, 이런 질문을 하시는 분들도 앱을 만들고 싶어하는 분입니다 많은 어린이들이 게임을 좋아하기도 하지만, 게임을 만들고 싶어 하기도 합니다 그것이 쉽지 않죠

왜냐하면, 대다수가 프로그래밍을 배우러 어디로 가야할 지를 모르기 때문입니다 축구를 배우고 싶으면, 축구팀에 가입하면 되고, 바이올린을 배우고 싶으면, 레슨을 받을 수 있습니다 앱을 만들려면, 어떻게 해야할 까요? 부모님들이 해주실 수도 있지만, 우리부모님들이 어릴 때는 앱을 만들거나 하지는 않았잖아요 (웃음) 앱을 만들려면, 어디로 가야할까요? 저는 다음 같이 접근했습니다 첫번째, 기본적인 틀을 알기위해 파이손, 자바같은 여러 프로그래밍 언어들로 프로그래밍을 했습니다

그때 애플사가 아이폰을 출시했고 아이폰에는 아이폰앱을 프로그램하고 만들 수 있는 아이폰 소프트웨어 개발 키트라는 툴이 있었습니다 이것이 저에게 새로운 기회의 문을 열어주었습니다 이 소프트웨어 개발 키트를 가지고 놀다가 작은 두개의 테스트 앱을 만들게 되었습니다 그 중 하나가 바로 지구운세였습니다 앱스토어에 그 앱을 내 놓을 준비가 된 것이죠

부모님을 설득하여, 앱스토어에 이 앱을 내놓을 때 필요한 99달러의 가입비를 낼 수 있었습니다 그리고 앱스토어에서 출시할 수 있었습니다, 가족, 친구, 선생님, 심지어 엡스토어 분들로 부터 관심과 격려를 받았습니다 그것이 저에게는 큰 도움이었습니다 스티브 잡스 회장님에게서 많은 영감을 얻었습니다

학교에서는 앱 클럽을 만들었고, 선생님들께서는 많은 후원을 해주셨습니다 우리 학교 학생은 누구나 가입해서 앱 디자인을 배울 수 있습니다 이렇게 다른 사람들과 제 경험을 나눌 수 있게 된 것입니다 아이패드 파이럿이라고 하는 프로그램들이 있습니다 어떤 지역은 이런 프로그램을 가지고 있는데, 전 운좋게 그 일원이 될 수 있었습니다

우리의 과제는 아이 패드를 어떻게 사용해야 되며, 아이패드를 위해 어떤 앱을 만들어야 하느냐 입니다 그래서 학교 선생님들의 사용후기도 듣고 어떤 앱을 좋아하는지도 파악합니다 우리가 앱을 디자인하여 팔때, 우리 지역이나 다른 지역에서 이 애으로 부터 오는 모든 수익금은 우리 지역의 교육 재단으로 들어갑니다 요즘 기술적인 부분에 대해서는 선생님들 보다 학생들이 조금 더 잘 알고 있습니다 (웃음) 그래서 (웃음) 죄송해요, 선생님

(웃음) 그래서 이런 앱이 선생님들에겐 교육자료가 되고, 다른 분들도 알아보고 잘 이용합니다 미래에 제가 뭘 하고 싶은지를 말씀드리며, 끝내겠습니다 첫째, 더 많은 앱과 게임을 만들고 싶습니다 앱을 만들기 위해 다른 제3의 회사와 함께 일하고 싶고, 안드로이드 개발에도 참여하고 싶으며, 앱클럽을 계속 하고 싶고, 학생들과 지식을 함께 나눌 다른 방법도 찾아보고 싶습니다 감사합니다

(박수)

How to create a complete SMS Gateway app (android app)

우리는 SMS 게이트웨이 응용 프로그램을 만들 것입니다 이 앱은 모든받은 편지함 SMS를 읽으십시오

또한 모든 SMS를 보낼 우리의 MySQL 데이터베이스 API를 사용하여 000webhostcom을 사용하겠습니다 데이터베이스 및 API 용 이 응용 프로그램의 목적은 배우는 것입니다 API 용 발리 라이브러리 사용 방송 수신기 앱에서 SMS 보내기 및 받기 SMS를 사용한 등록 프로세스 WhatsApp와 같은 당신이 볼 수 있듯이 보내기 버튼을 누릅니다 메시지를 보냅니다 번호로 여기에 그 메시지가 있습니다

앱에서 전송합니다 어떤 SMS에서 나 오는 숫자가 나온다면 나는 브로드 캐스트를 받게 될 것이다 나는 토스트에 그 메시지를 보여줄 것이다 동시에 우리의 데이터베이스에 저장됩니다 여기에 데이터베이스에있는 메시지가 있습니다 또한 우리는 SMS를 보낼 것입니다 api를 사용하여 우리 장치에서 당신은 아름다운 것을 만들 수 있습니다

SMS 전송 양식 이것은 우리의 SMS입니다 firebase 및 api를 사용하여 전송되었습니다 프로젝트를 시작하기 전에 github 링크로 이동하십시오 여기 모든 파일을 업로드했습니다 php 폴더에는 세 개의 파일이 있습니다

우리 프로젝트에 필요했다 하나의 파일은 장치를 등록하기위한 것입니다 두 번째는 모두를 저장하는 것입니다 받은 편지함 및받는 SMS 데이터베이스에 세 번째 파일은 API를 사용하여 SMS 보내기 이 파일에서 우리는 firebase를 사용하고 있습니다 mysql 데이터베이스 파일도있다

귀하의 databsae 설정을 위해 프로젝트를 시작하기 전에 너에게 보여줄 게있어 일부 설정 계정을 만든 다음 로그인하십시오 일단 로그인하면 당신은 당신이 파일 관리자에 대한 액세스 파일 관리자를 열고 파일 업로드 그 세 파일은 프로젝트에서 제공됨 이 파일을 업데이트하십시오 당신의 설정에 따라 당신은 데이터베이스 호스트, 사용자를 변경해야합니다 암호 및 데이터베이스 너는 바꿀 필요가있어 firebase의 인증 키 나중에 내가 너에게 말할거야

PHP myadmin 사용하여, 이것은 데이터베이스 선택 방법 mysql에서 전체 databsae를 임포트한다 빈 활동으로 새 프로젝트 시작하기 확장 파일 레이아웃으로 이동 선형 레이아웃으로 변경하십시오 수직 방향 및 20dp까지의 마진 드래그 앤 드롭 두 개의 편집 텍스트 하나는 전화 번호이고 메시지의 두 번째 두 개의 버튼 하나는받은 편지함을 읽고 SMS를 보내는 초 받은 편지함을 보여주는 목록보기 코드를 허용한다 레이아웃을 객체와 연결 허가 선언 전송을위한 요청 코드 SMS 읽기 및 받기 당신은 어떤 숫자라도 가질 수있다 121, 122, 123을 사용하고 있습니다

API에 대한 최종 문자열 만들기 우리는이 URL에 SMS를 보냅니다 우리 앱에 위험한 권한이 필요하다 그러므로 우리는 우리가 매번 그 허가를 받다 우리는 그 권한을 요구하다 앱에 권한이 있는지 확인하는 방법 우리는 ContextCompatcheckselfpermission을 호출한다

방법 앱에 권한이있는 경우 이 메소드는 허가를 돌려 준다 앱이 계속 진행할 수 있습니다 앱이 작업을 진행할 수 있습니다 앱에 권한이없는 경우 이 메소드는 허가 거부를 돌려 준다 앱은 명시 적으로 사용자에게 허가를 요청하십시오 우리 앱이 허가를 받았을 때 수표 거부로부터의 거부 우리는 그 허가에 대한 사용자 모든 앱을 정의해야합니다 매니페스트 파일의 사용 권한 우리는 또한 인터넷이 필요합니다

API 액세스 권한 컨텐트 Resolver는 URI를 결정합니다 특정 콘텐츠 제공 업체에게 커서는 결과 집합을 포함합니다 에 대한 쿼리의 안드로이드의 데이터베이스 Cursor 클래스에는 앱을 허용하는 API 열을 읽을 쿼리에서 반환되었습니다 뿐만 아니라 결과 집합의 행 나는 또한 방법을 보여주고있다 모든 열 이름 가져 오기 나는 또한 방법을 보여주고있다

모든 열 이름 가져 오기 모든 열 이름을 덤프 한 후 나는 너에게 해설을한다 변수 설정 필수 열 인덱스로 레코드 세트가없는 경우 여기에서 돌아온다 이전의 arrayadapter 값을 제거하십시오 전화 번호 및 메시지 받기 목록보기에 표시 할 문자열을 설정하십시오 우리는 날짜 형식을 데이터베이스 날짜 저장 형식 다시 문자열 만들기 우리의 배열 어댑터에 추가 여기서는 API 호출을 코딩 할 것입니다

Volley는 HTTP 라이브러리입니다 adroid 애플 리케이션을위한 네트워킹을 만든다 쉽고 빠르게 자동으로 발리 슛 네트워크 요청을 예약합니다 이 줄을 복사하여 붙여 넣기하십시오 그것은 gradle 모듈 애플 리케이션에서 우리는 허가 방법을 적용했지만 우리는 또한 모든 곳에서 허가를 사용합니다

우리가했던 것과 비교하면 매우 쉽습니다 목적은 이미 완료된 좋은 코드 발리볼 자바 복사 할 수 있습니다 우리의 애플 리케이션에 코드 및 수정 자바 클래스를 만들 수 있습니다 방송 수신기 용 우리는 모든 이 클래스에서 들어오는 SMS 방송 수신기는 Android 구성 요소 에 등록 할 수있는 시스템 또는 응용 프로그램 이벤트 우선 우리의 api url 그런 다음 send sms volley code를 얻는다 번들을 구하다

번들이 null가 아닌 경우, pdus를 취득한다 PDUS는 프로토콜 데이터 단위를 나타냅니다 전달 된 정보 네트워크 계층을 통해 우리는 msg를 읽고 get 필수 입력란 우리가받은대로 데이터베이스에 저장 우리는 방송을 등록하고있다 매니페스트 파일의 수신기 이제 마지막 단계는 서버에서 SMS를받는 것입니다 goto consolefirebase

googlecom 및 프로젝트를 등록하고 안드로이드 앱 만들기 안드로이드 애플 리케이션을 위해 우리는 패키지 이름이 필요합니다 매니페스트 파일에서 복사 에 대한 자바 클래스를 만들 수 있습니다 모든 firebase 메시지 받기 서버 키를 가져와야합니다 PHP 파일에 넣기 헤더에서 Authrization 키로 그 후에 우리는 쉽게 보낼 수 있습니다

우리의 PHP 파일에서 메시지 우리는 앱이있는 기기 그것은 쉽게 보낼 수 있습니다 특정 사용자에게 보내는 메시지 우리는 Permissioneverywhere를 사용할 것입니다 이 시점에서 SMS를 보낼 수있는 권한을 얻으려면 앱이 준비되어 있으며 보낼 수 있습니다 앱에서 SMS를 읽습니다 웹을 사용하여 SMS를 보낼 수 있습니다

API를 통한 애플리케이션 모든받은 편지함을받을 수 있습니다 한 번의 클릭으로 SMS를 보낼 수 있습니다 이 앱은 완전한 앱입니다 보고 주셔서 감사합니다 너를 봐