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에서 최대한 빨리 숙련 된 기술을 습득해야한다 안드로이드 애플 리케이션 개발을 위해 앞으로 나아 갔다

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

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

Java or Kotlin for Android Development – Which One Is Better?

Kotlin 또는 Java for Android에 중점을 두어야합니까? 앱 개발? 오늘의 비디오에서 그것에 대해 이야기합시다 환영합니다, 제 이름은 팀 부칼 카입니다

그날의 또 다른 프로그래밍 팁과 함께 문제는 어떤 프로그래밍 언어 Android 앱 개발에 집중해야합니까? 장면에 상대적으로 새로운 Kotlin은, 또는 주위에 있었던 오래된 언어 인 자바 많은 수년간 일반적으로, 나의 조언은 새로운 프로젝트를위한 것이다 Kotlin에 집중할 수 있습니다 그 이유는 그것이 선진국 언어 다

특히 지난 2 년 동안, Google은 Kotlin을 크게 홍보했습니다 Android 앱 프로그래밍의 대안으로 저에게는 몇 가지 이유가 있다고 생각합니다 구글이 공식적으로 말하지는 않았지만, 나는 그들이 오라클과 논쟁 중이라고 생각한다 Java의 사용에 관해서는 무게가 나가고 있습니다 그들의 마음에 그들은 스스로를 해방하려합니다

아마 그 라이센스 제한에서 계속되는 주장과 법원 사건이 많이 있기 때문에 실제로 오라클과 Google과 관련된 안드로이드 애플 리케이션 개발에 자바의 사용 장기적으로 볼 때 우리는 우리가 보았던 Kotlin과 Java와 유사한 상황 신속하고 객관적인 C와 iOS 개발, 그리고 그것은 애플, 그들은 수년간 목표 C를 사용하고 전환했다 신속하게 신속하게 이제는 내가 말할 것입니다 그 목표 C, 아직 사용 중이지만 레거시 애플리케이션의 경우, 즉, 이전에 개발 된 응용 프로그램 스위프트가 나오면, 확실히 프로그래밍 프로젝트의 대다수는 생각합니다 이제 나와서 Swift에서 일하거나 실제로 만들었습니다

그래서 나는 구글과 같은 일이 일어날 것이라고 생각한다 이미 통계적으로, 마지막 Google IO에서 Google 슬라이드를 본 것 같습니다 콜틴이 이미 시작한 것에 대해 이야기했던 6 월에 새로운 프로젝트를 위해 Java를 추월하려면, 그게 일어날 것 같아 너라면 네가 그렇게 생각해 기존 자바 개발자, 지금은 Kotlin을 배우기에 좋은 시간이 될 것입니다

그러니 자신을 세워서 그 기술을 얻었습니까? 그래서 Kotlin이 실제로 주류가 될 때 대부분의 새 프로젝트는 Kotlin, 너는 적어도 Kotlin에 대한 기본적인 지식을 가지고있다 생산적 일 수있다 처음으로 시작하는 경우 자바 또는 코 틀린으로 프로그래밍하지 않은 경우, 내 추천은 Kotlin에서 시작하는 것입니다 그리고 그것은 새로운 섹시한 언어이기 때문입니다 그것은 당신의 이력서에 아주 좋게 보일 것입니다

그러나 나는 또한 여전히, 내가 네 신발에 있었다면, 자바 학습에 시간을 투자해라 자바가 그렇게 큰 언어이기 때문에, 그런 인기있는 언어, 심지어 다시 Android 앱 개발과 관련 있습니다 Java로 작성된 기존 프로젝트가 너무 많습니다 그래서 다른 말로하면 당신은 Java 귀하의 일상적인 프로젝트 작업에서 어쨌든, 아마 레거시 애플리케이션을위한 것이어야합니다 새로운 응용 프로그램의 일부 작성, 또는 Kotlin에서 응용 프로그램의 일부 아마도 당신은 자바 컴포넌트로도 작업하고있을 것입니다

그래서 당신은 정말로 두 가지 모두를 알아야합니다 하지만 Android 앱 개발자로 시작한 경우 2019 년에 나는 Kotlin에 먼저 초점을 맞추었고, 그러나 나는 또한 내가 몇 가지 자바 기술을 가지고 있는지 확인하게 될 것이다 기본적으로 더 생산적인 프로그래머가 될 수 있습니다 게다가 좋아, 내가 그걸 도왔 으면 좋겠어

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

나는 너를 곧 볼거야

Tasks and the Back Stack (Android Development Patterns)

남성용 스피커 : 실행기 아이콘을 탭합니다 앱의 경우 앱이 실행됩니다

쉽지, 맞지? 배후에 무슨 일이 일어나고 있는지 조금 더 관련되어 있습니다 앱의 활동이 밝혀졌습니다 진공 상태로 살지 않고 대신 존재한다 하나 이상의 작업의 일부로 자, 작업 자체는 그다지 복잡하지 않습니다 그것은 단순히 활동의 스택입니다

시작 활동을 호출하면 새로운 활동이 푸시됩니다 작업의 백 스택에 넣습니다 뒤로 단추는 이것을 뒤집어 호출 마무리 현재 액티비티에서 스택에서이를 팝핑하고, 사용자를 원래 위치로 되돌립니다 그러므로 이름 이 대칭 푸시 – 팝 모델은 단편에도 적용됩니다

프래그먼트 트랜잭션을 지정할 때, 당신은 fragment를 추가하기 위해서 add to back stack을 호출 할 수있다 백 스택 트랜잭션 그런 다음 사용자가 뒤로 버튼을 누르거나 귀하의 활동이 끝나고 조각 거래 반대입니다 조각 트랜잭션이 더 이상 없을 때만 뒤로 버튼을 누르면 활동이 끝납니다 이제 뒤로 버튼을 누르는 대신, 당신은 홈 단추를 누르십시오, 전체 작업 백그라운드에서 넣어

런처 아이콘을 탭하면, 시스템은 태스크를 포 그라운드로 되돌려 보내고, 네가 그곳을 떠난 곳이야 선택하면 똑같은 일이 일어난다 개요 화면에서 앱의 작업, 작업이 포 그라운드로 이동됩니다 많은 앱에서이 기본 동작은 필요한 것입니다 거추장스럽지 않아

멋지고 일관된 대칭 연산 하지만 두 가지 구체적인 경우가 있습니다 특별한 일을하고 싶다 먼저, 액티비티로 시작 액티비티를 호출한다면 너 이미 벌써 왔어 검색 결과를보고있는 경우 일 수 있습니다

페이지를 검색하고 다시 검색하십시오 활동 후 활동을 쌓는 대신, 뒤로 버튼을 여러 번 눌러야하는 경우, 당신은 단일 가기의 실행 모드를 추가 할 수 있습니다 귀하의 활동 목록에 기재하십시오 또는 귀하의 의도에 깃발 활동 단 하나를 포함하십시오 생성되는 활동의 새 인스턴스 대신 시작 활동을 부를 때마다 당신은 새로운 의도로 다시 전화를받습니다 사용자는 뒤로 버튼을 한 번만 누를 수 있습니다

이전 활동으로 돌아갑니다 두 번째 경우는 알림 주위입니다 뒤로 버튼이 백 스택을 팝하는 방법에 대해 이야기했습니다 자연스러운 결론은 뒤로 버튼은 각기 다른 업무에 관여한다 안드로이드 3

0 이후 그것은 당신이 발사대로가는 곳으로부터 단지 하나의 스택입니다 멋진 개요 화면이 있다는 것을 기억하십시오 작업 전환 그 점에 대한 알림 앱 내부 깊숙한 활동 당신은 정말로 뒤로 버튼의 첫번째 언론을 원하지 않습니다

즉시 실행기로 데려다 줄 것입니다 당신이 그 같은 화면을 볼 때마다, 뒤로 버튼은 다른 것을 수행합니다 앱에서 돌아가는 것 그것은 TaskStackBuilder가 들어있는 곳입니다 그것은 합성, 즉 가짜, 다시 스택

기본적으로 부모 활동을 기반으로합니다 매니페스트의 각 활동 항목에 첨부했습니다 어떤 식 으로든 사용자 정의 할 수 있지만 당신이 원한다면, 엑스트라를 추가하고 싶습니다 이렇게하면 사용자가 도청 할 때 아무런 작업이 없더라도 알림, 그들은 정확히 어디에 그들이있어 앱에있을 것으로 예상됩니다 마치 그들이 그들 자신을 항해 한 것처럼

당신은 그 (것)들을 몇 시간 그리고 노력 거기 도착하는 저장했다 링크 된 블로그 게시물을 확인하십시오 작업에 대한 모든 설명에 대한 설명 백 스택 및 일부 다른 플래그들 당신이 사용해서는 안되는 모드를 시작하십시오 글쎄, 그들이 완벽 할 때까지 더 나은 앱을 만드는 데 사용할 수 있습니다

감사 잠깐, 그게 뭐야? 위로 버튼? 그래, 그건 완전히 다르다 블로그 게시물에서 논의 해 보겠습니다 [음악 재생]

Better share targets with Direct Share (Android Development Patterns S2 Ep 7)

제가 뭔가를 공유한다는 건 보통 그 순간 무언가가 정말 멋지다고 생각했기 때문이겠죠 그 말인즉, 만약 공유하는데 시간이 너무 많이 걸린다면 저는 아마 그냥 창을 닫고 공유하는 걸 포기할 것입니다

저는 조안나 스미스입니다, 여러분이 가장 싫어할 유저 타입이죠 사람들과 더 멋지게 공유하기 위해 안드로이드 마시멜로에서 새로운 기능을 소개합니다 다이렉트 쉐어 다이렉트 쉐어를 이용하면 사용자가 공유를 눌러 당신의 어플에서 공유할 대상을 설정할 수 있습니다 쉽게 말하자면 현재는 이렇습니다 언니에게 보여줄 재밌는 기사를 발견하면 공유를 누르고 당신의 어플을 선택하죠

그러면 어플이 시작됩니다 좋아요 하지만 다이렉트 쉐어를 이용하면 바로 언니를 선택할 수 있고 해당 기사가 이미 언니와의 대화창에 보내질 준비가 되어있는 상태로 어플이 켜질 것입니다 좋은 이용자 경험이란 바로 이런 거죠 공유할 대상을 설정하기 위해서는 ChooserTargetService에서 그룹을 정의하고 당신이 만든 서비스에서 OnGetChooserTargets를 시행해야 합니다

이 방법은 공유할 대상을 제안함으로써 공유를 활성화시킬 것입니다 OnGetChooserTargets가 바로 당신의 어플을 매력적으로 만들어줄 방법입니다 가장 최근의 대화창 10개를 불러들여도 되고 아니면 사용자가 가장 아끼는 사람이 누군지 알아낼 다른 방법을 제안해서 사용자의 친한 친구 목록을 대신 작성해줘도 되죠 아니면 단체 대화창 같은 특정한 대화창에서 첨부파일이 많다는 것을 알게 되면 그 대화창이 공유 대상이 되겠죠 어떻게 할 것인지는 당신에게 달려 있습니다

저희는 그냥 당신이 더 나은 어플을 만들 수 있도록 기능을 제공하는 것입니다 자, 이제 매니페스트를 업데이트해야 합니다 신규 서비스가 항상 그렇듯 이것 또한 표시해야 하는데 다른 서비스와 달리 저희는 BIND_CHOOSER_TARGET_SERVICE 허가가 있습니다 이것으로 시스템과 연동하여 암시적 인텐트와 공유 대상을 정확히 교환할 수 있습니다 물론 이 서비스를 Chooser Target Service로 적용할 인텐트 필터도 같이 말이죠

이것으로 공유를 활성활시킬 모든 준비는 끝났는데 만약 사용자가 당신의 옵션 중 하나를 선택하면 어떻게 되죠? 어플이 설치된 후에 제대로 작동을 해야 하는데 그러기 위해서는 특정 활동에 맞는 암시적 인텐트를 설정해야 합니다 그럴려면 메타 데이터가 있어야 하죠 하지만 그게 전부에요 간단하죠 당신의 어플에서 다이렉트 쉐어를 이용하고 싶으시면 저희가 제공하는 재미있는 샘플을 구경해보세요

아래에 링크가 있습니다 아니면 저희 서류를 살펴보셔도 됩니다 하지만 더 중요한 건 계속 멋진 어플을 개발해주세요 [음악 재생]

Android app development tutorial #19( Android Xml Layout Design-2 )

지금 당신 당신 당신 좋아, 내 레이아웃 섹션 꿀벌 n을 완료했습니다 그리고 당신은 사용자가 볼 수 있습니다 섹션 리사이클 러가있는 내부 레이아웃을 제공했습니다

보기와 하나의 진행 막대가있는 리사이클 러 뷰는 모든 사용자 목록 괜찮아요받는 사람 메시지에서 여기 한 사람은 상대입니다 레이아웃은 부모 레이아웃이고 내부는 선형을 제공합니다 방향이 수평이고 내가 제공 한 안쪽의 레이아웃 오리엔테이션이 수직 인 또 다른 선형 레이아웃과 체중 중 하나는 영점 5이고 다른 하나는 괜찮습니다 편도 선형 레이아웃은 x에 대한 텍스트보기를 유지하고 다른 하나는 메시지는 괜찮아요

나는 배경을 chat background 이것은 드로어 블 내부에서 생성 한 셰이프입니다 폴더 괜찮아요 및 발신자에 대한 동일한이 차이를 한 적이 있다는 것입니다 그 부모의 끝은 부모의 오른쪽에있는 정렬이다 그것은 수령인에게 당신이 왼쪽에 부모 정렬을 볼 수 있다고 말했고 모든 것이 동일하고 단지 배경이 다른 것입니다 솔리드 및 솔리드 컬러 나는 사용하지만받는 사람 섹션에서 나는 획을 긋고 내가 제공 한 사용자 프로필에서 여기 상대 레이아웃과 동일하고 하나의 원형 이미지보기 내부 내가 평소에 가지고있는 외부의 Gradle 파일이고 텍스트보기입니다 사용자 이름을 보유하고 다른 사용자 이름은 텍스트보기로 연결되었거나 사용자의 상태를 볼 수 있습니다

그것은 오늘날 우리의 개요 인 온라인입니다 그래서 오늘 그 사람들이 업로드하고 있습니다 소스 코드도 그래서 내 설명에 소스 코드의 링크를 얻을 수 있습니다 그것은 오늘입니다 그리고 우리는 다음 강의로 계속 진행할 것입니다 내 채널을 더 구독하십시오

당신

Broadcast Receivers (Android Development Fundamentals, Unit 3: Lesson 7.3)

[음악 재생] 발표자 : Android 애플리케이션은 아무 것도하지 않습니다 특정 유형의 메시지가 나타날 때까지 안드로이드 운영 체제에 의해 방송, 또는 다른 응용 프로그램

앱이 어떤 방식 으로든 반응하기를 원한다고 가정 해 보겠습니다 시스템 이벤트가 발생할 때 예를 들어, 음악 앱을 만들 수 있습니다 그리고 앱을 실행하고 싶습니다 헤드폰이 연결되어있을 때 음악 재생을 시작하려면, 헤드폰을 제거하면 음악 재생이 중단됩니다 이러한 이벤트가 발생할 때 앱에서 어떻게 알 수 있습니까? 음, 여기에 우리는 브로드 캐스트 리시버가 있습니다

몇 분 후에 이해할 수 있습니다 이 전체 메커니즘은 구현과 관련됩니다 방송 의도와 방송 수신기의 그래서이 세션에서 우리는 방송 의도가 시스템 전반의 메시지를 방송하는 방법 다른 구성 요소와 방송 수신자의 청취 방법 해당 특정 방송 의도에 대해 또한 사용자 정의 브로드 캐스트를 작성하는 방법도 배웁니다 보안 문제에 대해서도 논의 할 예정입니다 로컬 브로드 캐스트를 사용하여이를 극복하는 방법 앱 내에서 브로드 캐스트를 전송할 수있게 해줍니다

대신 시스템 전체 응용 프로그램 브로드 캐스트 인 텐트는 브로드 캐스트되는 인 텐트 개체입니다 의사 소통을 돕는 의도 두 구성 요소 사이 따라서 시작을위한 메커니즘을 제공하는 것 외에도 응용 프로그램 활동, 의도 또한 방법으로 사용됩니다 시스템 전반의 메시지를 다른 구성 요소에 브로드 캐스트하는 방법 시스템에

이 메커니즘에서 여기에 방송 의도 사용 된 의도와 완전히 별개입니다 활동을 시작하려면 사용자가 현재 상호 작용하고있는 것을 보여 주며, 시작 활동에 보냅니다 달성하려는 하나의 활동에만 영향을줍니다 특정 작업 반면, 방송 의도는 백그라운드 작업입니다

사용자가 일반적으로 알지 못하는 sendBroadcast를 통해 전송됩니다 기본적으로 여러 응용 프로그램에 영향을 줄 수 있습니다 인 텐트를 수신하기 위해 등록 된 방송 수신기는 구성 요소입니다 어떤 일이 일어나고 있는지를 듣고 등록 할 수 있습니다 시스템 또는 응용 프로그램 이벤트의 경우, 그들이 응답으로 무언가를한다는 것을 의미합니다

방송되는 그 메시지에 응용 프로그램은 특정 들어오는 이벤트를 수신합니다 sendBroadcast에 의해 보내지고, 방송을 등록함으로써 리시버 방송 의도가 발생할 수 있음 특정 이벤트가 발생했을 때 시스템에서 체계 예를 들어, 화면을 알리는 방송 꺼 졌거나 배터리가 부족한 경우, 또는 그림이 캡처되었습니다

또는 다른 응용 프로그램에서 유래 할 수 있습니다 음악을 시작할 때 앱을 설정할 수도 있습니다 당신은 헤드폰에 연결합니다 따라서 메시지를 받으면 백그라운드에서 실행됩니다 그 헤드폰이 연결되어 있고 발사로 응답 귀하의 음악 응용 프로그램

방송 사업자 수신기는 사용자 인터페이스를 표시하지 않지만, 활동이 종료 된 경우에도 백그라운드에서 실행됩니다 예를 들어 음악 앱에서 알림을 게시하는 경우 다가오는 헤드폰 이벤트에 대해 사용자에게 알리기 위해 연결되면 상태 표시 줄 알림을 만들 수 있습니다 브로드 캐스트 이벤트가 발생할 때 사용자에게 경고합니다 따라서 방송 수신기가 구현됩니다 Android 브로드 캐스트 수신기 클래스 확장 onReceive 메소드를 오버라이드 (override)하는 것

특정 브로드 캐스트 인 텐트를 청취해야합니다 브로드 캐스트 인 텐트가 수신되어 전달 될 때 onReceive에게,이 시점에서, 메소드 필요한 모든 작업을 수행하는 데 5 초가 걸립니다 수신기가 파괴되기 전에 브로드 캐스트 리시버가 필요하지 않습니다 항상 뛰는 것

일치하는 인 텐트가 감지 된 경우, Android 런타임 시스템이 자동으로 실행됩니다 전화하기 전에 방송 수신기를 시작하십시오 onReceive 메소드 시스템이 부팅을 완료하는 것처럼, 또는 무선 네트워크 연결이 끊어집니다 Wi-Fi 상태가 변경 될 때 따라서 표시된대로 이러한 작업을 지정할 수 있습니다

앱의 인 텐트 필터 내부 화면 앱이 맞춤 의도를 브로드 캐스팅 할 수도 있습니다 이는 개발자가 정의한다는 의미입니다 사용자 정의 인 텐트에는 사용자가 화면에서 제공 한 데이터가 포함될 수 있습니다 해당 응용 프로그램이 사용자 정의 의도를 브로드 캐스팅하도록하려면, 우리는 하나를 보내야합니다 관심있는 모든 방송에 인 텐트를 브로드 캐스트하려면 수신기에는 두 가지 주요 방송 클래스가 있습니다

일반 방송을 사용하십시오 sendBroadcast 메서드를 사용하여 보내집니다 또는 주문 방송과 함께 전송됩니다 sendOrderBroadcast 메소드와 함께 따라서 사용자 정의 의도를 전송 한 후, 수신기를 등록해야합니다

사용자 정의 의도 및 의도에 대한 동작을 정의합니다 androidmanifestxml 안의 수신기 용 필터 SendBroadcast 메서드가 완전합니다 비동기, 즉 브로드 캐스트 이벤트 또는 인 텐트 모든 수신기에 의해 수신된다

비동기식으로 수신기는 정의되지 않은 순서로되어 있으며, 종종 동시에 효율적이지만 수신자는 다른 사람의 결과를 사용할 수 없습니다 수신기 sendOrderBroadcast는 한 번에 하나의 수신자에게 전달됩니다 각각의 수신기가 인 텐트를 실행함에 따라, 결과를 다음 수신자에게 전파 할 수 있으며, 또는 방송을 완전히 중단시킬 수 있습니다

그래서 그것은 다른 수신기들에게 전달되지 않을 것이다 다른 수신기는 제어 할 수 있습니다 일치의 androidpriority 속성과 함께 의도 필터 우선 순위가 동일한 수신자는 임의의 순서로 실행됩니다

수신자가 결과를 전파 할 수있게하려면 또는 방송을 중단하려면 방송을 주문해야합니다 sendOrderBroadcast를 사용합니다 이 방송 전체 메커니즘이 어떻게 작동하는지 이해합시다 수신기가 구현 될 수있다 브로드 캐스트 리시버를 생성하기 위해서는 다음 단계가 필요합니다 새로운 클래스를 만들어야합니다

브로드 캐스트 리시버의 서브 클래스입니다 이베이스의 onReceive 메소드를 구현 한 클래스 수업 이벤트가 발생할 때마다 Android onReceive 메서드를 호출합니다 응용 프로그램이 특정 브로드 캐스트 인 텐트를 청취합니다 방송 수신기를 등록함으로써 두 가지 방법으로 코드를 등록 할 수 있습니다

(예 : 활동 내 또는 매니페스트 파일 내) 방송 수신기들을 정적으로 등록하기 위해, AndroidManifestxml에 등록하십시오 방송을 등록함으로써 동일한 효과를 얻을 수있다 수신기를 프로그램 적으로 또는 동적으로, 액티비티 클래스의 register receive 메소드 사용 적절한 구성 의도가있을 때 함께 그 대상과

화면에서 보듯이 Android 브로드 캐스트 수신기를 확장하는 클래스입니다 이런, 이런 여기서 onReceive 메소드를 볼 수 있습니다 보시다시피, 이것은 브로드 캐스트 수신기가 Android 브로드 캐스트 수신기를 확장하여 구현됩니다 onReceive 메소드를 오버라이드 (override)합니다

그래서 CustomReceiver라는 새로운 클래스를 만들었습니다 BroadcastReceiver를 확장 중입니다 그래서 방송 수신기를 만든 후에, 우리가 아는 다음 단계는 그것을 등록하는 것입니다 AndroidManifest로 한 번 시도해 보겠습니다 여기서 수신기 항목을 추가해야합니다

하나 이상의 인 텐트 필터를 포함하고, 각각은 브로드 캐스트 인 텐트의 액션 문자열을 포함한다 수신자가 요구되는 예제에서 볼 수 있듯이 특정 의도를 나열합니다 그리고 다른 구성 요소와 마찬가지로, 우리는이 receiver 요소를 application 요소 안에 정의한다 대안 적으로, 정적 등록을 통해, 수신자를 등록 및 등록 취소 할 수도 있습니다 컨텍스트 클래스를 통해 한 번에 수신기 메서드를 등록합니다 onCreate 또는 onResume 활동 메소드에서

그리고 onDestroy에서 수신기 메소드를 등록 취소합니다 또는 onPause 액티비티 메소드에서 슬라이드의 맨 아래에 코드 스 니펫이 표시됩니다 그리고 당신이 볼 수 있듯이, 활동의 등록 수신기 방법 적절하게 의도를 구성했을 때 함께 수업을 진행하다 개체에 대한

동적으로 registerReceiver 등록을 잊지 마라 수신자 등록 방법을 사용하여 이것을 잊어 버리면 안드로이드 시스템 유출 된 브로드 캐스트 리시버 오류를보고합니다 예를 들어, 수신을 등록한 경우 inResume 활동의 메소드, onPause 메서드 내에서 등록을 취소해야합니다 방송 수신기는 Android의 매우 중요한 구성 요소입니다

몇 가지 중요한 시스템 목록이 있습니다 액션 런타임이 변경된 것과 같은 이벤트는, 또는 시스템 부팅이 완료되었을 때, 그리고 훨씬 더 이 방송 활동을 확인해보십시오 이 링크에서 onReceive 메소드 구현에 대해 이야기했습니다

방송 수신기 클래스의 기본 클래스의 방송 수신기가 갖는 이벤트가 등록 된 사건, onReceive 메서드 수신자의 전화 번호는 Android 시스템에 의해 호출됩니다 여기서는 onReceive 메서드를 보여줍니다 두 개의 인수를 취합니다 문맥

액세스에 사용할 수있는 컨텍스트 개체 추가 정보 또는 서비스 또는 활동 시작 두 번째로, 의도 객체, 액션 당신은 수신기를 등록하는 데 사용할 수 있습니다 사용자 지정 브로드 캐스트, 동작 문자열 고유 한 브로드 캐스트 이벤트를 식별하는 일반적으로 응용 프로그램의 Java 패키지를 사용합니다 이름과 텍스트 예를 들어, 다음 브로드 캐스트 고유 한 동작 문자열을 포함하는 의도, 패키지 이름을 접두사로 포함합니다 이 작업을 설명해야합니다

활동 및 방송 수신기에서도 마찬가지입니다 당신은 우리가 어떻게 사용자 정의 의도를 보냈는지 알고 있습니다 우리가 가지고있는 sendBroadcast 메소드를 사용하여 이전 슬라이드에서 배웠습니다 그래서 여기에 다음을 사용하여 액션을 첨부하는 방법이 있습니다 사용자 정의 인 텐트

등록을 취소하는 코드는 다음과 같습니다 귀하의 등록 된 방송 수신기, unregisterReceiver 메소드를 호출하여 Android는 보안 기능과 작업을 통합합니다 개발자 및 장치 구현 자와 Android 플랫폼 및 생태계를 안전하게 유지합니다 우리가 방송 수신기로 작업 할 때, 보안 측면에서 몇 가지 사항을 고려해야합니다

그래서 하나씩 이해합시다 Android 애플리케이션에서 브로드 캐스트 사용 문맥과 함께 사용되는 수신기처럼 때로는 문제를 일으킨다 다른 응용 프로그램에서도 수신 할 수 있습니다 따라서 앱 간 경계를 고려해야합니다 의도 네임 스페이스는 전역입니다

의도 동작 이름 및 기타 문자열이 자신이 소유 한 네임 스페이스에 쓰여 있거나, 당신은 다른 응용 프로그램과 충돌합니다 등록 수신자 메소드를 사용할 때, 다른 응용 프로그램이 브로드 캐스트를 보낼 수 있습니다 등록 수신기에 브로드 캐스트를 보낼 수있는 사람을 제어 할 수 있습니다 사용 권한을 사용하여

그리고 방송을 보내거나 메시지를 보낼 때, 일반적으로 다른 모든 응용 프로그램이이 브로드 캐스트를 수신 할 수 있습니다 그러나 이러한 브로드 캐스트를 수신 할 수있는 사용자를 제어 할 수도 있습니다 권한을 통해 즉, 액세스 권한을 적용 할 수 있습니다 발신자 또는 수신자

전송할 때 권한을 시행하려면, 당신은 허가 인수를 제공한다 방송 전용 수신기를 보내려면 요청하여이 허가를 받았다 manifestxml 파일에 사용자 권한 태그 포함 방송을 수신 할 수 있습니다 이 수신기는 브로드 캐스트 인 텐트를 수신합니다

필요한 권한이 있어야합니다 그리고 수신 할 때 허가를 얻기 위해, 등록 할 때 허가를 당신의 수신기, registerReceiver 또는 AndroidManifestxml의 수신자 태그에 추가하십시오 그래서 유일한 방송사는 사용자 권한을 사용하여이 사용 권한이 부여되었습니다 태그가 AndroidManifest

xml에 있습니다 수신자에게 의도를 보낼 수 있습니다 보안 문제가 전혀 존재하지 않습니다 로컬 브로드 캐스트 매니저 클래스를 사용할 때 보안 통신 메커니즘을 구현하는 데 사용 되었기 때문에 앱 구성 요소 내에서 로컬 브로드 캐스트 관리자를 사용하여 브로드 캐스트 및 등록 수신기는 거기에서 안전한 방법을 제공합니다 앱 간 통신이 없습니다

슬라이드 하단의이 예 로컬 브로드 캐스트 관리자를 사용하여 보내고받는 방법을 보여줍니다 방송 인 텐트 오브젝트를 생성하는 것만 큼 쉽습니다 그 의도 객체를 사용하여 sendBroadcast를 호출하고 같은 registerReceiver에 대해서도 마찬가지입니다 onResume에서 의도 필터는입니다

지정된 동작을 위해 수신기를 등록하기 위해 생성됩니다 의도 필터 생성자는 작업을 매개 변수로 사용합니다 따라서이 작업으로 브로드 캐스트를 수신 할 수 있습니다 이 코드는 리시버를 등록하는 방법을 보여줍니다 로컬 브로드 캐스트를 사용하여 의도 필터 사용 매니저와 registerReceiver

그 후에, 수신기는 능력을 가지고 있습니다 지정된 액션으로 브로드 캐스트 받기 ACTION_CUSTOM_BROADCAST 자세한 내용은 참조 자료를 확인하십시오 방송 수신기에 대한 링크 다음 실용적인 방법은 구현시 실습에 도움이됩니다

방송 수신기의 계속 배우고 지켜봐 주셔서 감사합니다

Broadcast Receivers DEMO (Android Development Fundamentals, Unit 3: Lesson 7.3)

[음악 재생] 안녕하세요 다시 오신 것을 환영합니다

이제 브로드 캐스트의 개념을 이해하게되었습니다 수신기, 이제 작은 데모를 살펴 보겠습니다 여기에 응용 프로그램을 만들겠습니다 나는 그것을 MyBroadcastReceiver와 Demo라고 부를 것이다 그리고 최소 15 개의 API 및 빈 활동으로 사용하려고합니다

활동 이름을 주 활동으로 명명하십시오 activity_main과 같은 레이아웃 따라서이 응용 프로그램에는 두 부분이 있습니다 먼저, 내장 브로드 캐스트 리시버를 호출 할 것입니다 배터리가 낮은 방송 수신기라고 가정 해 봅시다

두 번째 부분은 사용자 정의 브로드 캐스트 리시버 호출입니다 그래서, 내가 무엇을 할 것인지, 나는 그 방송을 방아쇠를 당길 것이다 수신자 메시지를 수신한다 그리고 다른 응용 프로그램을 만들어서 이 메시지를 경청하십시오 그리고 거기에 방송 수신기가있을 것입니다

걱정하지 마라, 우리는 그 순간에 도착할 것이다 그러나 먼저 우리가 첫 번째 부분을 이해하게하고, 그것이 내 내장형 방송 수신기를 정확히 호출 할 수있는 방법입니다 먼저 좋은 UI를 만들어 보겠습니다 모든 항목을 삭제하면 텍스트보기가 생성됩니다 그리고이 텍스트를 방송 수신기라고 부를 것입니다

글꼴을 늘리면 30sp가됩니다 좋아요, 철자법을 바로 잡을 겁니다, 폭풍, 방송 수신기 큰 확인 다음으로 버튼을 만들겠습니다 그리고 그 버튼을 In-Built라고 부르 겠어요

방송 수신기 그래서이 사람이 내 내장 방송을 부를거야 리시버 따라서이 버튼을 호출하려면, XML 내부에 OnClick 특성을 만들어야합니다 그래서 나는 OnClick을 할 것이고, 나는 메소드 이름은 callInbuilt입니다

승인, 자바 파일에 같은 메소드 이름을 넣어야합니다 Alt, Enter– 거기 있네 큰 그래서 나는 코드를 넣을 메소드가 있습니다 내 브로드 캐스트 리시버에 전화하기

우리 모두는 이것을 개념으로 보았습니다 방송 수신기를 생성하기 위해, 클래스를 확장하여 Java 클래스를 만들어야합니다 BroadcastReceiver 그런 다음 매니페스트 파일에 항목을 입력해야합니다 그래서 나는 그것을 수동으로하거나 쉬운 방법이 있습니다

개발 패키지를 마우스 오른쪽 버튼으로 클릭하십시오 New로 이동하십시오 기타로 이동하십시오 그리고 당신의 방송 수신기가있을 것입니다 그것을 클릭하고 브로드 캐스트 리시버의 이름을 지정하십시오

BroadcastMy1이라고 부르자 이름을 지정할 수 있습니다 그럼 BroadcastFirst로 만들어 보겠습니다 또는 BroadcastInBuilt 그래, 그건 의미가있어

BroadcastInBuilt 이제 내보내기 및 활성화되었습니다 그것을 내 보냅니다 다른 응용 프로그램이 그것을 사용하거나 또는 – 그리고 당신은 그것을 가능하게하고 싶습니다 그래서 당신에게 달렸습니다

다른 응용 프로그램을 원하지 않으면 이 방송 수신기를 사용하려면이 확인란을 선택 취소하십시오 현재로서는 두 가지를 모두 확인하고 있습니다 이제 이걸 볼 수 있습니다 방송 수신기의 도트 Java 파일이 있습니다 그리고 그 안에, 당신이 슬라이드에서 본 것처럼 또한, 하나의 추상적 인 방법이있다

재정의해야합니다 그건 onReceive입니다 그리고 이것은 당신이 코드를 제공 할 곳입니다 브로드 캐스트 또는 메시지에서 데이터를 수신하려면 방송되었습니다 그리고 이것은 모든 멋진 응용 프로그램, 모든 소셜 애플리케이션 – WhatsApp, Facebook, Twitter – 알림 코드를 입력합니다

추가 세션에서 알림 코드를 배우게됩니다 그러나 지금 당장은이 특정 방송 호출되면, onReceive 메소드가 나오고, 그리고 이것은 코드를 넣는 곳입니다 당신은 당신의 사용자를 보여주고 싶습니다 알림을 학습하면 알림 코드를 입력합니다 이리

이제 매니페스트 파일에서 체크 아웃 할 수 있습니다 등록되었거나 등록되지 않았습니다 알았지? 매니 페스트 파일에이 수신기가 실제로 등록되어 있습니다 따라서 수동으로 입력 할 필요조차 없습니다 그래서 이것이 이름입니다

이제 한 가지 더 취해야 할 것이 있습니다 수신기 클래스에 코드를 넣기 전에주의를 기울여야합니다 이 특정 수신기에 동작을 제공해야합니다 또는이 특정 구성 요소 우리 모두는 정확히 어떻게 할 수 있는지 알고 있습니다

그것은 의도 필터 태그의 도움을받습니다 어떤 종류의 행동을 원하니? 이 수신기가 듣고 싶어 이제는 내장 된 메시지가 필요합니다 나는 관습을 만들지 않을거야 그래서 나는 내장 된 메시지를 듣게 될 것입니다

자, 어떤 종류의 메시지가 될 수 있습니까? 모든 메시지가 될 수 있습니다 당신의 힘이 연결될 때 일 수 있고, 또는 전원이 연결되지 않았거나 배터리가 – 여기에 넣으려는 모든 내장 된 메시지, 여기에 넣을 수 있습니다 따라서이 수신기는 이러한 메시지에 반응합니다 그러므로 배터리를 낮추게하십시오 따라서 특정 비율 후에, 당신의 건전지가 낮게되는 경우에, 이 브로드 캐스트 리시버가 호출됩니다

카테고리를 넣으려면 카테고리를 넣을 수 있습니다 저것의 아무 필요도 없다, 그러나 그렇습니다, 그것은이다 당신이 원한다면 좋은 연습 기본적으로 각 구성 요소 이 기본 범주가 있습니다 이제는이 특정 수신기가 호출됩니다 배터리 수명이 단축 될 때마다 특정 비율, 어쩌면 20 %, 어쩌면 15 %보다, 사용중인 장치에 따라 다릅니다

그러나 당신이 행동에서이 수신자를 볼 때마다, 이제 두 개의 수신기가 보일 것입니다 첫째, 수신기 당신이 방금 만든 것입니다 그리고 어디서나 응용 프로그램을 실행하고 있습니다 지금 어디서나 – 또는 사용할 장치를 선택하십시오 해당 장치에는 자체 수신기가 있어야합니다

Android를 사용하고 있다면 전화, 배터리가 15 % 또는 20 % 이하로 떨어지면, 너는 통고를 받는다 이미 앉아있는 수신기가 있습니다 누가 저전력 배터리를 청취하는지 전원 또는 배터리 부족 따라서 두 번째 수신기를 만들었습니다 이제 두 가지 알림이 표시됩니다

나는 알림을 만들지 않을 것이다 그러나 나는 축배를 확실히 창조 할 것이다 그래서 토스트, 내가 그것을 알 수 있도록, 좋아, 내 토스트가 호출되었습니다 그래서 내 수신자가 처리되고 있습니다 그래서 컨텍스트 객체가 필요합니다

브로드 캐스트 수신기 클래스 자체에는 컨텍스트가 없습니다 목적 그래서 여기에 넣을 수 없습니다 그러나 onReceive 메서드에는 컨텍스트 개체가 있습니다 그래서 나는 맥락을 넣을 수 있습니다

그리고 내가 보여주고 싶은 메시지는 배터리가 부족하다고 가정 해 봅시다 청구하십시오 원하는 기능을 무엇이든간에 너 여기두고 싶어 요금 그리고 나서 요금

그리고 나서 보여줘 큰 좋아, 일단 그렇게하면 지금해야 할 일 모두 이 응용 프로그램을 실행하는 것입니다 맞습니까? 하지만 지금 당장 버튼을 클릭하면 아무것도 안 일어날거야 버튼 하나만있을거야

그리고 너는 아무것도 할 수 없을거야 OnClick 내부에 제공된 코드가 없으므로 방법 그래서 여기 보시나요? 아무것도 일어나지 않고있다 그렇다면 방송 수신기를 어떻게 불러 옵니까? 우리 모두는 그것을 압니다 의도라는 이름의 학급 만의 도움으로, 맞습니까? 의도, i1은 새로운 의도와 동일합니다

그리고 이번에는 의도적으로 행동을 취할 것입니다 하나 더 죄송 해요 우리는 여기에 의도를 넣을 필요조차 없습니다 왜? 기본적으로 이미 무엇을 듣고 있습니까? 배터리가 부족합니다

그리고 배터리가 부족하면 배터리가 작동합니까? 배터리가 부족한 경우 그래서 우리는이 의도 부분에 도달 할 것입니다 우리가 주문 수신기를 할 때 그럼 지금 당장 보자 그래서 현재 로선 배터리가 적지 않다는 것을 알 수 있습니다

그렇다면 어떻게 사용자 정의 할 수 있습니까? 그래서 내 응용 프로그램이 실행 중입니다 그렇다면이 특정 배터리 전원을 어떻게 사용자 정의 할 수 있습니까? 더보기로 이동하십시오 여기에서 배터리 옵션을 볼 수 있습니다 이제, 먼저 배터리가 아닌지 확인해야합니다 AC 충전기에

켜져있어 AC 충전기에 아직도 있다면, 그 건전지 낮은 것에 결코 도달하지 않을 것이다 배터리 상태가 충전되는 대신 OK입니다 충전기 연결을 없으면, 이제 배터리 수준을 낮추십시오 보시다시피, 당신이 그것을 낮추 자마자, 두 가지 알림이 나타났습니다

하나는 시스템에서 왔는데 여기에서 알림을 보았습니다 그리고 하나는 축배였습니다 내가 너를 위해 다시 해줄거야 좋아, 너 언제 내려 가니? 배터리 부족 요금을 청구하고 거기에서 통보하십시오

그래서 그게 제가 말하고있는 것입니다 내장 브로드 캐스트 리시버를 호출 할 수있었습니다 여기에 자신의 응용 프로그램에서 호출하지 않고도 그 방송 수신기가 듣고 있기 때문에 특정 행동을 위해 그것은 낮은 배터리 전력입니다 그래서 이것이 당신이 호출하는 방법입니다

이제 맞춤형 브로드 캐스트 수신기에 대해 이야기 해 봅시다 그래서 그 버튼을 다시 만들 것입니다 나는 Inbuilt라고 부를 것이다 아니 나는 그것을 외부라고 부를 것이다

그것을 Custom이라고 부르세요 맞춤형 방송 됐어 그리고이 특정 단추를 부를 때, 나는 관습에 전화해야 해 그래서 우리는 정말로 필요 없다는 것을 알았습니다

이 호출은 내장되어 있습니다 괜찮아 당신은 아무것도 넣지 않아도됩니다 그러나 어떤 시점에서, 당신이 그 버튼을 클릭 할 때, 당신이해야 할 일은 당신이 할 수있는 일입니다 이제는 내 맞춤 방송을 들려주는 곳입니다

수신기 코드 하지만, 우선, 나는 필요하다 커스텀 브로드 캐스트 리시버를 생성합니다 어떻게해야합니까? 개발 패키지를 마우스 오른쪽 버튼으로 클릭하고 새로 만들기로 이동 한 다음, 다시, 기타 및 브로드 캐스트 리시버로 이동하십시오 그리고 그것을 Custom Broadcast라고 부를 것입니다

그리고 이것 안에서, onReceive 안에서, 나는 우리가 텍스트라고 부르는 건배를 올릴거야 텍스트를 보자, 보자, 문맥, 첫 번째 수신자가 호출되고 길이가 짧습니다 쇼 큰 그래서 내 onReceive 방법이 준비되었습니다

그리고 수신기가 준비되었습니다 이제 내가해야 할 일은 내 매니 페스트 파일로 이동하는 것뿐입니다 내 매니페스트 파일에 이미 등록되어 있습니다 내가해야 할 일은 여기에 행동을 제공하는 것뿐입니다 그러면 어떻게 행동을 제공합니까? 의도 필터를 제공합니다

그리고 나는 행동을 제공 할 것이다 자, 이번엔, 나는 원하지 않는다 모든 내장 작업을 제공합니다 내 자신의 행동을 쓰고 싶다 커스텀 브로드 캐스트 리시버가 될 수 있습니다

이것이 실제로 각각의 모든 애플리케이션 – WhatsApp, Facebook 또는 Twitter – 그들은 그들 자신의 행동을 취한다 그리고 그것은 그들 자신의 것입니다 그걸 알 수는 없지, 그렇지? 자신 만의 응용 프로그램을 만드는 경우, 당신도 당신 자신의 행동을 취할 필요가 있습니다 뭐든지 될 수있어, 알았지? 그래서 저는 [[? commy

dotlalitownreceiver ?] 무엇이든 넣을 수 있습니다

나는 이것을 넣을거야 뭐든지 넣을 수 있습니다 이 액션 이름을 기억하십시오 이 작업 만 수행하면 이 브로드 캐스트 리시버가 호출됩니다 그리고 다시, 나는 디폴트를 두겠다

좋아요, 그래서이 수신기에도이 행동을 제공했습니다 지금해야 할 일은, 나의 주요 활동에서, 이런 종류의 수신기를 호출하는 코드를 넣어야합니다 그럼 어떻게 하죠? 보내다 다시, 나는 의도를 사용할 것이다 i1, 새로운 의도

이제 저는 행동을 취할 행동을 취할 것입니다 그리고 나는 놓을 수있다 그 행동은 방금 여기에 보관했던 것과 정확히 같아야합니다 실수를하지 않도록 동일한 동작을 복사하십시오 그것을 쓰는 동안

그런 다음 i1addcategory 다시 카테고리 또한 기본값과 동일한 범주를 지정하십시오 다시, 나는 복사하고있다 그런 다음 여기에 붙여 넣으십시오

그 후, 일단 당신이 당신의 의도를 준비하면, 이 메시지를 방송하면됩니다 이 행동을 방송하면 방송 될 것이다 전체 안드로이드 시스템 그리고 누구든지 방송 수신기는 이 특정 행동을 경청하면, 그들은 부름을받을 것이다 그러면 어떻게해야합니까? 방송을 보내고 귀하의 의도를 전달하십시오

이제, 전체 Android 시스템으로 전송됩니다 그리고 애플리케이션이 이미 설치되어 있다면, 브로드 캐스트 리시버가 설치되어 있어야합니다 이 특별한 행동을 위해 그래서 항상이 메시지를 듣게 될 것입니다 그리고 그것은 호출됩니다

브로드 캐스트 수신기 클래스가 호출됩니다 그리고 그것은 onReceive로 갈 것입니다 수신자를위한 건배가 있습니다 그리고 그것이 당신의 결과물이 될 것입니다 그 버튼을 클릭하면 어디 보자

실행 버튼을 클릭하십시오 자, 이제이 응용 프로그램을 실행 해 봅시다 실행 버튼을 클릭하십시오 좋아, 이제 내 응용 프로그램이 실행 중임을 알 수 있습니다 먼저이 버튼을 클릭하십시오

그건 맞춤 방송이고, 저에게 축배를 보여줘야합니다 됐어 그래서 정말로, 내 방송 수신자는 이것을 위해 등록되었습니다, 그 동일한 메시지를 듣고 있습니다 그것이이 수업으로 돌아간 이유입니다 이 토스트 메시지를 실행했습니다

이것이 맞춤형 방송 수신기를 만드는 방법입니다 이제, 그것은 응용 프로그램 내에 있었던 것입니다 이 브로드 캐스트 리시버가 생성되었습니다 이 응용 프로그램 내에서 새 응용 프로그램을 만들면 어떻게됩니까? 그리고 그 응용 프로그램에서 나는 또 다른 방송을 만든다

수신기 및 그 방송 수신기 이 같은 메시지, 동일한 관례를 듣고있다 메시지? 이제 어떻게 될까요? 음, 이번에는 두 개의 방송 수신기 호출됩니다 즉, 하나는이 응용 프로그램 자체 내부입니다 그리고 다른 하나는이 두 번째 응용 프로그램에서 왔습니다 그럼 그냥 보자

나는 또 다른 프로젝트를 만들 것이다 새 프로젝트 나는 빈 활동을 위해 MyBroadcastDemo02라고 부를 것이고, 마침 이 특정 제 2 적용에서, 나는 정말로 아무것도 할 필요가 없다 하나의 브로드 캐스트 수신기 만 포함하면됩니다

나는 심지어 UI에 대해 걱정하지 않는다 이 응용 프로그램을 열지 않기 때문에 나는이 어플리케이션을 거기에 놓기를 원한다 듣는 브로드 캐스트 수신기가 있어야합니다 특정 메시지

그게 전부 야 그래서 나는 단지 New에 가서 다른 사람들에게 갈 것입니다 Broadcast Receiver를 클릭하고 MyBroadcast02라고하십시오 몹시 떠들어 대다 그리고 onReceive 내부에서 다른 메시지를 넣을 수 있습니다

toastmaketextcontext 두 번째 수신자, 네, 제 2 수신기 – 전화가 무엇인지보고 길이가 짧고 점으로 표시됩니다 자, 여기이 전화는 오직 호출됩니다 이 특정 방송에 행동을 제공하면 수신자가 매니페스트 파일에 있어야합니다

보시다시피 이미 등록되어 있습니다 같은 행동을해야합니다 이전 브로드 캐스트 리시버에주고 있었다 동일한 메시지 방송을 듣고 싶다면, 그래서이 전체 의도 필터를 복사하십시오 수신기에 붙여 넣으십시오

이제이 방송 수신기는 그 같은 메시지를 듣고 당신이 할 일은 단지 설치하는 것뿐입니다 한 번만이 응용 프로그램을 실행하십시오 에뮬레이터 또는 장치에 설치됩니다 당신이 장치를 사용한다면

일단 설치되면 해당 응용 프로그램을 닫을 수 있습니다 내가하는 일의 용도가 무엇인지 말해 줄께 이 모든 게 여기에 있습니다 자, 내 응용 프로그램이 설치되어 있습니다 신청서를 닫습니다

그리고 내 캐시에서 응용 프로그램을 닫습니다 자, 내 응용 프로그램이 실행되고 있지 않습니다 주 메모리에 없습니다 여기 내 요점은 WhatsApp 애플리케이션을 보는 것입니다 또는 Facebook 응용 프로그램 또는 Twitter 응용 프로그램

그들은 심지어 백그라운드에서 실행되지 않습니다 그들은 닫혔다 그러나 누군가가 너에게 통지를 보내면, 당신은 여전히 ​​통보를받을 수 있습니다 방법? 음, 방송 수신기 항상 특정 메시지를 듣고 있습니다 그래서 그것이 내 요점이다

이 특정 예에서 내부에 하나의 응용 프로그램이 있음을 확인하십시오 방송 수신기가 있습니다 그리고 그 메시지를 듣고 있습니다 그래서 그 방송 수신기는 호출 될 것입니다 이제 또 다른 응용 프로그램이 있습니다

누가 그 똑같은 방송을 듣고 있니? 수신기 또는 동일한 메시지 이제, 그 방송 수신기는 또한 둘 다 듣기 때문에 호출된다 동일한 메시지 먼저 이것을 시도해 봅시다 이것을 클릭하십시오

만나다? 두 번째 수신자 호출과 첫 번째 수신자 호출 좋았지? 이것이 방송을 실제로 처리 할 수있는 방법입니다 수신기가 내장되어 있거나 맞춤 수신기라고 부르는 것 네 물론이 버튼이 필요 없습니다

따라서이 버튼을 제거하려면, 여기에서이 단추를 제거 할 수도 있습니다 네,이 버튼을 제거 할 수 있습니다 그리고 지금은이 방법조차 필요하지 않습니다 됐어 큰

그래서 그것은 방송 수신기의 작은 데모였습니다 귀하의 GitBook에 실린 실습을 시도하십시오 고맙습니다 [음악 재생]

Android Kotlin Development Masterclass using Android Oreo on Udemy – Official

Android Oreo Kotlin에 오신 것을 환영합니다 masterclass

Kotlin을 사용하는 Android 용 앱 언어 그래서 제 이름은 팀 부칼 카입니다 나는이 코스의 강사이다 내 공동 강사 장 폴 로버츠와 지금 나는 전문 소프트웨어를 해왔다 30 세가 넘은 개발 교사 몇 년 동안 나는 약 200,000 내 다양한 ​​온라인 학생 프로그래밍 과정

너도 알지 중요한 것은 프로그래밍은 열정이 있다고 가르쳐줍니다 그렇게하는 것에 대해, 그리고 그들이 전문 프로그래밍 경험 그들이 이해한다면 업계 최고의 교육을위한 비판적 필요성 연습을하고 또한 기술을 습득했습니다 복잡한 주제를 설명하기 위해 정말 이해하기 쉽다 너 가고있어

이 과정에서 그 이상을 얻으려면 이제이 과정은 원하는 사람을위한 것입니다 Kotlin을 사용하여 Android 앱을 만들 수 있습니다 이제 코스는 실제로 내 가장 많이 팔린 Android 코스 Java를 사용하지만 다시 작성되었습니다 Kotlin과 그것은 거대한 코스이고 결국 약 50 시간의 길이가된다

내 자바와 같은 크기로 맞추기 이 과정의 버전과 실제로 당신이 도구에서 모든 것을 다룹니다 Android에서 프로그래밍하거나 프로브해야합니다 Android 앱을 바로 프로그래밍하는 방법 자신 만의 것을 만드는 것까지 그래서 나는 정말로 당신을 여행하게 할거야 Android 앱 개발 이해 한 번에 한 프로그램 씩 Kotlin을 사용합니다

이제 모든 것이 실제로 설명됩니다 세부 사항은 코 틀린조차있다 튜토리얼 섹션을 사용하지 않은 경우 전에 코 틀린 도전 과제는 다음과 같습니다 더 나아갈 방향 기술 이해 및 테스트 내가 코스를 지킬뿐만 아니라 업데이트되었지만 이 과정의 내용에 대한 답변 신속하게

그래서 결국 물론 당신은 확실한 이해를 가질 것입니다 Kotlin을 사용하는 Android 앱 개발 Android에 신청할 준비가됩니다 앱 개발 프로그래밍 위치 또는 프리랜서 직무를 맡아 라 그래서 이상 이 과정의 학생은 Android를 만드는 방법을 배우고 싶어합니다 앱

따라서 이전에 프로그래밍 언어가 필요합니다 이제 다른 요구 사항은 없습니다 이 과정을 수강하는 것 이외에는 컴퓨터에 대한 액세스 및 당신의 첫 번째 얻으려고 또는 더 나은 프로그래밍 작업 또는 소프트웨어 개발자로서의 프리랜서 이 과정은 확실히 당신을 도울 것입니다 지금 당장 코스를 들러보세요 이 페이지에 대한 설명 및 리뷰 자세한 내용을 보거나 미리보기를 할 수도 있습니다

이 페이지의 일부 내용도 마찬가지입니다 나는 당신을 안으로 볼 것을 고대합니다

Sample Course Training – Android Kotlin Development Masterclass on Udemy – Official

알았어 나는 그 도전을 풀어 줘

마지막 순간에 오른쪽으로 주었다 우리가 필요로하는 것부터 시작하는 비디오 할 일은 새로운 것의 왼쪽 가장자리를 제한하는 것입니다 숫자 나는 당신을 클릭 할 것입니다 새 번호로 문자를 보낼 때 알아 그 왼쪽 가장자리를 레이아웃의 왼쪽 가장자리와 오른쪽 가장자리에서 오른쪽 가장자리까지 레이아웃을 사용하여 두 비행기에서 크기를 조정해야합니다

이미 10 일에 복제본으로 설정해야합니다 이 경우입니다하지만 귀하의 개정은 당신이 그들을 변경하고 세 가지를 확실히 설정하고 싶다 상인들은 모두 8 명으로 설정되어 있습니다 그들은 우리가 볼 수있는 것처럼 여기에 설정되어 있습니다

검사관이 마침내 수평 슬라이더를 50으로 설정하십시오 그것은 내 사건에서 이미 다시는 아니지만 작업 텍스트 뷰가 설정되어야합니다 또한 스크롤 내용으로 감싸기 위해 설정됩니다 텍스트보기를 클릭하겠습니다 너는 그것들이 사과를 위해 설정되어 있음을 볼 수있다

핵심 콘텐츠 및 슬라이더가 있어야합니다 50으로 설정하고 왼쪽과 오른쪽으로 오른쪽 여백은 같은 값으로 설정됩니다 지금 우리는 8을 사용하고 있지만 16은 될 것입니다 그것이 단지이기 때문에 지금도 좋아 어느 한 문자를 표시 조금 길어 보일지 모르지만 나는 오른쪽에있는 속성은 텍스트 크기를 18보다 큰 크기로 설정하십시오

SP 및 대담한 버튼을 설정하기 만하면됩니다 아래에 내가 여기 와서 너는 할 수있어 굵은 글씨를 클릭하고 이것을 나로 변경하십시오 18 SP에 언급 그것은 지금 거기에있어 우리는 그 순간 많은 변화를 볼 수 없다 하지만 편집 텍스트 위젯 모두 또한이 텍스트의 18 SP의 텍스트 크기를 사용하십시오 보기가 이제 그 크기에서 더 좋아 보일 것입니다

그것은 꽤 좋아 보이지만 전에는 잊지도 우리와 함께 싱글 허용 음수와 같은 십진수 4 점 5 6 7 지금 편집 우리가 사용했던 텍스트 위젯은 sign을 허용한다 숫자가 아니라 십진수가 아니므로 우리는 내가 그렇게 변화 할 때 에서 결과 위젯을 선택하십시오 여기 오른쪽 입력은 입력 유형입니다 그리고 당신은 그것이 숫자면으로 설정되어 있음을 볼 수 있습니다 이제 우리는 숫자가되기를 원해

십진수 그래서 이걸 클릭 할거야 여기에 줄임표 단추가 있습니다 팝업 메뉴가 뜨면 우리는 KITT를 할 수 있습니다 우리가 내려와서 원하는 옵션 여기에서 십진수를 선택하여 확인란을 선택하고 확인을 클릭합니다 이 두 가지 옵션이 거기에 아무 말도하지 말고 그곳에는 파이프가있다

내가 원하는 숫자 십진수보다 문자 새로운 숫자에 대해 같은 못을하는 것 여기를 클릭하면 줄임표로 소수점 이하 자릿수를 추가하거나 확인하십시오 소수점도 포함되어 있으므로 이제 설정됩니다 두 값 모두에, 그리고 그렇게하지 않으면 버튼 도트를 사용할 수 없습니다 소수점을 입력하십시오 숫자가 하나의 마지막 변경 사항이 있습니다

결과와 텍스트를 만들고 싶다 이제 위젯을 선택합니다 이 소프트 버튼 클릭 앱 실행 키보드가 자동으로 화면에서 편집을 입력하십시오 텍스트 위젯 이제 우리는 어떤 용도로 사용되는지 알고 있습니다 결과 위젯에 입력 할 수 있음 결과를 표시하기위한 것입니다

지금 계산하는 방법의 그 행동이 집중 가능한 속성 그래서 내가 실제로 속성 목록에서를 펼치십시오 아래로 스크롤 여기에서 우리는 초점을 맞출 수 있습니다 터치 모드에서 초점을 두 가지 속성은 모바일 장치 다른 입력 방법을 사용할 수 있습니다 예를 들어 휴대 전화 만 사용할 수 있습니다 터치 모드와 태블릿에서 작동합니다

연결된 실제 키보드가있다 터치 모드가 아닌 경우 실제로 가장 현대적인 Android 휴대 전화 USB 온더 고 (on-the-go) 또는 USB OTG를 지원하여 외장 키보드를 연결할 수 있습니다 및 / 또는 마우스를 사용하면 그들은 실제로 더 이상 연락 할 수 없습니다 모드와 장치가있을 때 터치 모드 위젯은 포커스가 가능하지 않지만 위젯에 대한 예외가 있습니다 텍스트 입력 용으로 설계되었습니다

우리가 필요로하는 텍스트를 편집하십시오 이 두 속성을 false로 설정하십시오 소프트 키보드가 나타나지 않도록 방지 그들이 시도를 사용할 때 위젯이나 외부 마우스로 클릭하기 때문에 나는 여기에 초점을 맞추기 위해 여기에 올 것이다 볼 수있는 드롭 다운을 선택하십시오 그 초점과 실제로 될 것입니다 우리는 진정한 자동을 보여줄뿐입니다

이 경우 실제로는 false를 입력하십시오 false에 입력 한 다음 Enter 키를 누릅니다 그러나 다른 한편으로는 접촉 할 수있는 초점 모드로 클릭하면 나는 단지 조금 더 확장하려고합니다 더 많이 그래서 우리는 그것을 조금 볼 수있다 더 잘 알다시피 나는 터치 모드에있다

내가 실제로 클릭하는 것을 볼 수 있습니다 여기서는 tri-state 체크 박스를 사용하고 있습니다 대시 (dash)의 세 가지 상태 중 하나로 설정할 수 있습니다 기본값으로 설정되어 있음을 의미합니다 이제 진드기가 진실하다는 것을 의미합니다

비어 있으면 허위지만 불행히도 여기에서 볼 수 있듯이 성적으로 성관계에서 작동하지 않습니다 굉장한 실제로 Android Studio 이후 23과 내가 언급 한 방식으로 지금까지 버그는 있지만 당신을 두지 마라 Android Studio에서 레이아웃 디자인은 단지 편리합니다 로드 할 때 입력 할 필요가없는 이 과정의 첫 번째 버전 XML 몇 년 전 그것이 우리가 만든 방법입니다

XML을 입력하여 레이아웃을 일은 분명히 먼 길을왔다 분명히 시간이 지남에 따라 우리의 경우에는 더 좋지만 지금은 무엇을 할 수 있습니까? 이 버그 또는 작업자에 대해 해결 방법은 도구를 올바르게 사용하는 것입니다 대신 지금 당신은 그 사실을 알아 채 셨을 것입니다 이러한 속성 중 일부가 나타나는 것 같습니다 하나의 스패너가있는 버전으로 두 번 또는 옆에있는 미국인의 렌치 한 가지 예가 우리는 내가 붕괴 된 것을 볼 수 있습니다

우리는 텍스트를 가지고 있으므로 스패너 나 렌치로 이걸 가지고있어 하지만 그것들은 같은 이름입니다 공구 속성이며 적용 만 레이아웃 디자이너 내부에서 이것들을 렌치 또는 스패너가 없다 앱을 실행할 때 효과가 있습니다 내가 할 수있는 텍스트에서 무엇을 의미하는지 보여 준다

음력 8 7 6 3 점 5 점을 볼 수 있습니다 그 내용은 실제 결과에서 텍스트 자체 편집 텍스트 내가 실제로 그들을 다시 지우고 오면 여기에있는 텍스트로 스패너 또는 렌치를 선택하고 Enter 키를 누릅니다 여전히 차이는 있지만 여기에 차이가 있습니다 두 번째 전화 번호가 이 두 번째 입력란에는 렌치가 스패너를 앱을 실행할 때 나타납니다 기본적으로 당신을 돕기 위해 시각적으로 잘 표시되므로 실제로 읽는 터치 모드에서 집중 가능 우리가 여기 올 수있는 확장 목록 우리는 실제로이 작은 것을 클릭 할 수 있습니다

스패너를 오른쪽으로하면 너 내가 그 일을 언제 끝났는 지 알 수 있어요 다른 하나를 열었지만 지금은 아래에있다 이 사람은 같은 고통을 겪지 않는다 벌레와 우리가 여기 올 수있어 이것을 클릭하면 작동하는 것을 볼 수 있습니다

지금 체크 박스가 있고 우리는 그것을 거짓으로 만들기 위해 그것을 끄고 싶다 이 사람은 당신이 볼 수있는 것처럼 고통을 겪지 않습니다 같은 버그에서 우리는 할 수있어 티켓과 분명히 있기 때문에 그것은 렌치 또는 스패너 버전이 아닙니다 우리가 달릴 때 어떤 효과가있을거야

응용 프로그램하지만 우리가 할 수있는 일은 여기에 있습니다 볼 수있는 텍스트 탭을 클릭하십시오 연락이 가능한 콜론 도구가 있습니다 내 자신이 거짓과 같아서 나는 바뀔 수있다 그건 안드로이드에 그렇게 다른 말로 와서 여기까지 와서 안드로이드로 바꾼다

여기에 와서 그것을 설정할거야 사실 일 뿐이 었어 다른 기회를 잡을거야 이제 텍스트를 삭제하십시오 우리는 더 이상 필요하지 않기 때문에 모두 지금 당장 우리가 해냈습니다

우리는 우리가 볼 수있는 디자인으로 돌아온다 이제 포커스가있는 체크 박스가 나타납니다 터치 모드가 아닌 첫 번째 터치 모드 하나의 도구 나는 지금 그것을 실제로 다시 똑딱 거리고 이펙트를 끄고 실제로 만들어라 거짓이 그렇게 일하는 빠른 방법입니다 이 특정 버그와 우리가 세 번째로 클릭하면 다시 돌진하고 너는되지 않을 것이다

그것없이 다시 되돌릴 수있다 다시 buuuut 도구를 사용하여 나는 그것을 클릭 할 것입니다 그것은 작동하지 않지만 그때 나는 할 수 없어 똑같은 일이 다시 일어나서 그것의 도구 버전을 다시 디자인으로 텍스트로 바꾸고 도구를 안드로이드로하고 거짓으로 남겨두기 때문에 그게 궁극적으로 우리가 원하는 것입니다 그게 지금 작동하고있어

그러면 내가 할 수있어 이리로 와서 이 시점에서 도구 버전을 사용할 수 있습니다 이제 우리는 집중력과 결과에 대한 터치 모드에서 초점 가능 텍스트를 편집 할 수 있습니다 텍스트 위젯의 새 번호 소프트 키보드 사용 가능 그것으로 원하는 결정의 일종이다 사용자를 만들 때해야합니다 인터페이스는 다른 말로하면 만들지 않습니다

숫자의 입력을 제한하는 감각 우리 버튼에 대해서만 가능합니다 그 대답은 누군가가 외장형 키보드는 아마도 그들이 가진다면 가서 화가났다 화면을 터치하여 집중력이 뛰어난 계산기가 항상 있어야합니다 이 위젯에 대해 확실히 설정해야합니다 새로운 번호 또한 숫자를 허용하기로 결정했습니다

소프트 키보드를 사용하여 입력해야합니다 사용자가 백 스페이스 키를 사용하여 그들이 입력 오류를 해결하기 위해 증명 나도 떠나고 싶어 집중 가능 터치 모드에서 변경없이 초점을 맞 춥니 다 이 위젯의 ​​경우 그리고 원하지 않는 경우 온 스크린 키보드 사용 허용 당신은 그것을 지금 무능하게하는 방법을 알고있다 버튼을 일렬로 정렬하면됩니다

우리가해야 할 일은 삭제하는 것입니다 그런 다음 버튼 7의 왼쪽 구속 조건 새 번호의 왼쪽 가장자리로 설정하십시오 대신 나는 여기에 올거야 7 번에 대해이 제약 조건이 있습니다 우리 자리 7 그리고 그냥 우리의 정상 모드에서 우리는 우리가 왼쪽 구속 조건을 얻었습니다

레이어의 왼쪽 왼쪽 화면이므로 그걸 지우려고하고 그 다음엔 우리는 왼쪽 구속 조건을 설정하기를 원한다 새 번호의 왼쪽 가장자리가된다 대신에 그 일을 진행하겠습니다 그렇게 우리가하고 싶은 또 다른 일은 여백을 변경해야합니다 버튼 7의 왼쪽 여백을 0으로 설정합니다

나는 그 일을 계속할 것입니다 그렇지 않으면 약간의 일이 될 것입니다 당신은 그것이 맞는 것을 알 수 있습니다 이 특별한 이유로 지금은 꽤 멋지다 레이아웃은 우리가해야 할 모든 것입니다

버튼 배열을 실제로 중심에 두지 않았습니다 그러나 자산은 중앙에 있고 너비가 같다 이제 스위치를 켜면 모두 작동합니다 그것이 여전히 보일 것 인 풍경에 대한 배치 앞으로 잘 외국 외국으로 그것은 아니에요 수직으로 좋지만 우리는 다시 올 것이다

그저 우리를 갖는 것보다 이 모양을보기 위해 좋아, 여기 와서 그들이 그것을 볼 수있는 풍경 여전히 괜찮아 보이는군요 수평으로 나는 공정한 괜찮아 언급했다 – 그렇게 좋지 않은 수직 I 실제로 저에게 돌아올 것입니다 완전히 다시 초상화로 돌아 간다 버튼 배열을 다음과 같이 가운데에 정렬하지 않았습니다

우리가 가지고 있기 때문에 나는 거기에서 말했어 4 개의 버튼이 잘 작동하지만 if 우리는 더 많은 버튼 열을 추가했습니다 더 이상 중심에 있지 않을 것이다 나는 그 곳으로 돌아올거야 이 섹션의 끝 부분에서 위젯의 센터 그룹은 지금도 내가 원했던 것이 한 가지 더있다

우리가 쓰기 전에 계속 토론하십시오 지금 계산기의 코드 이전 동영상에서 텍스트를 삭제합니다 코드로 텍스트보기를 쉽게 할 수 있습니다 당신은 보았고 종종 좋은 생각입니다 레이아웃에 텍스트를 남겨 둡니다

수술 중 텍스트를 삭제하겠습니다 그것의 수직을 바꾸려고 노력하십시오 제약 조건에 맞춰서 기준선은 약간 보입니다 그곳의 꼭대기에서 선이 더 높을 때 나는 우리 본문으로 여기 올 것이다 이것이 우리의 운영을위한 것임을 보아라

위젯 우리는 텍스트를 삭제하려고합니다 나는 언급했다 그리고 당신은 그것이 나 거기에 Enter를 누르고 같은 것을 누르십시오 내가 다시 클릭하면 디자인 또는 청사진의 디자인 위젯이 줄어들고 그 이유는 밑줄로 묶인 내용으로 사실 나는 어떤 내용도 없으므로 나는 카테고리 삭제로 시작하려고합니다 수직 구속 조건을 볼 수 있습니다

에서 검사관이 사라졌습니다 권리와 나는 그것을 삭제할 수 있었다 거기 에서뿐만 아니라 사실 지금은 위젯이 너무 작습니다 사용하기가 더 쉬울 것입니다 검사자는 제약 조건을 삭제하지만 우리가 모르겠다

시도하기가 꽤 어려울 수도 있습니다 그리고 거기로 가면 만지면 돼 거기의 기준선 버튼 과정은 지금 나에게 나타난다 위젯의 크기를 조정하거나 텍스트를 넣을 수 있습니다 일시적으로 충분히 넓게 만들어라

나는 XML을 편집 할 수있는 곳이있다 그것이 반드시 필요한 것은 아니지만 다른 방법 텍스트를 넣는 것보다 쉽다 일시적이지만 알아두면 유용합니다 그것에 대해 이제 제약 조건이 속성을 확장 할 수 있습니다 이중 화살표를 사용하여 특성을 나타냅니다

과정에서 사용 해왔다 그럼 내가 확장 할 수있어 제약 조건을 확장 할 수있는 목록의 맨 위로 여기에서 볼 수 있듯이 그 목록이 알파벳순이지만 맨 위에 섞기 위해 사용되었습니다 목록을 만들면 도움이 될 것입니다 조금 더 넓어서 우리가 볼 수있다

이들 모두의 이름은 기본적으로 각 제약의 전체 이름 내가 호위 할 기준선을 원해 이 기준선을 기준선으로 여기에서 지금 기준선 기준선에서 지금 기준선으로 가자 이름은 매우 서술 적이므로 우리는 우리가 겪은 제약을 볼 수 있습니다 이미 설정되어 있으므로 왼쪽 시작이 설정됩니다 여기 레이아웃의 왼쪽에 시작 단계 2 부모 오른쪽 끝에 새로운 것의 왼쪽에 제약이 있었다

번호는 여기에서 볼 수 있습니다 우리가 원하는 빛을 원한다 기준선에 대한 텍스트 뷰의 기준선 새 번호를 입력하면됩니다 알 수있는 ID ID 및 새로운 번호 as – 기준선을 제한하는 위젯 – 그리고 더 쉽게 당신은 단지 새로운 것을 선택합니다 목록의 번호가 여기에 오니 새 번호를 선택하면 볼 수 있습니다 즉시 정렬 곧바로 차고 우리는 그것을 보았다

화면에 그려져있어 새로운 위젯이 도중에 컴포넌트 트리의 맨 아래 그래서 여기서 다시 돌아올거야 더 많은 공간을 만들어라 그래서 그들을 끌어 올릴거야 목록에 일치하는 순서로 표시됩니다 레이아웃의 배치가 정말로 결과 작업이 될 것이고 당신이 될 것입니다

번호는 너무 좋아 풍경은 이제 약간의 모습을 보입니다 당신은 단추가 너무 멀리다는 것을 볼 수있다 화면 하단 사이에는 약간의 공간이 있습니다 위젯을 수직으로 배치하여 시작할 수 있습니다 그들의 상단을 줄임으로써 그들을 뒤섞다

이제 마진은 때때로해야 할 수도 있습니다 하지만 안드로이드는 다른 것을 가지고있다 솔루션을 만들고 서로 다른 화면을위한 별도의 레이아웃 크기 및 가로 수를 세로와 다른 모든 화면 크기 맞아, 지금 비디오를 끝내자 우리가이 버튼들을 다음 동영상에서 너무 가까이 있습니다 그 문제를 해결하기 위해 약간의 시간을 보내라

그래서 이것들이 옳은 것처럼 보입니다 초상화와 풍경 모두에서 인터페이스 모드이므로 다음 동영상에서 보자

How to Camera2 (Android Development Patterns S2 Ep 8)

고양이 팬케이크

팬케이크를 먹는 고양이 만약 어플에 좋은 카메라가 지원되지 않는다면 어떻게 이런 컨텐츠들을 포착할까요? 제 이름은 데이비드 이스트고, Camera2 API는 가장 뛰어난 카메라 어플을 만드는데 필요합니다 잠시 물러서서 안드로이드 카메라API 옵션의 역사를 살펴보겠습니다 사진이나 영상을 찍는 가장 단순한 옵션은 항상 카메라 인텐트였습니다 기본적으로, 귀하가 인텐트를 시작하면 사용자들은 사진을 찍기 위해 자신이 원하는 카메라 어플을 사용하죠

이 것은 이용하기 쉽지만, 사실 실력이 있는 카메라 어플에게는 그렇지 않습니다 카메라 인텐트는 주로 카메라가 주요 기능이 아니라 부가적인 어플에 사용됩니다 카메라 인텐트로는 북실북실한 고양이가 팬케이크 먹는 모습을 못찍죠 그래서 더 나은 API가 필요했습니다 카메라 API는 카메라 인텐트보다 더 많은 것을 조정할 수 있었습니다

카메라 API가 있다면, 원하는데로 카메라 뷰를 설정할 수 있었습니다, 정말 좋았죠 하지만 사진이 발전하면서 부족한 부분들이 발견됐죠, 예를 들어 압축되지 않은 이미지를 포착할 때, 혹은 프리뷰 속도가 초당 1에서 3 프레임인 새로운 하드웨어에서의 실행 등등에 있어서 문제가 있었습니다 고양이를 찍으려면 더 나은 API가 필요하죠 그래서 Camera2를 소개합니다 Camera2 API는 가장 최근에 나온 카메라API로, 가장 크고 가장 뛰어납니다

Camera2 API는 해당 디바이스 카메라의 모든 권한을 귀하에게 부여합니다 그리고 전 API의 모든 문제들도 해결됐죠 더 빠른 간격으로 사진을 찍을 수 있고, 다수의 카메라에서 프리뷰를 볼 수 있으며, 필터효과도 바로 적용할 수 있습니다 하지만, 새롭게 만든 카메라 어플에 적용하기 전에 알아야 할 것들이 있습니다 Camera2 API는 좋은 기능들을 가지고 있지만, 어플 사용자의 디바이스가 지원하지 못 할 수 있습니다

그렇기 때문에, 귀하는 어떤 디바이스가 지원 가능한지 아셔야 합니다 이 정보는 디바이스의 카메라 스펙을 살펴보면 알 수 있습니다 이 스펙은 렌즈의 방향같은 간단한 특징일 수도 있고, 얼굴 인식 모드의 여부처럼 복잡한 것일 수도 있습니다 만약 귀하의 어플이 특정 스펙 없이는 지원이 안된다면, 사용자가 어플을 다운받으려면 해당 스펙이 필요함을 명시하면 됩니다 매니페스트 파일에 사용자의 기능을 설정해놓으면 되죠

한 가지 더 중요한 것은, Camera 2API는 안드로이드 L에서 내놨기 때문에, 모든 어플을 지원하기 위해서는 다시 카메라API를 사용해야 합니다 그리고 Camera2 API는 안드로이드 서포트 라이브러리에서 지원이 아직 안되지만, 이 남성분에게 재촉하면 더 빨리 가능케 할 수 있어요 Camera2 API는 디바이스의 카메라에 대한 귀하의 책임을 증가시킵니다 그리고 더 큰 책임에는 큰 힘이 따라오죠 아마 그럴꺼에요

Camera2 API에 대해서 더 아시려면 API 레퍼런스를 살펴보세요 그리고 실제로 시행된 모델을 확인하고 싶으시면, GitHub에 원시 이미지를 포착하는 샘플 어플이 있습니다 귀하의 어플이 카메라를 사용한다면, Camera2를 사용해 가장 뛰어난 카메라를 제공하세요 계속 좋은 어플을 개발해주세요