포켓몬고 1폰 3계정 하는 방법: Test DPC & AFW 듀얼앱

안녕하세요 지난 영상에 이어 '포켓몬고 3개 설치해서 동시에 쓰기' 이야기 해볼게요 이 영상에서 사용한 기종은 삼성 갤럭시 S10e입니다 Android for Work, 이 기능은 안드로이드에서 비즈니스와 개인 앱을 구분해 개인 기기를 업무에 활용할 수 있도록 합니다 눈치채셨겠지만 그 업무용 공간에다가 포켓몬고를 설치할거예요 보안폴더에 포켓몬고를 추가한 뒤 굿락의 멀티스타를 활용해서 동시에 사용했었죠 이번에는 안드로이드 엔터프라이즈 공간에 포켓몬고를 하나 더 추가해서 사용해보겠습니다 그러니까 일하라고 만들어 놓은 기능인데 그래서 이런 회사들에서 안드로이드 엔터프라이즈 기능을 사용한다고 해요 근데 우리는 이런 회사 지금 다니고 있는게 아니니까 Test DPC라는 안드로이드 업무용 공간을 만들어주는 개발용 앱을 설치할겁니다 쭉쭉 다음 다음을 눌러주는데 저기서 Skip Encryption 암호화는 할 필요 없으니까 저거만 체크해 주시면 됩니다 갤럭시 기준으로 앱 드로어의 우측 하단에 직장 탭이 생긴 것을 보실 수 있습니다 이제 그 직장 탭의 플레이 스토어에서 포켓몬고를 설치해주시면 준비는 끝이 납니다 팝업윈도우로 세 포켓몬을 실행하면 이런 그림이 나오구요 최근 실행한 앱 목록에서 찾을 수 있는 앱 잠그기 옵션을 걸어주시면 포켓몬고가 종료되는 것을 최대한 방지할 수 있습니다 여기에는 분할화면 혹은 팝업화면으로 실행할 수 있는 옵션도 있고 화면 회전 그리고 홈 가로모드 회전을 켜면 다음과 같이 화면을 분할하여 사용할 수도 있습니다 갤럭시 S9이 포켓몬고 2개를 버거워 했는데 S10e에서는 3개도 아주 잘 돌아갑니다 영상 초반에 이건 안드로이드 기능이라 말씀드렸죠? 그래서 집에 굴러다니는 LG V10에 Test DPC를 설치해 보기로 했어요 동시에 사용하지는 못하겠지만 잘 설치됩니다 아까 그림으론 멀티스타와 보안폴더가 빠진 이런 형태가 되겠죠 두 영상으로 같은 앱 복사해서 쓰기 그리고 멀티태스킹 기능을 살펴봤습니다 보셨듯 이 기능은 화면이 넓을수록 좋습니다 차트를 여러 개 띄워놓을 수 있어서 투자하시는 분들께도 좋을 것 같구요 그래서 전 갤럭시 폴드가 기다려집니다 다음 영상은 '포켓몬고 5개 켜기' 입니다 오늘도 영상 봐주셔서 감사합니다

뱃살빼기,다이어트 앱 추천 !! 30일만에 체중 감량

안녕하세요 제임스의 앱 리뷰 입니다

이번 시간에는 헬스 우리가 살 빼기 할 때 도와줄 수 있는 앱에 대해서 설명을 드리도록 하겠습니다 제임스의 앱 리뷰는 저희가 (나름) 충분히 검토를 해서 광고가 좀 많이 없고 사용하기 편리한 앱을 위주로 리뷰를 하고 있습니다 그래서 뭐 다른 다른 유튜브 처럼 여러 가지 다양한 앱들을 비교하는식으로 하는 게 아니라 괜찮은 앱들을 소개를 하고 있습니다 그래서 구독은 필수 입니다 ^^ 여러 가지의 운동을 해서 몸을 일깨워 주는 앱들이 많은데 그중에서 오늘은 30일만에 체중 감량 뭐 이런 앱을 소개를 해드리려고 합니다 리피트 그룹이라는 아이디로 개발 등록이 되어 있고요 앱을 보면 남성을 위한 체중감량 이렇게 되어 있습니다

실행을 해보면 계획, 보고서, 내설정 이렇게 되어있습니다 계획은 조금있다 설명을 드릴 거구요 보고서를 보면

네 기존의 피트니스 앱 처럼 몸무게가 너무 얼마나 감소했다 날짜별로 볼 수가 있구요 현재 몸무게는 어떻고 최고는 언제고 bmi 지수가 어떻게 되어 있다 라는 것을 보여줍니다 현재 키는 몇이고 네, 그리고 편집을 누르면 편집까지 이렇게 할 수가 있습니다 취소, 저장을 할 수 있구요 설정을 하고 운동을 하면 되는데 내 설정에는 시험 목소리 건강 정보 등 여러 가지 옵션들이 있습니다 알림도 있구요 알림을 안하면 시간대 별로 알려주고 사운드 옵션 무음, 가이드 목소리 코치팁등 설정 등이 있습니다 여기 보면 시험 목소리가 있습니다 시험 목소리는 네 들었습니다 ^^ 네 이 목소리로 운동을 할 수 있게 끔 (소리로)도와주고 있습니다 음성언어도 있구요 장치 TTS TTS는 텍스트를 사운드로 바꿔주는 그런 기능이구요 필요에 따라서 음성 파일들을 좀 받아야 되는 경우 그런것에 대한 설정이구요 공유도 할 수 있고요 실제 계획으로 돌아와서 시작을 할 때는 처음에 앱을 실행하고 아침에 아침이랑 저녁에 나 운동할 때 오늘 1일째, 2일째, 3일째

운동들이 있습니다 그러면 30일

28일까지 있고요 중간에 쉬는 날도 있고, 얼만큼 했다 이런 것도 있습니다 그래서 오늘이 첫날이다 그럼 이렇게 1일째 들어갑니다 그러면, 오늘은 뭐 마운틴 클라이머 스쿼트 등등 여러 가지 운동을 할 수 있다는 걸 보여주고 오른쪽에 상세 그림 설명도 나와 있습니다 시작을 누르면 네 시작을 합니다 준비 시간을 갖고 요렇게 시작을 하겠구요 동영상 이렇게 눌러 보면 그런 내용 설명 좀 볼 수가 있는 앱이랑 연결이 됩니다 네, 운동을 이렇게 시작하면 게이지가 이렇게 올라가구요 운동에 대한 설명도 나오구요 중간을 알려 주고, 이런 모양데로 운동을

시간내에 30초내에 하면됩니다

다음 단계로 가는 거구요 광고는 이렇게 나오구요 간단하게 중간에 잠깐 나오구요 스쿼트 곱하기 이렇게 15라고 이렇게 되어 있는 것은 시간제가 아니라 그냥 15번 정도를 하면 버튼을 누르면 끝나게 되는 겁니다 다음 운동도 이렇게 시간이 되고 다음 운동

이렇게 해서 플랭크도 하고 다 완료가 되면 1일째 완료라고 이렇게 나옵니다 느낌도 적을 수가 있고 이렇게 되면 이제 하루가 끝난 겁니다 그래서 언제 언제 운동을 했다는 기록도 보여주구요 (리뷰를 위해서)건너뛰기해서 완료가 안된건데 하루 이틀 삼일 주욱해서 30일 정도만 하면 몸무게가 빠진다고 빠질수 있다고 이렇게 도움을 주는 앱 입니다 실제로 처음 하시는 분들은, 운동을 많이 안 해 보신 분들은 1일째만 해도 굉장히 힘듭니다 이용해 보시구요 꼭 몸무게를 빼셔서 즐거운 여름 나시기 바랍니다 감사합니다

구독 ^^

접속 못하는 사이트가 없다 ~ VPN 기능 오페라 브라우저 앱

안녕하세요 오늘 이번 시간에는 vpn 에 대해서 알아보겠습니다 앱을 제공한 오페라, 오페라 앱에 대해서 알아보겠습니다 vpn 이 제공되는 오페라라고 최근에 업데이트 되었습니다 그래서, 오페라 브라우저는 기존에 많이 보았던 익스플로러, 크롬 같은 브라우저 구요

무료 vpn 있는 오페라 이렇게 안드로이드 앱 소개가 되어 있습니다 오페라는 기본적으로 좀 속도가 좀 빠른 편이구요 그리고, vpn을 제공한다고 하길래 한 번 설치를 해 봤습니다 그래서 앱을 이렇게 들어가면 네, 나중에 오페라 브라우저를 설치하면 이렇게 연결해서 설정을 여기 누르면 설정에 들어갈 수 있구요 설정에 들어가면 vpn 을 이렇게 선택 할 지 말지, vpn을 설정하면 당연히 속도가 저하됩니다 네, vpn을 이렇게 설정 할 수 있구요

광고 차단도 되고, vpn을 열고 설정을 해놓으면 네이버 한 번 들어가 볼 까요 ? 네, 속도가 기본적인 것, 일반적인 속도보다는 좀 늦구요 그래서 vpn을 사용할 수가 있습니다 그리고 설정에서 이렇게 vpn 누르면 네, 비공개 탭에서만 vpn 사용하기 이런 옵션도 있구요 가상위치 미국, 아시아, 유럽, 이렇게 정할 수도 있습니다 우회 경로라고 보시면 되구요 vpn 을 사용하면 사이트를 접속할 수 있는, 어려운 거 차단된 뭐 이런 것들을 들어갈 수가 있습니다 vpn이 뭐냐면 가상 사설망 입니다 이렇게 몇 개는 그때 설명을 되고요 영어로는 Virtual private network 이렇게 되어 있구요, 개인 사설망이라고 보시면 되고요, 그림을 보면 각각 지역에 사설망이 있습니다 그래서 저희 인터넷을 보고 다른데 지역을 통해서 인터넷으로 접속한다 이렇게 보시면 됩니다 앱을 설치를 하면 vpn을 사용할 수가 있구요 그 다음에 지금 보고 계신 요건 오페라 브라우저인데, 오페라 브라우저에도 vpn 기능이 있습니다 여기 이렇게 누르면 하단에 브라우저 설정 있습니다 누르면 여기에 쭉 내려가 보면 고급 누르면 vpn 이 어디 갔지 ? ㅋㅋㅋ vpn 여기 있었는데

고급에

네, 여기 vpn 이 있습니다 그래서 vpn을 이렇게 설정하고 이렇게 하면 vpn 이 동작을 하구요 이렇게 하면 동작을 하지 않습니다 근데 제가 vpn을 써보니까 그렇게 빠르진 않습니다 vpn 이 그래서 음 기본적인 오페라 기능보다는 여기 보면 크롬도 있지만확장기능이라고 있습니다 여기 있는 확장 프로그램을 설치하면 좀 더 빠른 거 같아서 요걸 좀 설명 드리려고 하는데요 여기 보면 확장 기능 있습니다 확장기능 요렇게 누르면 여기 보면 더 많은 확장 기능이 있죠 ? 이걸 누르게 되면 이렇게 확정 기능이 있습니다 오페라 애드온 기능이라고 하는데 검색창에 'vpn' 이렇게 치면 여기

DotVPN 이라고 있는데 이것을 설치하면 저는 설치가 되어 있으니까 [설치됨]으로 표시 많이

쉽게 쓸 수가 있습니다 그래서 이렇게 설치가 되면 프랑스

이렇게 지역별로 접속 할 수가 있구요

우회해서 사이트를 접속할 수가 있습니다 이 vpn 기능은 좋은 곳에 쓰시면 감사하겠습니다 예, 구독 누르시구요, 구독 많이 누르시면 더 많은 콘텐츠를 제공해 드리겠습니다 ㅎㅎㅎ 이상 여기서 마치겠습니다 감사합니다

앱을 깔았을 뿐인데 새로운 핸드폰이 됐다. 런처 앱의 선택

안녕하세요 125 퍼 파크 입니다 반갑습니다 오늘 소개해드릴 내보이며 스마트 런처 라는 앱인데요 런 체 여러분 혹시 알고계시나요 아이폰 쓰시는 분들은 기본적인 베이스를 바꿀 수가 없기 때문에 해당되지 않는 내용이구요 안드로이드에서는 홈 화면 홈 화면을 꾸미기 위해서 다양한 런처 를 이용하실 수가 있습니다 저는 지금까지 노바 런처 를 사용했었는데 정말 노바 런처 정말 좋은 앱인데 한가지 안좋은지 왜냐면 앱 서랍을 열 때 정렬하는 그 기준을 정할 수 없더라구요 예를 들어서 뭐 책은 사용한 기준으로 이걸 전념하겠다 혹은 가나다 순으로 정렬 하겠다 목은 뭐 여러가지 내가 사용자정의 대로 정리하겠다 이게 가능 해야 되는데 노바 런처 는 다 좋은데 정렬 기능이 안 돼서 어쩔 수 없이 다른 런처로 갈아 타게 됐습니다 여러가지 찾다보니까 좋은 앱들을 많았는데 그중에서도 낼 소개될 스마트 런 적 요 써보니까 진짜 좋더라구요 본격적으로 스마트 런 책 무엇이 의지 함께 살펴보는 시간 가져보도록 하겠습니다 으 런처 앱 에는 다양한 앱들이 있거든요 뭐 도돌런처 고런처 버즈런처 노바 런처 정말 많은데 그 많은 원초 중에서 종업 런처를 판단하기 위해서는 크게 디자인 연 김일성 면 사용 석면을 보시면 더욱 런처를 구별 하실수가 있습니다 일단 디자인 드는 세포 보려면 첫 화면으로 확인할 수 있습니다 스마트 런처 같은 경우에 굉장히 깔끔한 인터페이스로 첫화면이 구성이 되어 있구요 위젯이나 아이콘들을 위해 새해 외부적으로 조절할 수 있다는 장점을 가지고 있습니다 노바 런처 놔 유형 런처 앱에서 사용할 수 있는 아이콘 팩을 동일하게 스마트 런처 를 사용할 수 있어서요 이전에 제가 아이콘 ios 아이콘 폐를 한번 소개된 적이 있잖아요 그 아이콘팩 동일하게 이 스마트 런처 에서도 생활 수 있다는 점 기억하시는 좋을 것 같습니다 그리고 우리가 일반적으로 사용하고 있는 이 런처에 앱 서랍 을 열리면 보통 어떻게 아나요 가운데 있는 버튼을 누른다 거나 제철 통해서 불러 오잖아요 근데 이 스마트 1월 초에는 왼쪽에 가장 스와이프 하게 되면 앱 서랍 이 나타나게 됩니다 앱스 러브 는 여러가지 폴더 형태로 정리해 내는 게 아니라 자동적으로 6가지의 카테고리로 자동적으로 앱을 정리 해 주는데요 가끔씩 정리 부분이 마음에 들지 않을 때에는 길게 눌러서 이동도 가능하고 수정도 가능합니다 그리고 또 홈 화면에서 제스처 기능도 사용할 수 있어요 홈 화면에서 뭐 더 볼 때 판 경우에 화면을 크게 한다거나 또 다양한 액션 들을 이 곳에 넣어서 빠르게 스마트폰의 제어가 가능하도록 만들 수 있다는 짱 이정도 기억해주세요 그리고 또 아래쪽에 보시면 스마트 서치 라는 상자가 보이실 텐데요 이 부분을 태 파게 되면 아이폰의 스팟 라이트 처럼 주소록에 있는 연락처를 쉽게 검색할 수도 있고 어쩌 철아 앱이 많으신 분들을 위해서 이렇게 빠르게 검색도 가능합니다 얘들아 카카오톡 같은 경우에 카카 첫 글자를 입력해 검색이 될 이유가 있는데 이거는 통 만 입력해도 카카오톡이 검색된다 행정 굉장히 스마트하게 검색이 된다는 요점 기억하시고 으로 또 우리가 빠르게 계산해야 할 때 있잖아요 개 상기해볼 또 검색해서 수식을 입력해 되는데 이 스마트 서 7 안에다가 계산 자 를 입력하면 간단한 계산도 학계 루프 할 수 있다는 자료 어떻게 기억해 주세요 그리고 마지막으로 이 스마트 런처 를 설치하기 위해서 플레이스토어에서 설치 하실 수가 있는데요 이 스마트 런치 라는 앱이 유사한 애플이 좀 있더라구요 그래서 아이콘으로 이 제가 소개해드리는 이 앱을 구별 하시면 될 것 같습니다 4층까지 스마트 런처 앱 에 대해서 여러분은 함께 이야기를 나눠 봤는데요 가장 저는 인상적으로 기억에 남는것은 앱 서랍 이 어떤 제스처 나 뭐 버튼을 통해서 열리는게 아니라 왼쪽으로 스와이프 하면 이게 앱 서랍 잊자 의미가 되어서 나오더라구요 자동적으로 부류의 맞게 카테고리에 맞게 전개된다는 점도 굉장히 인상적이었고 완전성 적인 측면 일하게 이즈모 2 협회 수정의 측면도 굉장히 좋은 점수를 주고 싶은 앱입니다 매칭 까지 스마트 런처 앱 에 대해서 소개해드렸는데요 이 영상과 오는 소개될 이이의 빛 도움이 되셨다면 영산 이쪽에 좋아요 지금 바로 눌러주시구요 또 이후에도 계속 지속적인 좋은 앱들을 소개 받고 싶으시다면 또 좋은 정보들을 여러분들께서 구독해서 받고 싶으시다면 영사 아래쪽에 구독하기 버튼 지금 바로 눌러주세요 저는 다음 영상에서 뵙도록 하겠습니다 지금까지 125 파파 퍼 어 팍 뽀 였습니다 감사합니다 그냥 으 그 으 으 으

사운드캠프: 갤럭시 스마트폰 악기 앱 소개

안녕하세요 Lucky7 입니다 자 제가 거의 몇 달 동안 이거 하고 싶었는데 하지도 못하고 벼르기만 하다가 이래선 안되겠다 싶어서 일단 무작정 영상을 또 만들어 봅니다 뭐냐 하면은 그 스마트폰으로 음악 연주 할 수 있는 음악 앱 악기 앱에 대해서 하나 소개해드리고 싶은 게 있어서 그 관련 영상을 만들려고 한 건데요 자 모티브가 뭐냐 이런 아이패드나 아이폰 같은 경우에는 이런 음악 연주하는 앱 있잖아요? 악기 앱을 실행을 해보면은 반응성이 굉장히 좋아요 제 손톱이 탁탁 거리는 소리 하고 피아노 소리 하고 거의 간격이 느껴집니까? 거의 안 느껴지죠? 실물을 만지는 거랑 거의 똑같은 반응속도가 나오거든요 그러니까 실시간으로 밴드 연주 같은 것도 아이폰 아이패드 가지고 사람들이 하는 거예요 제가 오른쪽 위에 참고 영상 링크해 드릴게요, 한번 보십시오

제가 이 영상보고 배가 아파 죽을 뻔 했습니다 저는 안드로이드 유저인데요, 이 영상이 나올 당시에는 윈도우모바일 이라고 해서 옴니아 혹시 기억하시는 분 계시죠 ? 옴니아 폰 사용자였는데, 뭐 옴니아 가 됐든 이 안드로이드가 됐든, 반응성 한번 보십시오 이거는 제가 만든건데 그래도 그나마 반응성을 빠르게 하려고 만든 거예요 제 손톱 소리가 먼저 탁탁 나고 그 다음에 이제 등등등 북소리가 나죠? 자 멜로디 같은경우에는 어떻게 되나 한번 보십시오 이렇게 느리거든요 제가 개발자이지만은, 안드로이드로 는 아무리 알고 있는 모든 지식과 레퍼런스를 총 동원해 가지고 정말 반응성 좋게 빠르게 짜보고 싶어도 이게 한계예요 자 이거는 다른 분이 만든 앱을 플레이 스토어에서 다운받은 건데, 마찬가지죠 예, 이래 가지고는 밴드 결성해가지고 실시간 연주를 할 수가 없습니다 그래서 배가 아파 죽겠는 거에요 자 그런데 제가 이 앱을 소개를 해드리는 것은 다 그럴 만한 이유가 있으니까 소개를 해드리는 거겠죠? 아마 갤럭시노트4 부터 지원이 될 거예요 노트4나 갤럭시S5 이상 되는 단말기를 만약에 갖고 계시면은 플레이 스토어나 삼성 전용 그러니까 갤럭시 앱스에 가보시면 사운드 캠프 라고 하는 앱이 있습니다 이게 갤럭시 노트4 언팩 행사 할때 그 오프닝 세션으로 깜짝 밴드 연주 하는게 나오거든요 그때 이 사람들이 연주하는 앱을 보니까, 어? 분명히 갤럭시노트4를 가지고 연주를 하는데, 안드로이드 잖아? 그런데 실시간으로 밴드의 연주를 한단 말이죠, 딜레이 없이 어떻게 저게 가능해? 내가 알고 있는 상식으로는 도저히 불가능할 텐데? 안드로이드에 언제부터 이게 생겼는지 모르겠는데 프로 오디오라고 하는 별도의 오디오 API 세트 라고 해야 될까요, 오디오 엔진 이라고 해야 될까요? 하여튼 그런게 있나 봐요 사운드 캠프는 그거를 이용해서 만들어진 앱인데 보시면 이런 아이폰(아이패드)에 전혀 꿇리지 않는 반응 속도가 나옵니다, 그쵸? 예, 그래서 이 앱을 소개를 해 드리고요, 그 다음에 또 이 앱의 특징이 뭐냐면은 뭐 반응속도도 반응속도지만 뭐라고 해야될까요 이런 스마트 컴포저나 루퍼 같은 게 있어요 루퍼를 이용해 가지고 뭐 이렇게 심심풀이로 약간 디제잉 하는 듯한 느낌? 그런 느낌으로 뭐 어 이런 거를 또 해볼 수도 있고, 그 다음에 아까 잠깐 지나갔는데 스마트 컴포저 스마트 컴포저와 같은 거 이용하면 이렇게 쓱쓱 그려놓으면 거기에 얼추 맞춰 가지고 비슷하게 작곡을 해 줘요 아 이건 지금 게임 모드를 들어갔네요 게임모드 말고 패턴이나 송 송운 좀 어렵더라고요 뭔지 잘 모르겠고 패턴 이게 그냥 루퍼 같은걸 적절히 켜고 끄고 해가면서 음악을 만들어 내는 건데, 자 이런 비트를 줄 수 있죠 비트랑 뭐 FX 효과, 뭐 이런 걸 섞어가면서 이런 걸 할 수 있고 이것 보십시오 실시간으로 필터가 먹죠 밴드 패스 필터 같은 느낌으로, 하이 패스, 로우 패스 이런게 가능해요 안드로이드에서 이게 된다는 걸 처음에 보고 정말 깜짝 놀랐는데 과거에 정말 배 아프도록 아이폰 부럽던 그게 말끔이 사라지고도 남을 그런 앱이어서 소개를 드립니다 그리고 참고로, 아이폰 아이패드에서 악기 앱들 많지만은 그래도 그 애플에서 공식적으로 소개하는 앱인 개러지밴드 이거 이상 가는 것은 못 찾은 것 같아요 얘도 뭐 거의 시퀀서 기능까지 다 가지고 있고요, 아 이 사운드캠프 도 마찬가지입니다 시퀀싱 할 수 있습니다

시퀀서 를 가지고 있기 때문에 가능해요 하나 보여드릴게요 제가 유튜브 이렇게 하고 있으니까 BGM 같은거 저작권 있는 음악 쓰느니 내가 만들어 쓰면 좋잖아요? 유튜브 BGM 으로 한번 써보면 어떨까 싶어 가지고 간단히 이제 작곡을 한 게, 이게 기본 제공되는 패턴 이용해서 만든 거에요 첨부터 다 제가 할 수는 없고 이게 무슨 EDM 쪽이었나, 테크노 쪽이었나뭐 그런, 그 스마트 컴포저에 있는 패턴 가지고 만든 거예요 지금 맨위에 멜로디 트랙 있죠 솔로(solo) 이게 스마트 컴포저에서 그냥 쓱쓱쓱 그려 놓은 그 패턴을 따라서 만들어진 멜로디예요, 자동으로 이것 보시면 웬만한 시퀀서 부럽지 않게 뮤트, 솔로 이런것도 있고, 예, 음악 효과 한번 보십시오 피치 벤드에 뭐 이게 폰에다가, 이 조그만 폰에서 다 조작하기가 힘들어서, 다 사용 못해서 그렇지, 정말 다 사용 못할 만큼 기능은 방대하게 다 들어 있습니다 저 같은 아마추어는 다 쓰지도 못하겠지만 전문가 분들은 아마 보시면 좋아하실지도 몰라요 너무 기니까 이쯤에서 자르고 아무튼 뭐 거듭 반복하는 얘기지만 요 핵심 골자는 안드로이드에서도 이제 더이상 아이폰이나 아이패드 부럽지 않은 음악 앱이 있다는거, 그거 보여드리고 싶었어요 아 참 안드로이드 라고 해서 그냥 안드로이드 다는 아니고 이 갤럭시 삼성 폰 에 국한된 얘기네요 그건 좀 죄송하네요 제가 LG 나 다른 폰은 어떤지 사실 모르겠어요 안써봐서 광고하는 건 아닌데 어쩌다 보니 저도 삼성빠가 돼 가지고 폰 만큼은 이렇게 쓰고 있습니다 모르죠, 이 프로 오디오라는 그게 삼성이 독자 개발한 거면 어쩔 수가 없겠는데 그게 아니라 안드로이드 만약에 버전 뭐 죠? 그 마시멜로? 마시멜로 이상 부터 그게 탑재가 되는 거라면 굳이 삼성 아니어도 있겠죠 이런 게 아무튼 제가 이 앱이 있다는거 존재를 안 건 벌써 작년인데 이제서야 소개를 드립니다 그쵸? 계속 더 미뤄지느니 두서 없더라도 이렇게라도 소개를 빨리 드리는 게 낫겠다 싶어서 영상 촬영을 했고요, 아 이거 활용 하는 것도 하나 제가 에피소드 삼을 게 있기 때문에 기회되면은 촬영해서 영상 보여드리도록 하겠습니다 그러면 이 사운드 캠프 소개 영상은 이 쯤도로 마치도록 하겠습니다 또 더 재미있고 유익한 영상으로 찾아뵙도록 하겠습니다 시청해주셔서 감사합니다

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 개발자 사이트에서 사람들이 이해하고, 현재 릴리스, 필요한 작업량, 우리는 집합 적으로 생태계를 발전시킬 수 있습니다 고맙습니다 [음악 재생]

드리블 탑 디자인 앱 만들기 Part #1 레이아웃 코딩

자 우리 첫 시리즈에서는 디자이너들의 성지라 불리는 드리블 닷컴에서 앱 컨셉으로 멋진 디자인을 하나 선정해서 디자인을 직접 앱으로 까지 구현에 보는 시리즈를 진행할 예정입니다 그러면 시작해 보겠습니다 우선 구글에서 Dribbblecom을 검색합니다 그리고 ui 로 검색을 하셔서 상단에 보이는 것 중에 네 번째 작품 아주 멋진앱이죠 정재성님이 제작하신 한국 분이신 것 같네요 제작하신 멋진 디자인을 직접 앱으로 구현을 해 보도록 하겠습니다 우선 GIF스크러버로 이미지를 따구요 첫번째 시간은 현재 보이는 이 화면 Html과 CSS로 우선 구성을 할 거구요 뒷 시리즈에서 자바스크립트와 프로그래밍을 이용해서 실제 앱으로 만드는 과정을 진행할 예정입니다 기본적인 개발은 크롬의 개발자 도구를 이용해서 진행이 될 예정이구요 깃 허브에서 무료로 제공하고 있는 아톰이란 에디터의 일부 도움을 좀 받을 예정이예요 atom

io 에 접속하셔서 무료로 다운로드 받아서 사용하실 수 있습니다 자 그럼 시작해 볼까요 우선 작업 폴더를 하나 만들어 보겠습니다 Dribbble Todo 라는 폴더를 만들고 일단 폴더엔 index html 아 이래서 계속해요 cml tel 써서 본 모양 잡으시구요 타이틀은 드리블 투두리스트 라고 정하고 그 다음에 스타일 파일을 하나 만들어 주겠습니다 스타일 점 CSS 그리고 링크 스타일 시트 stylecss 여기 세팅이 되었습니다 그럼 이번에는 만든 파일을 탐색기에서 열어 주시면 작업 준비 가 되었죠 F12를 눌러서 개발자 모드를 실행해 주시고 모바일 모드 아이폰X사이즈로 선택을 하셔서 작업 준비를 합니다 개발자 도구에 소스탭에서 애드 폴더를 추가 하시면 작업 한게 바로 적용이 되요 이렇게 선택을 하시고 권한을 승인 해주시면 이렇게 바로 들어왔죠 이렇게 되고 태그를 만들어 볼게요 div 컨테이너 를 먼저 만드시구요 상단에 헤더 영역 컨텐츠 영역, 카드 영역까지 총 3개의 div 를 만들게요 컨텐츠 카드 에어리어 세 가지 영역을 만들고 새로고침 보이시죠 영역이 그럼 이쪽에 소스를 추가해 놨기 때문에 이쪽에 스타일을 플러스 버튼을 누르고 계시면 스타일 시트를 고를 수가 있어요 그러면 스타일에 컨테이너가 추가됐고 소스에 확인를 해보시면 스타일의 추가된 게 보이시죠 이런식으로 작업은 계속 진행 될 예정 입니다 그러면 기본적으로 html , body 가로 세로 사이즈를 지정 해주시고요 마진은 0으로 기본을 잡아주면 됩니다 보이시죠 순서는 바꿀게요 컨테이너 컨테이너 싸이즈도 세로 사이즈를 지정해 줍니다 영역이 넓어진게 보이시죠 컨테이너에는 배경색을 이쪽에 개발자 도구를 띄워서 배경색을 캡쳐 합니다 실제 배경색은 아래쪽에 그라데이션이 들어가 있어서 아래쪽을 다시 복사를 해서 배경을 linear gradient 라고 해 주시고 이렇게 코마를 이용해서 직접 입력해주시면 이렇게 그라데이션이 배경이 똑같이 적용이 됩니다 그러면 일단은 준비가 됐어요 화면 크기를 좀 비슷하게 맞춰주시고 이번에는 전체 컨테이너에 이제 컬러를 포인트 컬러를 흰색으로 지정해주세요 헤더를 꾸며 보겠습니다 왼쪽 가운데 오른쪽 총 세개의 div를 만들어 줄게요 레프트, 타이틀, 라이트 가운데영역에는 투두라고 입력을 해주겠습니다 새로고침을 눌러보시면 글씨가 작죠 모바일 사이즈에 맞는 뷰 포트를 지정을 안해줘서 그런건데요 다른 사이트에 보시면 뷰 포트 샘플이 있어요 복사해서 메타 뷰포트 태그를 넣어주시면 커졌죠? 안쓰는 창은 닫아 주시고 화면에 보이는 아이콘은 폰트어썸 사이트에서 제공하는 폰트를 이용할 예정입니다 폰트어썸닷컴 이라고 입력을 하시고 폰트어썸을 사용하기 위해서는 스타트를 누르셔서 링크를 만들어 주셔야 되요 링크 주소가 나오죠 클릭해서 복사 네 준비가 됐습니다 그럼 바로 아이콘을 검색해서 사용하실 수 가 있어요 메뉴 이 부분을 클릭 에서 복사 하시면 되구요 복사해서 붙여놓고 이번엔 오른쪽에 써치 마찮가지로 이부분 클릭해서 붙여 넣으시고 F5를 눌러서 확인 아이콘이 나오는게 보이시죠 이번엔 아이콘이 나왔으니 스타일링을 해볼게요 패딩 20px 그리고 디스플레이 플렉스 가로배열로 만들어 주시구요 그다음 헤더 아래에 있는 div에는 공통적으로 torx 꼭 초 속성으로 예 안녕 을 해주시면 3개가 나란히 이렇게 가로배치 가 됐습니다 헤더에 레프트는 text-align left 그리고 타이틀은 text-align center 그리고 라이트는 text-align right 이렇게 붙여 주시면 구성이 됬죠 그러면 이번에는 글씨체를 먼저 초반에 맞춰줄게요 구글에서 구글폰트라고 검색 하시면 네 구글에서 제공하는 폰트를 사용할 수 있는데 이중에 가장 비슷한 모양의 roboto를 추가를 해주시면 사용할 수 있습니다 기본 폰트웨이트는 400 이고, 그담에 500을 추가로 이렇게 해주시면 링크 소스가 나오네요 링크 소스는 헤더에 붙여주시고 아래쪽에 폰트패밀리를 복사해서 사용하시면 폰트 패밀리는 html body 에 넣어줄게요 새로고침을 하시면 바뀐게 보이시죠 그러면 이번에는 하단에 컨텐츠 영역을 만들어 볼게요 컨텐츠 영역은 처음에 my image 이미지가 들어갈 자리구요 그리고 중간위치에 큰 글씨 영역이죠 h2 Hello Jane 그다음에 아랫쪽에 p 태그로 그리고 제일 아래 p 태그에는 투데이라는 클래스를 입력하겠습니다 모양이 나왔죠 우선 콘텐츠 영역부터 디자인 해줄게요 여백을 패딩 40픽셀을 주시고 마이 이미지 컨텐츠 안에 있죠 마이이미지는 백그라운드 흰색을 주시고 가로 50px, 세로 50px border-radius로 원형으로 만들어 주시고 그리고 그림자를 만들어 줍니다 10px 만큼 내려온 그림자를 이런 느낌으로 예 이정도 모양이 되겠네요 안의 이미지는 구글에서 iu 를 검색해서 이미지를 하나 골라볼게요 copy image adress background image url 복사한 것을 붙여 넣으시고 background-size : 100px background-position 이정도로 맞춰 주겠습니다 그리고 h2 h2는 폰트 사이즈를 좀 키우구요 30정도로 font weight 두께는 기본 400 이정도 해주시면 될 것 같아요 이번엔 p 태그 p 태그는 마진을 없애주시구요 컨텐츠의 p 태그만 따로 스타일링을 해줄게요 투명도를 05 정도 주시고요 이후에 배경 색에 계속 바뀔 거라 색상을 직접 지정하지 않고 반투명 주었어요 그리고 하단에 따로 투데이라고 클래스를 준 영역있죠? 그부분은 폰트 크기를 12px 정도 주시고 투명도를 다시 진하게 해주시구요 마진을 50 정도 좀 줄일게요 싸이즈를 45 정도로 해 주겠습니다 모양이 대충 나오죠 그리고 이번에는 하단에 카드영역 카드영역은 전체 영역과 그리고 카드 위치를 잡는 카드에이리어를 이렇게 카드라고 먼저 해주고요 그리고 실제 카드 안의 디자인 영역은 inner라고 지정을 해주겠습니다 그럼 inner안에 좌측에 카드아이콘 모양 만들어 주시고 오른쪽에 셋팅 버튼 만들어 주신 다음에 하단의 내용을 하나로 묶을게요 bottom 이라고 하나 묶고 그 안에 p 태그를 9 tasks h2 , personal 여기까지 준비가 됐고 이 아래 영역은 스테이터스 라고 하나로 묶어 주시구요 스테이터스에 오른쪽에 숫자 영역과 왼쪽에 실제 바영역 그려야겠죠 왼쪽은 트랙이라고 할까요 트랙과 트랙 안에 있는 바 그리고 오른쪽에 83 클래스를 'per'라고 따로 주겠습니다 html 은 준비가 됐어요 이제 그러면 카드 영역을 우선 크기를 잡아볼게요 어 크기 확인을 위해서 임시로 백그라운드를 반투명을 줘 보겠습니다 그러면 상단 여백에 있는게 보이실 상단 여백은 컨텐츠에서 만들어 준 거라 padding-bottom 만 좀 줄이구요 세로 사이즈를 잡아야 겠죠 세로 사이즈는 전체 영역의 100% 에서 상단 영역이요 빠진 만큼 딱 계산 할 거에요 그래야 나중에 이렇게 화면아 움직였을 때 틀어지지 않고 아래쪽 영역에 맞게 조절이 되기 때문에 칼큘레이터 ( calc )를 사용해서 100% 마이너스 300px 상단 영역에 맞게 조절을 해볼게요 345 정도가 적당 하겠네요 상단 영역을 제외한 나머지 영역을 꽉 채우겠단 뜻이에요 이정도로 잡아주시고 이번엔 카드 실제 안쪽 영역을 잡아줘 보겠습니다 카드도 마찬가지로 임시로 사이즈 확인을 위해서 임시 배경색을 반투명으로 지정을 하시구요 세로는~ 100% 마찮가지로 가로도 지정 해주세요 그 상단에 카드에어리어 영역에서 하단 여백을 만들어 줄 거에요 패딩을 상단은 0 그리고 좌우 양쪽에 40씩 주시구요 하단은~ 50 정도 하단 영역 이 위로 안 올라오죠 이거는 보더 박스(border-box) 설정을 안해서 그런건데요 박스사이징을 다시 소스를 돌아와서 스타일 제일 위에 별은 박스사이징(box-sizing) 보더 박스(border-box)로 지정을 해주시면 위에 올라온 게 보이시죠 보더 박스를 설정하면 사이즈 설정 된 안쪽으로 패딩 영역이 들어와서 전체 지정한 사이즈의 영향을 미치지 않고 스타일링을 할 수 있습니다 자 이번엔 카드는 배경색을 흰색으로 만들어주시고 아 죄송 합니다 카드의 inner 영역에 스타일링 해줄 거예요 카드

흰색으로 만들어 주시고, 세로 사이즈는 꽉 채워주시고 그리고 컬러는 회색으로 지정해 주겠습니다 여백을 위해서 패딩을 입력을 해주시고 border-radius를 이용해서 라운드를 만들어 주시면됩니다 이제 임시로 적용한 백그라운드 필요가 없으니까 두개 다 삭제를 할게요 이렇게 삭제를 하구요 이번에는 그림자도 만들어 줍시다 이런식으로 그림자를 만들어 주고요 모양이 만들어졌죠? 이번엔 아이콘을 만들어 줄게요 아까와 마찮지로 폰트 어썸에서 user라고 검색을 하시면 비슷한 모양의 아이콘이 나오죠 복사 해서 카드아이콘 영역 그리고 오른쪽에 dot 라고 입력을 해 주시고 마찮가지로 비슷한 아이콘을 복사 해주시면 됩니다 자 볼까요? 들어왔죠? 그럼 이번엔 카드 아이콘을 모양을 만들어 보겠습니다 카드 아이콘은 우선 테두리를 만들어 주시구요 좀 연하게 만들어 줄게요 가로사이즈 50, 세로 사이즈도 50px border-radius로 원형으로 만들어 주시고 텍스트를 가운데로 line-height를 이용해서 가운데로 만들어 주시구요 그리고 사이즈를 좀 키울게요 폰트사이즈를 키우구요 컬러는 배경색의 중간정도 색상으로 이렇게 지정 해주시면 모양이 만들어집니다 그리고 float left로 왼쪽으로 이번엔 셋팅 버튼 float right로 오른쪽으로 붙여주시고 양쪽으로 조절이 됐죠 그리구 이번엔 카드의 bottom 인데요 position absolute를 이용해서 바닦으로 붙여주세요 bottom zero 카드 바깥으로 빠져 나오는게 보이시죠 그거는 바로 상단에 있는 inner의 포지션 relative를 이용해서 이렇게 안쪽으로 모양을 잡아줄 수 있습니다 다시 bottom 으로 와서 가로 사이즈를 100%로 만들어 주시고 좌측으로 붙이고 여백을 만들어 주겠습니다 네 이제 모양 잡는건 준비가 됐어요 이번엔 카드안에 있는 h2는 마진을 줄여 볼게요 10으로 줄여 주시고 컬러도 좀 진하게 더 진하게 할까요 이 정도가 괜찮겠네요 스테이터스도 만들어 줍니다 스테이터스는 float right로 오른쪽으로 붙여주시고 그리고 폰트 크기는 20px 그리고 가상 엘리먼트를 추가를 해 줄거에요 단위가 % 이다 보니까 ::after 를 이용해서 content % 를 입력해주시면 예 나온 게 보이시죠 나중에 개발에서 스크립트로 숫자 만 바꿔줄 예정이라 이렇게 작업을 했습니다 이번엔 트랙 트랙은 background를 회색을 주시고 세로 사이즈는 4px 정도 오른쪽이 숫자 영역을 뺀 만큼 가로를 좀 조정을 할게요 calc 를 이용해서 30px 정도를 빼주시면 됩니다 자 그리고 다시 'per'로 와서 margin-top 마이너스 값을 이용해서 자리를 잡아줍니다 이번엔 바 영역인데 바의 길이는 따로 inline으로 입력을 해 줄게요 html에서 직접 이미 라인으로 스타일 width 83% 이렇게 해 주는 이유는 나중에 개발 적용할 때 보시면 카드마다 숫자에 따라서 바의 길이가 달라질거예요 그래서 감안을 해서 미리 인라인으로 이렇게 길이를 잡아 줬습니다 스타일은 스테이터스에 그리고 세로는 4 px 잡힌게 보이시죠 또 배경색은 전체 배경색을 이용할 겁니다 컨테이너에서 사용했던 배경색을 복사해서 붙여 넣으시고 그라데이션이 새로 방향인데 여기서는 가로 방향이죠? linear-gradient에 가로 방향으로 to left 라고 입력해주시면 준비가 됐습니다 이렇게 크기가 늘어나면 아래쪽으로 늘어나는게 보이시죠 완성된 카드를 두개를 더 만들 거에요 영상에 보시면 이렇게 총 3개가 보이죠 그래서 카드 영역을 복사를 해서 하나, 둘 그러면 아래쪽으로 구성이 된게 보이시죠 이것을 속성을 가로로 만들어 줄 거에요 이것 때문에 이렇게 만들어 놓은건데 카드에어리어에서 display 를 flex 바로 배치되는게 보이시죠 카드 고유의 사이즈를 이용 할 거라서 이렇게 정렬이 되면 안되잖아요 카드영역에서는 flex none 속성을 부여해 주면 네 고유의 사이즈로 지정됩니다 예 그림과 같이 여백이 좀 필요하겠죠 그래서 margin-right 15px 이정도 조절이 되면 비슷하게 나왔죠 실제 영역이 전체가 움직이기 때문에 영역을 좀 잡아 줄게요 overflow , auto 이렇게 일단 1차 준비가 완료가 됐습니다 다음 시간에는 이제 영상 에서와 같이 상세페이지와 이렇게 움직였을 때 액션들을 만들어야죠 자바 스크립트 강좌가 될 것 같네요 첫 번째 시간 여기까지입니다 감사합니다

안드로이드 + 파이어베이스 SNS앱 만들기 part2 [회원가입 화면 구현]

안녕하세요 Bored Developer 입니다 오늘은 저번 영상에서 말했듯이 그 레이아웃을 만지면서 좀 더 앱 다운 형태로 만들어 가는 과정을 담을 건데요 자 먼저 무슨 레이아웃을 만들자 한번 볼까요 저번에 기획안 뭐 했었죠 회원가입 로그인 이거 그냥 순서대로 만들면 될 것 같아요 네 뭐 네 그런 것 같아요 자 그럼 뭐 회원가입 화면 부터 만들어 보도록 할까요 그 자 res 리소스에 들어가면 레이아웃이 있고 그 레이아웃을 우클릭하면 레이아웃 리소스 파일을 하나 만들 수 있습니다 이름은 activite_sign_up 이렇게 해서 만들면 하나 생성되는 게 확인하실 생성되는 거 보실 수 있죠 자 텍스트로 들어가 가지고 LinearLayout을 하나 만들어 줍시다 이 녀석이 뭐 하는 녀석이냐 그 이 안에 있는 View들을 순서대로 배치 시켜줘요 여기 우측에 보시면 순서대로 생기는 거 보이죠 계속 추가 할 때마다 네 이런 역할을 해주는데 저는 horizontal보단 그 왼 어 우측 정렬 보다는 위에서 아래로 아니 네 그런 정렬을 원하기 때문에 orientation을 찾아 가지고 vertical로 바꿔줍니다 그럼 이렇게 바뀌는 게 보이시죠 자 다른건 다 지워주고 어 우리 textView 모양을 좀 바꿔 주도록 합시다 좀 이쁘게 200dp 로 바꿔주고 dp 라는 개념은 안드로이드 에서 사용하는 개념인데 크기 단위인데 그 모바일 디바이스가 크기가 다양하잖아요 그래서 사용하는 개념인데 이렇게 dp 개념으로 dp로 작성을 하게 되면 그 어느 디바이스 에서 보든 크기가 다 똑같이 보여요 그래 가지고 이런 dp를 사용한답니다 이게 왜 안되는지 잘 모르겠는데 200dp 자 높이의 200dp로 하고 좌우는 match로 함으로써 꽉 차게 만들어 주도록 하겠습니다 wrap으로 하면 그 안에 있는 내용을 딱 그 크기만큼 차지 하는데요 match로 해서 꽉 차게 해 보겠습니다 크기 높이 를 200으로 했는데 왜 안 나오냐 이 녀석이 1이기 때문이죠 지우고 하면 다시 200으로 변하게 됩니다 자 text는 회원 가입으로 바꿔 주도록 하고 size가 너무 작아요 size를 키워 줍시다 24정도면 될 거 같아요 그리고 style도 좀 굵게 8 좀 굵게 해 주십시다 그리고 color도 좀 검은색으로 눈에 잘 안 띄니까 color색 검은 색으로 바꿔 주도록 합시다 이렇게 자 그리고 또 gravity 말 그대로 중력이죠 center를 가지고 가운데 모이게 하도록 합시다 자 이렇게 자 이렇게 타이틀은 완성됐고 LinearLayout을 하나 더 만들어 가지고 음 그 editText를 추가 해줄 건데 그 입력폼 만들 거에요 그 이메일 넣고 패스워드 넣고 그런 화면이요 자 봅시다 여기 text 누르면 나오는데 여러 개가 있죠 email있고 phone 있고 time, date, number 뭐 기타 등등 많잖아요 왜이리 많냐 이메일을 선택하면 그 이메일을 선택하는 그 이메일 인풋을 눌렀을 때 그 안에서 나오는 키보드가 이메일 형식으로 바뀌어요 그러고 많이 보셨을 거에요 Number로 만들게 되면 그 아래서 나오는 키보드가 숫자 만 나오게 되어 있는 그 키보드로 나오게 되고 뭐 그런 방식이에요 사용자의 편의를 위해서 이런 거 잘 고려해서 만들어 주도록 합시다 자 이메일 넣기로 했으니까 이메일 넣고 여기에는 패스워드 2개가 필요하죠 패스워드 처음에 입력하는거 하나랑 확인하는거 하나 이렇게 자 이렇게 3개가 생겼어요 그리고 그러면 너무 허전하니까 hint를 넣어 줘야 되요 넣어 주겠습니다 hint란 이게 무엇일까요 입력이 아무것도 없을때 그 자리에 있는 텍스트를 말합니다 자 무엇일까요 한번 보시면 알게 될 거에요 이메일 딱 치면 여기 보이죠 예 거기서 값을 입력하면 이 hint가 사라져요 네 이거 다들 한번 보셨을 거에요 어디서 사용자한테 최대한 공간을 활용하면서 암시를 해줄 수가 있는 거죠 자 이렇게 만듭시다 그리고 또 하나 더 이 좌우에 붙어있는 게 너무 보기가 안 좋은 거 같아요 그래서 여기 LinearLayout에 들어가 가지고 padding을 한 10dp정도 줘 보도록 합니다 해봅시다 네 이쁜거 같아요 이 정도면 충분히 이쁜거 같은데 아직 부족해요 얘네들 사이 공간이 너무 가까워 bottom 아래로 5dp 정도 띄도록 어우 잘 못했네요 5 dp 가 아니라 잠시만요 이게 맞지 않나요 아 padding이 아니라 padding은 안쪽 이니까 margin으로 주면 될 거 같습니다 margin에서 얘네 margin bottom 5누르면 네 이쁘게 떨어지는 걸 확인하실 수 있죠 얘도 넣도록 합시다 아래에 다가 버튼을 하나 넣을 거기 때문에 얘도 넣고 버튼을 하나 넣어주도록 합시다 이름은 회원가입 네 이렇게 깔끔하게 넣어 두도록 합시다 자 이제 어느 정도 다 된 거 같은데 음 아직 부족한 게 하나 있는 거 같기도 하고 어 네 아이디를 넣어 줘야죠 네 우선 설명 좀 할게요 지금 이 상태로 다 만들었다고 이제 실행을 한다고 화면에 나오지 않아요 왜냐 그 아직 이 녀석을 참조 하는 자바 파일이 없고 자바 파일을 만든다 해도 지금 manifests에서 MainActivity 이 파일을 첫 번째로 실행하도록 설정이 되어 있어요 그래 가지고 우리는 맨 먼저 SignUp 자바 파일을 하나 만들어 줄거고 manifests에서 그 파일을 먼저 실행하도록 그렇게 설정을 바꿔주도록 할 겁니다 자 한번 시작해볼까요 우선 id 먼저 지정해주고 넘어갈게요 자바 파일에서 음 이 VIew에 접근하려면 id로 접근을 하거든요 그래서 이 id 가 필요하답니다 잘 봐요 id 이름은 emailEditText로 할게요 얘는 passwordEditText 얘는 passwordCheckEditText 이 녀석은 signupButton 자 이렇게 하면 될거 같습니다 자 이제 여기 자바 파일 하나 만들어 가지고 SignUpActivity 자 만들어가지고 여기 MainActivity에 있는 녀석을 슥 복사해 가지고 슥 붙여 넣어 줍시다 오케이 자 이러면 될거같네요 하나 빼 먹었네요 자 이렇게 자 이제 아 이 녀석도 바꿔줘야 되죠 이제 main이 아니라 signup을 참조해 줍시다 자 이렇게 어느 정도 됐고 이제 manifests에서 이 SignUpActivity를 시작하도록 만들면 자 이렇게 만들면 딱 실행이 이쁘게 잘 될것 같습니다 자 한번 실행을 해보도록 합시다 자 여기에 하나 키고 핸드폰을 키고 이 녀석은 전에 만들었던 녀석이고 자 실행을 해보면 아 이거 살짝 오래 걸리네요 그럼 이거 실행되는 동안 이 노란 화면 이거 warning이여서 무시도 되긴 하는데 전 보기가 좀 안 좋아 가지고 좀 잠시 수정을 좀 해 주도록 할게요 이게 그 앱 링크를 안 달아줘서 그런 거 같은데 이쪽에서 그냥 대충 아무거나 하나 걸어주도록 합시다 googlecom 하나 걸어주도록 할게요 오케이 이렇게 해주면 이렇게 하고 다 끄면 네 잘 될 거 같습니다 이렇게 사라지죠 자 앱이 실행 된 거 같으니까 뭐 확인 하도록 할게요 자 이쁘게 나왔죠 여러분도 이쁘게 나왔을 거라고 생각하고 다음으로 넘어가기 전에 이메일 키보드가 잘 나오는지 확인하고 넘어가도록 할게요 여기 골뱅이 보이죠 골뱅이 잘 나오고 com 아주 편하죠 사용기 비밀번호도 *로 아니 으로 잘 나오고 여기 서도 잘 나오고 자 이렇게 완벽한 화면이 나왔고 이제 다 끝났으니까 여기 자바 파일 와 가지고 이제 실질적으로 회원 관리 로직을 작성하도록 할게요 자 봅시다 먼저 버튼 이벤트부터 가져올 거에요 회원 가입 회원 추가 회원 회원 추가 회원 회원 가입 버튼을 누르면 뭔가 로그가 찍히도록 한번 만들어 보도록 하겠습니다 자 아까 그 찾을 때 id로 찾는다 했잖아요 저의 xml에 파일에 View를 접근할려면 자 그 아이디를 접근하는 방법이 이 findViewById인데 이렇게 사용하시면 됩니다 id 아까 찾으려 했던 게 버튼이었는데 signButton 여기 있는 거 보이죠 setOnClickListener 리스너 뭐 듣는다 리슨 뭐 들어야 되죠 뭘 들어 클릭 됐는지 들어야 돼요 그래서 우리는 음 이렇게 setOnClickListener을 달아줍니다 자 이제 여기다 이 괄호 안 에다가 이 실제 들었을 때 할 로직을 넣어 줘야 되요 넣어주기 위해서 하나 작성해 주도록 합시다 리스너 하나 만들어주는 과정입니다 View

OnClickListener switch(vgetId) case Rid 만약에 이 녀석이 클릭 됐을 때 발동하는 녀석이죠 왜 이렇게 작성을 하냐 이 녀석 말고 클릭 리스너가 다른 것 도 많을 수 있으니까 이런 식으로 작성이 되는 거에요 제가 이렇게 작성 하도록 합시다 에 근데 솔직히 여기서 버튼이 이거 한게 밖에 없을 것 같아서 음 그냥 다르게 예 하나 만을 위해서 작성해도 되긴 하는데 나중에 확장성을 고려하면 이게 이렇게 작성하는 게 더 편할 수도 있어요 나중에 추가할 수도 있을까요 자 이렇게 해서 클릭이 잘 작동하는지 로그를 한번 찍어 보도록 하겠습니다 클릭 앞에는 태그고 뒤에는 내용인데 귀찮으니까 이렇게 할게요 클릭 클릭하고 alt enter 눌러 달라고 자꾸 말해주는데 해줍시다 자 이렇게 시작을 하면 어 버튼을 누를 때마다 여기 logcat에 클릭클릭클릭 계속 나올 거에요 자 한번 확인해보도록 합시다 그리고 여기 왼쪽에 저는 클릭하면 이 녹색으로 막 변하고 막 빨간색으로 변하고 막 그러는 걸 확인하실 수 있는데 그건 무시하셔도 돼요 저는 이게 Git이랑 연결되어 있어 가지고 이러는 건데 여러분 안 그래도 그 정상인 거에요 정상이라기 보다는 네 그게 평범한 거에요 자 한번 볼까요 회원 가입 버튼을 누르면 클릭 클릭 클릭 클릭 클릭 클릭 자 음 아주 완벽하게 된 걸 확인하실 수 있습니다 자 이제는 음 클릭도 다 됬으니까 이제 진짜 파이어베이스 연동을 한번 해보도록 하겠습니다 자 볼까요 인터넷을 하나 키고 파이어베이스 치면 맨 위에 뜰 거예요 자 여기에서 시작하기 누르면 구글 로그인은 다 되어있다는 가정하에 음 진행되고 있는 거구요 자 이건 아까 만들었던 프로젝트인데 지워버리고 여러분도 처음이니까 처음 하는 환경에서 시작하도록 하겠습니다 영구적으로 지워버리고 음 잘 지워진 거 겠죠 안 지워졌네요 어 자 아니 사용자 권한이 아니라 프로젝트 삭제 이렇게 지워버리고 이 부분은 없어요 하는거 아니에요 자 이제 다시 시작합니다 프로젝트 추가 눌러 가지고 SNS-Project 언더바가 안되니까 저 이름을 뭐라고 하죠 뭐 있었는데 아무튼 자 이렇게 하도록 하겠습니다 기존의 한도에 도달 했다는 데 뭔 소린지 잘 모르겠구요 왜 안 되죠 아 이 녀석 때문인가 왜 안 지워지죠 아까 지웠던 거 같은데 자 다시 지워주고 뭐죠 지운 거 같은데 네 지워졌습니다 지워졌고요 아 잠시만요 자 방금 좀 종료했다 했는데 그 이거 영상을 준비 하느라 그 프로젝트를 많이 만들었다 지웠다 해 가지고 지워지는데 한 일주일 정도가 걸린다고 하네요 그래 가지고 그 프로젝트 제한에 걸려 가지고 지금 당분간 개선해 못하는 상황에 처음 거 같네요 한 일주일 정도 후에는 개설 할 수 있겠지만 아무튼 그래 가지고 다른 계정으로 와가지고 음 마저 진행하도록 하겠습니다 이름은 SNS_Project로 진행하도록 하겠습니다 동의해 주시고 프로젝트 만들기 하시면 좀 기다리시면 생성이 될 겁니다 자 계속을 누르고 여기 안드로이드 를 눌러서 연결을 해 주도록 합시다 자 여기 패키지 이름의 뭘 적느냐 manifests로 가시면 여기 이렇게 package에 이름이 나와요 복사에서 붙여 넣기 해주시면 되고 이름은 SNS_Project 이름은 맞춰 주셔야 돼요 안 해도 되나 네 아무튼 맞춰주는 편이 좋을 거에요 자 이렇게 하고 이거 다운로드 받아야 돼요 이건 필수적 이니까 다운로드 꼭 받으시고 폴더를 열고 좀 전에 있던 파일이랑 겹치니까 다시 다운로드 받아 가지고 자 다운로드 됐네요 자 이 파일을 어디로 넣는냐 생성된 SNS_Project의 app에다가 넣어주면 됩니다 자 이렇게 해주면 됩니다 자 다음으로 넘어가면 이걸 하라네요 음 자 여기 종속성을 추가에 해줘야 되는데 음 네 여기 끄고 어떻게 하는지 천천히 해보죠 여기 Gradle Scripts 보이죠 여길 들어가 가지고 SNS_Project랑 app을 켜줍시다 먼저 프로젝트 부터 수정해 주도록 할게요 이걸 복사하고 클릭하면 복사가 되요 복사하고 여기다 붙여줍니다 아직 sync now는 하지 마세요 이거 다하고 한 번 하는 게 좋을거 같으니까 자 이거 복사하고 종속성도 복사 하고 들어가서 자 여기 붙여주도록 할게요 이 녀석도 복사해주고 아래다 붙여 주도록 하겠습니다 자 여기고 버전이 낮다고 하는 같은데 버전 올려주고 sync now 눌러 주시면 될 것 같습니다 자 이렇게 좀 기다리고 그래서 다음을 눌러주고 이제 이걸 총 다 추가 된 다음에 실행을 하면 실행이 되면 여기 구글이랑 통신이 잘 돼 가지고 전서 확인이 될 거에요 그러면 아주 성공적으로 파이어베이스가 연결이 된 겁니다 자 실행해 봅시다 자 실행이 됐네요 어 실행이 돼도 음 좀 더 기다리셔야 이게 통신이 원활하게 진행 될 거예요 조금만 기다리시면 여기 서도 확연히 됐다고 나을 겁니다 자 추가 가 됐고 콘솔로 이동해서 어 이제 그 회원 관리 하기 위해서 준비를 좀 합시다 authentication에 들어가 가지고 여기에 로그인 방법에 이메일 비밀번호에 사용 설정을 체크해주시면 체크하고 저장을 해주시면 이제 설정은 끝났다고 보실 수 있습니다 자 이제 문서로 가지고 파이어베이스 문서로 가서 이제 한번 회원가입을 진행해 보도록 하겠습니다 음 자 여긴 인증에서 파이어베이스 sdk 시작하기로 가시면 확인하실 수 있는데요 여기 종속성을 추가해 주셔야 돼요 아까 추가 한 거 말고도 하나 더 추가해 주셔야 돼요 자 이렇게 버전이 낮다는 것 같으니까 버전을 올려주시고 자 여기 그 에러가 뜨는데 실행이 된 걸로 봐서는 뭐 무시해도 되는 거 같긴 한데 별로 보기 좋지 않으니까 해결해 보도록 합시다 이거 쭉 복사해 가지고 구글에 한번 물어 보도록 하죠 자 이렇게 물어보면 어 근데 이러면 해결이 이건 보기 안좋으니까 이거 지워 버리고 자 이러고 sync now 누르시면 아주 멋지게 해결 되는 걸 확인 하실 수 있습니다 아 자 이제 얘네들은 오늘 영상에서는 이제 더 볼 필요 없으니까 얘들은 꺼버리고 manifests에서 하나 추가 해주도록 합시다 우리가 이제 뭐 그 있는 회원가입을 할 거니까 그 인터넷이 필요해요 인터넷으로 통신 해야 되니까 인터넷 퍼미션을 하나 가지고 와서 여기다가 추가 해주도록 합시다 자 이렇게 말이죠 자 이렇게 넣어주시면 됩니다 또 이제 우리는 인터넷 권한을 얻어 가지고 마음것 인터넷 통신을 할 수 있는 것이죠 자 이제 준비는 끝났고 음 한번 작업을 해보도록 합시다 자 문서 대로 보면 문서를 보면 어 여기 이대로 그냥 천천히 따라 하면 될 것 같아요 인스턴스 선언합니다 선언 하시고 이렇게 alt enter 눌러 가지고 추가해서 에러를 없애 주신 다음에 초기화를 해 주시고 음 다음에는 음 이 녀석 이 녀석은 딱히 필요 없어 보이기도 하는데요 우선은 넣어 주도록 하겠습니다 그리고 이 녀석이 실제로 회원 가입 로직을 처리하는 녀석인데요 함수를 하나 만들어서 관리 해 주도록 합시다 자 이렇게 말이죠 토스트는 필요 없고 음 여기가 실패했을 때 UI로직 여기가 성공했을 때 UI로직 자 태그는 태그도 하나 만들어 주도록 하죠 음 자 이렇게 만들어 주도록 합시다 이제 클릭 됐을 때 이 로직을 실행시키면 아주 깔끔하게 될 거 같은 같은데 이제 여기다가 이메일이랑 패스워드만 넘겨주면 클릭이 됐을 때 아주 정상적으로 로직 이 처리되면서 회원 가입이 될 겁니다 간단하죠 자 이제 이메일과 패스워드는 어떻게 넣어주냐 아까 위에서 버튼 찾았듯이 똑같이 editText를 findViewById로 찾아 주시면 된답니다 자 어떻게 하는지 볼 가요 String email = editText findViewById(Rid

emailEditText) setText 아니 set이 아니죠 getText 입력한 텍스트를 얻어오는 작업입니다 그리고 이 얻어온 값은 String 값이 아니기 때문에 String값으로 변환해 주도록 하죠 이렇게 하고 패스워드는 passwordEditText 자 이렇게 해서 값이 정상적으로 넘어갈 것이라 생각됩니다 자 별 문제 없어 보이는데 한번 실행해 볼까요 그리고 얜 앞에 editText를 붙여준 이유가 이getText를 사용하려면 일반 View는 getText를 사용하지 못해요 그 editText나 textView에서만 사용할 수 있는데 그래서 이 줄을 editText로 형변환을 해 준 겁니다 getText를 사용하기 위해서 이제 실행이 되면 실행이 되서 회원정보를 입력하고 회원가입 버튼을 누르면 여기에 사용자의 그 입력한 사용자가 표시가 될 거라고 저는 믿어 의심치 않습니다 한번 적어 볼까요 test@testcom 비밀번호는 123456 123456 자 한번 회원가입을 눌러 봅시다 한번 볼까요 logcat을 보면 success 성공했다고 나오고 과연 진짜로 나오는지 한번 확인해 봅시다 f5를 누르면 자 깔끔하게 등록된 거 보이시죠 자 이렇게 아주 편하고 빠르고 쉽게 회원관리를 할 수가 있습니다 다음 영상에서는 실제로 로그인을 해보고 이 회원 가입도 지금 로직 이 완전치 않잖아요 어 비밀번호 체크도 만들어 보고 좀 더 깔끔하게 만들어 보도록 하겠습니다 다음 영상에서 보도록 합시다 감사합니다

안드로이드 광고 차단 whosad

자 지금부터 안드 로이드폰에서 알수 없게 광고가 노출되는 현상에 대해서 방금도 보시다시피 이렇게 갑자기 아무것도 안했는데 광고가 이렇게 나타나신 걸 보실 수 있습니 다 이것를 찾는데 많은 분들이 많은 어려움을 겪고 계신데요

어떻게 제거할 수 있는지 한번 같이 따라해 보도록 하겠습니다 일단 요 광고는 닫아주시고요 플레이스토어에서 whosad를 검색을 하시면 되요 여기 바로 나온 것을 바로 설치해주시면 되겠습니다 자 설치를 하고 있는 중이구요 실행 방법도 같이 확인해 보도록 하겠습니다 열기를 눌러서 실행을 해보시면 앱이 바로 실행이 되지않고 몇가지 권한을 허용을 해야 됩니다 일단 다른 앱 위에 표시되는 앱 권한을 허용을 해 주셔야 되고 그 다음에 확인 을 눌러서 접근성 권한까지확인을 해주셔야 합니다 접근성은 옵션으로 들어오셔서 whosad라고 되어 있는 이곳에서 옵션을 켜 주시면 이런것 같은 권한을 허용을 해 주시면 됩니다 자 그럼 이렇게 하단에 w hosad가 실행된 것을 확인하실 수 있으시고 이앱의 기본적인 기능은 이렇게 지금 같이 현재 실행되고 있는 앱의 패키지 이름과 앱 이름을 보여주게 되는 것이 기본 기능입니다 자 그러면 광고가 나올 때까지 한번 잠시 기다려 보도록 하겠습니다 아 자 지금 이렇게 아무것도 하지 않은 상황에서 잠시 좀 기다려 보시면 갑자기 광고가 나오는걸 알 수 있게 됩니다 자 이렇게 아무것도 안했는데 광고가 이렇게 나오게 됩니다 광고가 나오면 광고 를 한번 눌러주시면 이렇게 광고를 누가 띄웠는지 보여주게 됩니다 자 음성 변조기 라고 된 앱을 삭제해 주시면 이제 더이상 광고에 시달리지 않게 됩니다 끝

안드로이드 코딩 습관 #2 – 안드로이드 UI를 쉽게 구성해볼까요!

UI는 종이에 사진을 올리고 글을 쓰듯이 만든다는 거죠 안녕하세요 코딩 습관의 코딩 메이트 디모 입니다 지난 시간에 저희는 주소록을 만들기 위해 어떤 화면이 필요한지 생각해 봤습니다 이번 시간에는 이 화면들을 구성 해 볼텐데요 이런 화면 구성을 뭐라고 부를까요 바로 UI 라고 부릅니다 많이 들어는 보셨을 텐데 정확히 아시나요 UI 란 유저 인터페이스, 즉 사용자가 프로그램과 의사소통 하기 위한 매개체입니다 쉽게 말해 컴퓨터에게 사람의 말과 행동으로 입출력하게 해준다는 말입니다 그럼 본격적으로 UI 들을 구성해 보겠습니다 먼저 상세화면 부터 구성 해볼까요 주요기능은 한 사람의 입력된 정보를 모두 보여주는 화면입니다 구성 요소로 이름, 사진, 전화번호, 이메일, 인스타그램, 메모 정도를 사용 하도록 하죠 여기서 잠깐! 그런데 대체 UI는 어떻게 만드는 걸까요? 안드로이드는 각각의 UI 를 모듈 형태로 제공하고 있습니다

프로그램으로 끼워 맞추고 조작하면 됩니다 쉽게 말하면 종이에 사진을 올리고 를 쓰듯이 안된다는 거죠 여기서 빈 종이에 역할을 하는 것을 레이아웃이라고 합니다 내부에 여러 요소를 놓을 수 있죠 레이아웃에 놓을 요소들은 뷰가 담당합니다 안드로이드는 여러가지 형태의 뷰를 구현하여 제공하고 있습니다 그럼 다시 상세화면 구성으로 돌아와 봅시다 레이아웃의 프로필 사진, 별칭과 이름, 전 화번호, 인스타그램, 이메일, 메모 순으로 뷰를 놓아 보죠

왜 이렇게 배치 했을까요 UI은 사람이 인지하는 순서대로 중요한 요소를 배치해야 합니다 읽어야 하는 요소들은 책을 읽을 때처럼 좌측 상단에서 우측 하단 순으로 배치하는 것이 편합니다 그럼 방금 상세 화면을 구성하는 데는 어떤 뷰들이 사용된 지 알아볼까요 이미지 파일을 표시하는 ImageView, 그리고 글자를 표시하는 TextView를 사용했습니다 다음은 입력화면을 구성해 봅시다 입력하면 은 상세 화면에서 각 항목을 입력으로 바꿔주면 됩니다 한번 바꿔 볼까요 프로필 사진, 별칭과 이름, 전화번호, 인스타그램, 이메일, 메모까지 입력 창 으로 변경합니다

사진 위치에 대체될 카메라 아이콘은 사진을 선택하는 버튼으로 사용할 겁니다 입력 화면에서 글자를 입력하기 위한 뷰가 추가된 것을 보셨죠 글자를 입력하는 뷰를 EditText 라고 합니다 마지막은 목록 화면을 구성 해야겠죠 목록화면은 결과부터 확인해 볼까요 앞서 입력했던 내용을 명함 형태로 만들어서 레이아웃에 차례로 배치해봅니다 참쉽죠 앞서 종이 역할을 레이아웃이 한다고 설명 드렸죠 여기서 사용되는 레이아웃은 앞선 두 화면 과는 다릅니다 그건 바로 동일한 형태의 레이아웃을 목록 형태로 여러개 늘어놓는 점입니다 앞선 두 화면처럼 자유롭게 배치하는 경우에는 RelativeLayout을 목록화면처럼 반복적으로 뷰을 배치하는 경우에는 RecyclerView를 사용합니다 그럼 처음부터 다시 목록 화면을 만들어 볼까요

먼저 명함역할의 빈 RelativeLayout을 준비합니다 사진 이름 전화번호 인스타그램 이메일 정도로 요약하면 되겠죠 다음은 RecyclerView에 명함을 차례로 배치 해봅시다 이렇게 입력화면, 상세화면, 목록화면이 모두 완성되었습니다 오늘의 키포인트는 3가지! 종이의 역할을 하는 것은 Layout 요소의 역할을 하는 것은 View 라고 한다는 점

레이아웃에 뷰를 마음대로 배치하고 싶을때는 RelativeLayout 반복적으로 배치하고 싶을 때는 RecyclerView를 사용한다는 점 그리고 오늘 사용한 뷰는 ImageView, TextView, EditText가 있었다는 점을 기억하세요 다음 시간에는 pc에 안드로이드 를 개발하는 개발 도구를 설치하는 방법을 같이 알아보도록 하겠습니다 구독과 좋아요 부탁드릴게요