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에 실린 실습을 시도하십시오 고맙습니다 [음악 재생]