리액트 네이티브로 날씨앱 만들기 #11 Working with Icons

이번에는 아이콘을 만들어보자 그전에 이 온도 텍스트를 크게 만들께

폰트 사이즈를 38 -> 48으로 변경 이 앱은 상태바(status bar)가 없으면 더 멋져보일꺼야 같이 보이니까 그닥 멋지지가 않아 다행히도 리액트 팀이 만든 api가 있어서 그것을 사용하면됨 status bar를 불러오도록 하자

이건 평범한 컴포넌트야 그래서 style을 사용할 수 있지 light 라고 작성하고 저장, 새로고침을 해서 확인해보자 안되는군! 구글에 검색해서 찾아보자 light-content 라고 작성해야함

수정하여 작성 저장, 새로고침 수정된 것이 보여? light, dark 에 따라 다르게 출력됨 그 말은, 이것도 해볼 수 있어 hidden을 작성! hidden = true 그러면 우리의 상태창이 보이지않게 가려줘 자, 이제 아이콘 작업을 해보자

다행히도 expo는 아이콘 관련된 멋진 패키지를 갖고있어 이름은 ion icon인데 정말 많은 종류의 아이콘을 보유하고 있지 오, 이름은 vector icon이야 쏘리 (-_-

) 이 패키지에는 아이콘 종류가 어마어마하게 많아

폰트어썸 아이콘을 포함해서 다양한 종류를 갖고있어 엑스포 덕분에 이렇게 편하게 아이콘을 사용할 수 있어 보다시피 entypo, foundation, 등등 다양한 종류 아이콘, 폰트어썸 이라는 단어가 낯설다면, 노마드 아카데미의 '카카오톡 클론' 을 공부하기를 바래

난 여기서 ion icon을 쓸꺼야 자, 이걸 불러오려면 다시 돌아가서 import ionicons 작성! 저장하고 오류 메세지 없는지 살펴보고 그리고 여기 텍스트를 아이콘으로 변경하자고 text를 ionicons로 변경 ion icons은 여러가지 props가 있는데, 그 중 하나가 색상이야 색상을 하얀색으로 지정

사이즈는144으로 한번 해보자 마지막은 아이콘의 이름이야 이 디렉토리에서 이름을 확인할 수 있어 이름이 뭔지 검색해보니까 ios-rainy 검색해서 다시 확인해보자

이름 확인 이게 내가 사용할 아이콘의 이름이야 이름 복사-붙여넣기 오류 발생!! (!?!?!?!) upper 컨테이너의 배경색상을 투명으로 지정! 이제 보이는구만! 아이콘의 부모인 upper 컨테이너 배경색을 투명으로 변경했어 자, 이제 아이콘이 잘 보이는 것을 확인했지? 그 외에 어떤 아이콘도 (ion icon 이라면) 사용할 수 있어

예를 들면 ios-closed-captioning 아이콘을 사용해보자 아이콘 이름 변경중 자, 변경된 것이 보이지? 이렇게 겁내 쉽게 아이콘을 붙여넣을 수 있어 기억해 expo에 이미 해당 패키지가 있기때문에 가능한거야 expo를 안쓰면 말짱황 우리가 expo를 쓰고있기때문에 이렇게 쉽게 활용이 가능한거야

이 경우가 아니라면 npm, yarn을 통해 설치해야해 허나 expo를 사용하면 이렇게 쉽게 불러올 수 있음 빠르게 복습해보자! ion icons을 불러오기 이 아이콘은 vector icons의 패밀리야 만약 원하면 font awesome을 불러올 수도 있어

ion icons을 불러온 후에, 3가지 종류의 props를 지정해줘 색상, 사이즈, 그리고 이름 해당 강의 영상 상단 혹은 하단에 아이콘 링크를 첨부할께 아이콘을 사용할때 정확한 이름을 복사-붙여넣기 하도록 해 만약 내가 이름에 오타를 내면, 아이콘이 정상으로 출력되지 않을꺼야 그리고 이렇게 우리가 선택할 수 있는 다른 아이콘 이름을 보여주지

여기까지야~ 참, 그리고 upper 컨테이너의 배경색을 투명으로 변경하는 것 잊지마! 내가 그걸 안해서 이렇게 하얀색으로 출력되었었지 배경색을 투명으로 변경해야 차일드인 아이콘이 정상으로 출력될거야 여기까지 디자인이 완료되었고- 이제 위치와 날씨 데이터를 불러오면 됨 씨유!

한국의 스티브잡스 서울버스 앱 개발소년 유주완 (Korean genius programmer)

나는 유 주 완입니다 – 18 세 서울 버스 애플리케이션 개발자의 꿈, 유주완 – Q

18 세의 천재? A 나는 책보다 컴퓨터를 더 좋아하는 학생이었습니다 Q 앱 제작은 어떻게 생각 했습니까? A 처음에는 특별한 이유없이 앱을 만들었습니다

때로는 마지막 버스를 타거나 학교에 맞추기 위해 버스 스케줄을 알아야했습니다 그것이 내가 버스가 스마트 폰을 통해 언제 도착하는지 알아내는 것이 편리 할 거라고 생각한 것입니다 Q 어떻게 앱을 만들었습니까? A 앱을 만들기 위해 모든 종류의 프로그램을 배워야했습니다

나는 정보를 얻기 위해 선생님이나 책을 가지고 있지 않았지만 내가 알고 싶었던 모든 것은 인터넷에 있었다 특히 Google은 몇 가지 키워드로만 다양한 정보를 제안했습니다 내가 필요한 것을 검색 할 때 많은 시간을 절약 할 수있었습니다 Q 인터넷은 어떤 도움을 주었습니까? A

인터넷은 다른 앱 제작자가 공유 한 아이디어를 볼 수있는 효율적인 방법이었습니다 말할 필요도없이 관련 문서에 접근하는 것이 편리했습니다 Q Google이 없으면 어떻게 될까요? A 내가 생각해 보자

나는 상상조차 할 수 없다 Q 대학생으로서의 계획 A 꿈을 향해 계획을 세우기 위해 학교에 다닙니다 나는 그들을 하나씩 진실되게 만들고 싶다

– 유주완의 꿈 – 내 꿈은 긍정적 인 방식으로 사람들의 삶을 개선 할 수있는 무언가를 만드는 것입니다 Google, Facebook, 스마트 폰과 같습니다

핑거앤 플러스: 당뇨관리 혈당관리를 위한 당뇨병 수첩 앱

손씻고 채혈침 놓고 아프게 피를 뽑아서 검사지에 묻 혔는데 혈당기가 알려주는 건 달 랑 숫자 세자리 좋다는 건가 나쁘다는 건가 그럼 뭘 하면 되지 인터넷을 검색해 봐도 머릿속은 복잡해지고 이래서 혈당관리를 포기하는 환자가 우리나라에만 270만 명

혈당관리 챗봇 핑거앤과 함께 혈당 을 관리해 보세요 혈당 상태에 따라 적절한 대응방법을 실시간으로 알려주고 혈당에 영향을 주는 식사 운동 복약 그리고 인슐린도 쉽게 기록할 수 있고요 혈당관리에 효과적인 생활습관 을 실시간으로 알려줘요 매일매일 합병증 예방법 식사법 운동법 등 다양한 당뇨상식을 보내 드리고요

사용자의 기록을 바탕으로 나쁜 생활습관을 찾아서 알려주기도 해요 더 궁금한 게 있다면 당뇨병 전문가 에게 전화로 물어보세요 당뇨병 관리 앱 핑거앤

Build the new, modular Android App Bundle (Google I/O ’18)

피에르 레 세네 : 안녕하세요 저는 Pierre이고 Google Play의 소프트웨어 엔지니어입니다

안토니 모리스 : 안녕하세요 저는 Google Play의 소프트웨어 엔지니어 인 Anthony입니다 IBRAHIM KARAHAN : 저는 Google의 파트너 개발자 옹호자 인 Ibo입니다 피에르 레 세네 : 음, 여러분 중 일부는 이전 세션에서 온 것일 수도 있습니다 Google Play에 대한 개요를 제공 한 원형 극장에서 동적 게재 및 새로운 게시 형식 안드로이드 앱 번들 (Android App Bundle)과 어떻게 이것은 애플 리케이션을 작게 만들 것입니다

이 세션에서는 기술 심층적 인 다이빙을 할 것입니다 이 새로운 출판 형식 우리는 그것이 무엇을 포함하는지, 그것을 어떻게 만드는지, 그것을 게시하는 방법뿐만 아니라 그것을 테스트 할 수있는 다른 방법을 제공합니다 Google Play의 생성 및 게재 방법에 대해서도 설명합니다 APK를 최종 사용자에게 제공합니다

이제 Android App 번들의 형식부터 시작해 보겠습니다 Android App Bundle은 zip 아카이브입니다 이미 익숙한 파일이 들어 있습니다 APK에서는 텍스트 파일, 리소스, 자산, 네이티브 라이브러리 앱 번들과 APK가 두 가지 목적을 지닌 두 가지 고유 한 형식입니다

앱 번들은 순전히 출판 형식입니다 그래서 그것은 장치에 직접 설치 될 수 없습니다 또한 일부 메타 데이터 파일 최종 APK에서 끝나지 않는 도구가 올바른 방식으로 APK를 구축하는 데 도움이됩니다 마지막으로 앱 번들의 형식이 APK보다 엄격합니다 우리는 도구가 완전히 묶음에있는 파일 이해하기 유효한 APK를 생성 할 수 있습니다

이제 하나의 앱 번들을 열고 내부 내용을 살펴 보겠습니다 그래서 그 묶음을 열면, 이것은 당신이 기대해야하는 것입니다 그래서 이것은 많은 사람들에게 익숙해 져야합니다 바퀴를 다시 발명하는 대신에, 우리는 APK의 일부 구조를 재사용하기로 결정했습니다 우리가 파일을 더 잘 설명하는 데 필요한 것을 수정해야합니다

그래서 우리는 그들을 자유롭게 통과 할 것입니다 시작하려면 앱 번들에 다중 모듈 지원, 전에 들었을 수도 있습니다 그리고 곧 모듈에 대해 더 자세히 알려 드리겠습니다 지금 당장은 최상위 디렉토리 앱 번들에는 모듈의 이름이 있습니다 모듈에는 항상 base라는 모듈이 있습니다

번들에 이것이 우리가 여기서 바라 보는 것입니다 Android 매니페스트가 계속 표시됩니다 새 프로젝트는 실제 XML 파일입니다 APK에서는 바이너리 형식을 볼 수 있습니다

앱 번들에서 프로토콜 버퍼로 컴파일됩니다 형식을 사용하면보다 쉽게 ​​변환 할 수 있습니다 APK와 달리 dex 파일은 dex라는 디렉토리 아래에 있습니다 Android 리소스, 애셋, 반면에 부정적인 도서관은, APK와 동일한 디렉토리 구조를 따르십시오 유일한 차이점은 XML 리소스입니다

이들은 또한 프로토콜 버퍼 포맷으로 컴파일되며, 바이너리 형식 대신 resourcespb 파일은 리소스 테이블입니다 이것은 파일 resourcesarac과 같습니다

APK에서 보았을 수도 있습니다 앱에있는 리소스를 설명합니다 및 타겟팅pb 확장자는 프로토콜 버퍼 형식입니다

다시 말하면, 이전에 도구를 변형하기가 더 쉬워졌습니다 APK에서 이진 형식으로 변환됩니다 assetspb 및 nativepb 파일 자산에 대한 자원 테이블과 동일합니다

및 네이티브 라이브러리 그래서 자산이나 네이티브 라이브러리가있는 경우에만 존재합니다 또한 파일의 대상 지정을 설명합니다 각각의 디렉토리에 있습니다 앞에서 언급 한 것처럼 리소스 테이블, 자산 테이블 및 기본 라이브러리 테이블 앱 파일 타겟팅에 대해 설명합니다

그래서 나는 그것이 의미하는 바를 설명하겠습니다 파일 타겟팅은 설명입니다 주어진 파일을 대상으로하는 장치 또는 사용자 유형 Google Play 동적 게재의 핵심 개념입니다 파일 타겟팅을 이해 한 이후 은 주어진 사용자에게 필요한 파일 만 제공 할 수 있음을 의미합니다 그리고 이것이 우리가 앱을 더 작게 만들 수있게 해줍니다

앱 번들은 APK에 존재하는 타겟팅을 다시 사용합니다 당신은 이미 이것에 익숙합니다 그래서 나는 빨리 가서 빨리 달릴 것입니다 리소스의 경우, 예를 들어, 리소스의 디렉토리 이름에 HDPI HDPI 장치를 대상으로 지정하거나 프랑스 사용자를 대상으로 fr을 추가하십시오 네이티브 라이브러리의 경우 동일합니다

디렉토리에 아키텍처를 추가합니다 여기서도 새로운 것은 없습니다 앱 번들도 같은 방식으로 작동합니다 이제 우리는 당신 중 일부를 위해, 애셋은 앱의 큰 부분을 차지합니다 따라서 앱 번들은 자산 타겟팅을 지원합니다

언어 타겟팅부터 시작합니다 곧 텍스처 압축 형식을 추가 할 예정입니다 및 그래픽 API 버전 따라서 우리는 관련 자산 만 사용자에게 제공 할 수 있습니다 앱과 게임의 크기를 줄이십시오

이것이 대상 자산 디렉토리를 만드는 방법입니다 해시 기호를 사용하는 동안 타겟팅하는 저작물 디렉토리를 식별하려면 다음에 정의하는 키가옵니다 우리가 목표로 삼고있는 차원들 – 예를 들어, lang은 언어를, tcf는 텍스처 압축 포맷을, 등등 그런 다음 키와 관련된 값이옵니다 음, 몇 가지 예를 살펴 보겠습니다

애셋이 포함 된 디렉토리의 예는 다음과 같습니다 프랑스어 사용자 이것은 자산 디렉토리의 또 다른 예이며, 여기서 텍스쳐 압축 포맷에 기초하여 타겟 화되고, etc1 형식을 지원하는 장치를 타겟팅합니다 이제 앱 번들 형식에 대해 더 많이 알고 있으므로 나는 Anthony에게 그것을 넘겨 줄 것이다 사용자에게 소규모 앱을 제공하는 데이 방법을 사용하는 방법을 알려줍니다 ANTHONY MORRIS : 고마워, 피에르

안녕, 모두들 피에르가 너에게 설명하고 있었어 우리가 어떻게 형식을 바꾸는 지 Play 스토어에 게시합니다 그리고 지금 나는 너에게 설명 할거야 사용자에게 제공하는 서비스의 형식을 어떻게 변경하는지, 어떻게 우리가 이것을 제공하는 데에만 사용하는지 각 사용자에게 필요한 것

이제 분할 된 APK부터 시작하겠습니다 그래서 Android Lollipop에서 Android에 기능을 추가했습니다 플랫폼으로 분할 APK라고합니다 Split APK를 사용하면 여러 APK를 장치에 설치할 수 있습니다 마치 하나의 앱에 속한 것처럼 행동합니다

이 분할 APK를 설치할 수 있습니다 다른 장치에서 다른 조합으로, 한 번에 하나씩 설치하거나 한 장씩 설치할 수 있습니다 이제 분할 된 APK는 일반 APK와 동일한 형식을 갖습니다 여기에는 Java 코드 색인 파일, 원시 코드, 자원, 및 자산 디렉토리 일단 APK가 분리되면, 단일 APK에있는 것처럼 액세스 할 수 있습니다

또한, 각 애플리케이션 패키지 이름과 버전이 같다 다른 모든 것들과 코드 장치에 설치되어 있어야합니다 동일한 키로 서명해야합니다 자 이제 Android App을 어떻게 사용할 수 있는지 살펴 보겠습니다 우리가 장치에 제공하는 분할 APK를 묶어서 생성하십시오

먼저 앱 번들을 살펴 보겠습니다 모든 장치에 공통되는 모든 것을 찾아야합니다 기본 APK에 넣습니다 그래서 여기에는 Android 매니페스트 파일이 포함됩니다 예를 들어, dex 파일 등이 있습니다

그런 다음 다른 APK를 생성합니다 각 화면 밀도에 대해 각 분할에는 모든 내구재가 포함됩니다 Android 프레임 워크에 의해 선택되었을 것입니다 그 밀도를 가진 장치에서 다른 APK를 생성 할 수도 있습니다

네이티브 라이브러리를 포함하는 각 네이티브 아키텍처 용 그 아키텍처의 그리고 우리는 다른 분할을 생성 할 수 있습니다 앱에서 지원하는 각 언어에 대해 각 언어의 문자열을 다른 APK에 저장합니다 자, 함께, 우리는 이러한 분할 구성을 호출합니다 분할 또는 구성 분할

이제 기기에 앱을 제공하려고 할 때, 우리는이 분할의 서브 세트를 제공하기 만하면됩니다 모든 기기에 모든 것을 제공하는 대신 그래서 삼성 갤럭시 J5가 있다고 해봅시다 기본 APK와 xhdpi 밀도를 설치합니다 split, ARM 아키텍처 분할 및 영어 왜냐하면 나는 영어 만 할 뿐이니까 하지만 그보다 조금 더 까다 롭습니다

Pierre는 프랑스어와 영어를 모두 구사하며, 그는 자신의 장치에서 두 가지 언어를 모두 지정합니다 설정 그래서 그의 장치에서 Pixel 2 XL과 올바른 밀도와 아키텍처 우리는 영어와 불어를 모두 제공합니다 자기 장치로 나눠 피에르가 브라질로 이주하여 포르투갈 인

그런 다음 포르투갈어를 장치에 추가 할 수 있습니다 이제 그가이 작업을 수행 할 때 Play 스토어 이를 인식하고 포르투갈어를 다운로드하려고 시도합니다 기기에서 스플릿을 사용하는 모든 앱에 대한 언어 분할 그리고 그 당시 장치가 온라인 상태가 아닌 경우, 그러면 우리는 그 언어를 다운로드 할 것입니다 다음 기회에 나눕니다

그리하여 이것이 config split이 작동하는 방법입니다 그러나 내가 처음에 언급했듯이, Lollipop 이상에서만 지원됩니다 이는 현재 사용자의 약 85 %를 차지하지만 대부분의 사용자는 여전히 L 장치를 대상으로합니다 이러한 기기의 경우 앱 번들 여전히 크기 절약을 달성 할 수 있습니다 특정 밀도를 포함하는 독립 실행 형 APK 생성 및 아키텍처

그래서 우리가 L 플러스에서 할 것처럼 분할을 생성하는 대신, 우리는 독립형 APK 매트릭스를 생성 할 것입니다 우리는 이것을 언어로 확장하는 것을 간략히 고려했다 쪼개지도 그러나 우리는 합계의 약간을했다 손에 조금 닿았습니다

하지만 지금은 Pre L 기기의 경우 각 독립 실행 형 APK에 모든 언어를 포함합니다 이제 앱을 제공하려고 할 때 장치에 가장 적합한 단일 APK를 선택하십시오 Galaxy Nexus라는 첫 번째 Android 기기가 있다면 우리는 hdpi 팔 독립형 APK를 제공 할 것입니다 이것을 인식 할 수 있습니다 당신이 한 일과 비슷하다

과거에는 멀티 APK로 하지만이 모든 것을 하나로합시다 이 그림은 이렇게 보입니다 실제로는 방법에 대한 세부 사항을 실제로 걱정하지 않아도됩니다 이 모든 분할 APK가 생성됩니다 또는 독립 실행 형 APK가 생성됩니다

하나의 앱 번들 만 업로드하면됩니다 Play는 오른쪽 분할을 생성하고 각 장치에 적합한 역할을합니다 그리고 우리가 지금까지 토론 한 차원들 시작일뿐입니다 Pierre는 앱 번들을 사용하여 애셋을 타겟팅하는 방법에 대해 설명했습니다 그래픽 API를 사용하면 곧 설정 분할을 생성합니다 그걸 바탕으로 우리는 또한 설정 생성을 시작합니다

새로운 플랫폼 기능을 활용하기 위해 분할합니다 그리고 우리는 압축되지 않은 네이티브 라이브러리 m-class 장치에서 이제 이보에게 가져 가라고 부탁합니다 이 앱을 사용하여 앱 크기를 얼마나 줄일 수 있는지 살펴 봅니다 묶음

이브라힘 카라간 : 고마워요, 안소니 이제 Play에서 APK를 기기로 분할하는 방법을 알았습니다 우리는 앱 번들로 크기 절약에 대해 이야기 할 것입니다 평균적으로 앱 번들로 게시 된 앱 20 % 더 작아지고 매회 20 % 절약됩니다 응용 프로그램이 다운로드되거나 업그레이드됩니다

이제 우리가이 숫자에 어떻게 도달했는지 살펴 보겠습니다 Play 스토어의 모든 애플리케이션을 분석했습니다 다운로드 횟수는 1 백만 회를 넘습니다 그리고 우리는 문자열에 대해 언어 분리를 사용하여 크기의 95 % 이상을 절약 할 수 있습니다 이미지의 경우 45 %입니다

또한 네이티브 라이브러리의 경우 크기의 20 %를 절약 할 수 있습니다 즉, 모든 앱이 앱 번들로 이동하는 경우, 우리는 하루에 약 10 페타 바이트의 데이터를 저장합니다 앱 다운로드 및 업데이트에서 가져옵니다 그것은 1000 만 기가 바이트, 또는 3 억 뮤직 비디오입니다 YouTube에서

그리고 그 위에 사용자는 추가 300 메가 바이트를 볼 수있었습니다 더 많은 사진, 더 많은 앱 또는 더 많은 음악을위한 디스크 공간 확보 자신의 장치에 이제 실제 크기 절약을 살펴 보겠습니다 이는 초기 액세스 프로그램 및 파트너 중 일부입니다 그래서 우리는 Twitter로 시작할 것입니다

Twitter – 이미 다중 APK로 게시 중입니다 전에 아키텍처가 분할되었습니다 그러나, 그들의 응용 프로그램은 번역되었습니다 많은 언어로, 그리고 그것은 여러 화면을 지원합니다 밀도 그들은 여전히 ​​출판비로 많은 비용을 절감합니다

앱 번들과 함께 크기가 20 % 증가합니다 또한 더 이상 다중 APK를 제공 할 필요가 없습니다 다음은 이전에 멀티 APK를 사용하지 않는 TextPlus입니다 앱 번들을 사용하면 앱 번들을 사용하여 모든 크기에서 26 %의 크기 절감 Jaumo의 앱은 원래 크기의 절반이며, 이것은 그들이 [무관심] 한 대형 도서관을 가지고 있기 때문입니다 또한 단일 APK에서 여러 아키텍처를 지원했습니다

이제 앱 번들을 만드는 방법을 살펴 보겠습니다 지금 저장을 시작할 수 있습니다 최신 안드로이드 스튜디오 32 카나리아 Android 앱 번들을 완벽하게 지원합니다 이제 우리는 빌드 할 새로운 옵션을 보게 될 것입니다

빌드 메뉴의 번들 [부적절한] 모든 앱 번들 할당은 쉽습니다 우리는 앱 모듈, 제품 맛을 선택하기 만합니다 빌드 유형 및 Android Studio 당신을위한 앱 번들을 만들고, 서명하고, 게시 할 준비가되었습니다 커맨드 라인을 선호하는 사람들을 위해 또는 자동화 된 빌드 시스템과 통합하려는 경우, 새로운 Gradle Android 플러그인은 새로운 작업 세트를 제공합니다

Android 앱 번들을 만들 수 있습니다 기억하십시오, 이것은 당신이 사용하는 것입니다 – 조립 작업 명령 줄에서 APK를 만듭니다 이제 앱 번들의 경우 번들 명령으로 전환하십시오 어셈블 링 태스크와 마찬가지로, 번들 태스크 또한 특정 향미료를 만들 수 있습니다 귀하의 응용 프로그램의

일단 번들 작업이 끝나면 출력 폴더에 앱 번들을 만들려고하는데, 맛과 빌드 유형이 선택되었습니다 빌드 된 아키텍트는 bundleiad입니다 번들 작업은 서명 구성과 호환됩니다 귀하의 build

gradle 파일 그리고 하나의 gradle 작업으로, 당신은 서명 된 앱 번들을 생성 할 수 있습니다 출판 준비 또한 앱 번들을 사용하면 Play가 자동으로 애플리케이션을 아키텍처, 화면 밀도, 및 언어 스플릿을 기본적으로 사용합니다 당신 구성을 할 필요가 없습니다

그러나 우리는 또한 개발자 스플릿을 완전히 제어 할 수 있습니다 어떤 이유로 든 분할을 사용하지 않으려는 경우 모든 차원에서 새로 도입 된 기능을 사용하여 번들 블록은 여기에 이제 Pierre는 앱을 게시하는 방법에 대해 이야기 할 것입니다 번들을 재생 콘솔에 추가합니다 PIERRE LECESNE : 감사합니다

좋아요, 그래서 당신은 앱 번들을 만들었습니다 이제 어떻게 게시 할 수 있는지 살펴 보겠습니다 Google Play Console에 있습니다 먼저 Google Play에서 앱 서명에 등록해야합니다 기억하는 사람들을 위해이 프로그램을 시작했습니다

작년에 Google I / O에서 등록 할 때 공개 키를 안전하게 전송합니다 Google Play에 그런 다음이 릴리스 키를 사용하여 Play에 서명합니다 사용자를 대신하여 생성 된 APK 사용자에게 보내기 전에 그러나 APK를 계속 업로드하는 경우 제작 탭 트랙에서 테스트 트랙에서 앱 번들을 테스트하고, Play는 업로드 된 APK를 사임하지 않습니다 그리고 우리는 당신이 자신감을 가질 수 있도록 이것을했습니다 먼저 작은 청중에게 앱 번들을 시험해보고, 현재 프로덕션 사용자에게 영향을주지 않습니다

등록한 후에는 릴리스를 관리하고, APK에서했던 것처럼 새 릴리스 만들기 – 앱 번들을 현재 같은 위치에 드롭합니다 APK를 삭제하고 업로드를 기다립니다 업로드되면 출시를 검토하고 출시를 해제 할 수 있습니다 그게 전부 야 그리고 나는 충분히 강조 할 수 없다

더 이상 멀티 APK를 처리 할 필요가 없습니다 Play Console이 백그라운드에서 생성했습니다 지원되는 모든 APK를 제공합니다 이제 앱 번들을 업로드했습니다 그리고 플레이는 너를 위해 모든 힘든 일을 해냈다

큰 그러나 개요를 가질 수 있으면 좋지 않을까요? Play에서 무엇을 생성 했습니까? 이제 Play Console에서 새로운 도구를 만들었습니다 번들 탐색기라고합니다 번들 탐색기를 사용하면 업로드 된 번들을 탐색 할 수 있습니다 보세요

첫 번째 화면에서 오른쪽 상단 모서리에 번들 게시로 얻을 수있는 크기 절감 효과 이제 앱의 1/4 이상을 저장했습니다 물론 이것은 장치마다 다릅니다 그래서 우리는 널리 사용되는 장치 구성을 사용하여 이것을 계산했습니다 또한 장치 구성 목록 아래에 있습니다

및 해당 장치에 대한 APK 서비스의 전체 크기입니다 몇 가지 기기를 클릭하고 어느 기기를 볼 수 있습니까? 기기는 각 버켓에 있습니다 지원되는 모든 장치를 이름으로 검색 할 수도 있습니다 생성 된 APK 집합을 다운로드하려면 특정 장치에 게재되었습니다 이것은 매우 도움이 될 것입니다

그 특정 장치에 대한 버그 보고서를 얻고, 그리고 사용자가 얻은 것을 정확히 얻고 싶습니다 APK가 제공되는 서비스 따라서 이름을 검색하고 다운로드를 클릭 한 다음, Play에서 제공 한 APK 세트를 받게됩니다 물론, 우리는 여러분 모두를 잊지 않았습니다 누가 우리의 출판 API를 사용하는지 앱 번들 업로드는 오늘 API를 사용하여 가능합니다

모든 문서를 찾을 수 있습니다 developersgooglecom/android 게시자 그리고 이제 앤서니에게 넘기십시오 ANTHONY MORRIS : 고마워, 피에르

이제 우리는 빌드하고 게시하는 방법을 배웠습니다 Android 앱 번들 그러나 우리가 배포판을 완성하기 전에, 우리는 여전히 테스트의 라운드를하고 싶습니다 그러나 앱 번들 자체는 설치할 수 없습니다 그럼 어떻게 테스트합니까? 첫째, 개발 과정에서 앱에서 빌드 된 APK를 설치할 수 있습니다

Android Studio에서 직접 다운로드 할 수 있습니다 따라서 여기서 아무 것도 할 필요가 없습니다 그러나 품질 관리 팀의 경우 항상 그렇지는 않습니다 Android Studio에서 소스 코드에 액세스 할 수 있습니다 따라서 세 개발자의 이야기를 통해 이야기하겠습니다

앨리스, 밥, 클레어 QA로 앱 번들을 테스트하는 방법 항목 앨리스부터 시작합시다 Alice는 새로 출시 된 내부 테스트를 사용합니다 재생 콘솔에서 내부 트랙은 알파 베타 트랙과 유사하지만, 이미 익숙 할 수도 있습니다 그러나 지연이 거의 없다는 점이 다릅니다

번들 업로드와 업데이트 사이 테스터 장치에서 사용할 수 있습니다 품질 보증 테스트를위한 신속한 처리 Play Console (앨리스)을 거치며 품질 보증팀이 받게 될 신뢰감이 있습니다 자신의 장치에서 byte와 byte는 무엇과 같은가? 최종 사용자는 릴리스를 프로덕션으로 푸시하면 얻을 수 있습니다 앨리스가 어떻게 이것을 설정하는지 보도록하겠습니다

정말 간단합니다 그래서 Alice는 최대 100 명의 QA 테스터의 이메일리스트를 생성합니다 내부 테스트 트랙에 적합합니다 그녀의 QA 테스터가 업데이트 링크를 따릅니다 업로드 된 번들을 받게됩니다

내부 테스트 트랙으로 그게 전부 야 그러나 모든 사용자가 Play Console에 액세스 할 수있는 것은 아닙니다 귀하의 품질 보증주기 동안 피에르가 밥의 이야기를 들어 봅시다 피에르 레 세네 : 사실, 밥은 접근 할 수 없습니다

Play Console에 연결합니다 그는 자신의 컴퓨터에서 로컬로 테스트하는 것을 선호합니다 아무것도 업로드하기 전에,하지만 그는 여전히 사용자가 얻을 수있는 것을 테스트하려고합니다 어떻게 그 일을합니까? 음, 번들에서 APK를 생성하려면, Play는 Bundletool이라는 새로운 도구를 사용합니다 따라서 Bob이 로컬에서 빌드를 재생하려면, 그는 단순히 Bundletool을 다운로드하고 몇 가지 간단한 명령

Bundletool에는 Build APKs라는 명령이 있습니다 Android 앱 번들을 사용하여 우리가 APK 세트 아카이브라고 부르는 것 APK 세트에는 APK 모음이 들어 있습니다 장치에 설치할 준비가되었습니다 APK 설치라는 또 다른 명령 해당 APK 세트 아카이브를 가져 와서 APK를 추출하고, 해당 장치에 설치하십시오

실제 커맨드 라인 작업을 보도록하겠습니다 그래서 여기에 명령 [? 최근?] Bob에 의해 build-apks 호출, 앱 번들 전달, APK가 만들어지기를 원하는 위치를 말합니다 그리고 깃발 연결 장치를 통과시킴으로써, Bundletool은 현재 기기 전용 APK를 구축합니다 자신의 컴퓨터에 연결되어 있습니다 그리고 Bob이 APK를 생성하려고한다면, 말하자면 팀원이 아닌 다른 사람 손에 물리적 장치, 그것은 여전히 ​​수 있습니다

사양이 포함 된 파일을 제공하십시오 장치를 JSON 형식으로 그리고 당신은 여기서 그 파일의 압축을 볼 수 있습니다 이 장치가 지원하는 API에 대한 정보를 제공하며, 지원되는 언어, 화면 밀도 및 APK 버전 Bundletool도 이러한 장치 사양 파일을 생성합니다 따라서 온라인에서 장치 사양을 찾을 필요는 없습니다

또는 직접 작성하지 않아도됩니다 이 명령을 실행하면됩니다 이 파일을 생성하십시오 또한 Bob은이 APK를 설치하려고하기 때문에 장치에서 APK는 개인 키로 서명해야합니다 그래서 그는 경로를 키 스토어에 전달합니다

APK 세트에 포함 된 모든 APK 그러면 서명되어 Bob의 장치에 직접 설치할 수 있습니다 다음은 APK 설치 명령의 호출입니다 APK 세트에서 APK를 추출합니다 연결된 장치에 직접 설치합니다 쉬운

그래서 Bob과 그의 지역 테스트였습니다 이제 Ibo가 클레어의 이야기를 들려 줄 것입니다 이브라힘 카라한 : 클레어가 일하고있다 중간 규모 회사의 경우 그들의 응용 프로그램을 채우기 위해 지속적인 통합 도구를 설정하십시오 매일 QA 팀은 야간에 응용 프로그램 빌드, 여러 장치에 설치, 응용 프로그램이 올바르게 작동하는지 테스트합니다

클레어는 QA 팀을 돕고 싶어합니다 그녀는 Bundletool을 다시 사용합니다 CI에 APK 세트를 생성합니다 그녀는 다음과 같은 명령을 사용합니다 Bob은 이전에 사용했습니다

그러나 이번에는 장치 사양 플래그를 생략하고, APK 세트를 생성합니다 APK 세트에는 가능한 모든 기기의 APK입니다 이제 QA 팀이 CI에서 설정 한 APK 만 가져옵니다 그들은 장치를 연결하려고합니다 install-apks 명령을 실행하십시오

Bundletool이 장치 구성을 읽습니다 첨부 된 기기에서 APK 세트의이 구성과 일치하는 APK, 장치에 설치하십시오 Play와 동일한 선택입니다 특정 기기에 대해 APK를 게재 할 때 발생합니다 Bundletool이 할 수있는 한 가지 더 범용 플래그를 전달하여 범용 APK를 생성하는 것입니다

범용 APK는 파일을 포함하는 단일 APK입니다 모든 장치의 모든 파일 따라서 모든 장치에 설치할 수 있습니다 글쎄, 그건 정말 대변하지 않아 사용자가 언제 받게 될지 Play 스토어에서 애플리케이션을 설치합니다 그러나 이는 APK를 사용자에게 전달하는 편리한 방법입니다

사용자가 어떤 장치를 실행 중인지 모를 때 Bundletool은 Android App Bundle을 만드는 데 사용되는 도구이기도합니다 Gradle은 장면 뒤에서 그것을 사용합니다 우리는 다른 사람들과 함께 일할 것입니다 체인, 툴체인 제작, 빌드 툴 통합 Android 앱 번들을 만들 수 있습니다 귀하가 사용하고있는 툴체인의 그리고 마지막으로, 우리는 어떻게 Google이 제공 한 APK를 생성합니다

귀하의 사용자에게 Bundletool을 오픈 소싱하는 이유는 무엇입니까? 오늘 가서 githubcom/google/bundletool을 이용하십시오 실행 파일 또는 [? 빌드?]에서 그것 출처 이제 Pierre는 다른 방법에 대해 이야기 할 것입니다 응용 프로그램을 더 작게 만들 수 있습니다

PIERRE LECESNE : 감사합니다 Google Play 동적 전송을 사용하면 우리는 헤어지는 새로운 방법을 도입하고 있습니다 앱을 별도의 기능으로 통합하여 각 사용자마다 필요합니다 레시피 앱이 있다고 가정하고 초기 다운로드를 작게 유지하려고합니다 모든 사용자가 좋아하는 동안 레시피 검색, 작은 분량 만 선택 실제로 새로운 레시피를 추가 할 수 있습니다

그리고이 기능이 앱의 중요한 공간 당신이 할 수있는 일은 그 기능을 자체 모듈로 분해하는 것입니다 필요한 때에 만 봉사하십시오 여기서 사용자를 찾는 방법을 볼 수 있습니다 앱을 엽니 다

그래서 사용자가 레서피를 추가하기를 원할 때, 그는 바닥에 작은 플러스를 클릭한다 그리고 백그라운드에서 볼 수 있습니다 모듈이 다운로드되어 설치됩니다 몇 초 후에 모듈을 사용할 수 있습니다 앱의 어느 부분에서 별도의 기능으로 탈출 하시겠습니까? 사용자 중 일부만이 기능을 사용하는 경우, 좋은 후보가 될 수 있습니다

특히 해당 기능이 앱에서 상당한 공간을 차지하는 경우 마지막으로, 사용자가 몇 초 동안 기다릴 수 있는지 고려하십시오 기능을 사용하기 전에 생성 할 기능을 결정한 후에는 이것이 앱 번들에서와 같이 보일 것입니다 기본 디렉토리 이외에도, 이제 별도의 디렉토리가 있습니다 앱의 각 모듈에 대해 이 디렉토리의 형식은 정확하게 앞에서 다룬 기본 형식과 동일합니다 Play에서 재생할 APK입니다

각 모듈에 대해 분할 세트를 생성합니다 기능 분리 및 구성으로 구성 해당 모듈을 분할합니다 Anthony는 앞에서 언급했듯이 APKS가 분리되어 소개되었습니다 Android Lollipop을 사용하여 3L 기기를 지원하고, 거절 할 모듈을 표시 할 수 있습니다 Bundletool은 지정된 APK를 생성합니다

모듈이 함께 병합되었습니다 이제 동적 기능의 작동 방식에 대해 살펴 보았습니다 내가 너를 이보에게 넘겨 주자 너는 너를 보여 줄 것이다 그것들을 만드는 법

IBRAHIM KARAHAN : 고마워, 피에르 동적 모듈을 만들려면 필요한 작업 만 수행하면됩니다 안드로이드 스튜디오 32 카나리아 다운로드 동적 기능 마법사를 사용하십시오 파일 메뉴의 새 모듈을 클릭하고, 동적 모듈을 선택하십시오

모듈 이름을 입력하면 Android Studio가 실행됩니다 새로운 동적 모듈을 만들 것입니다 수동으로 동일한 작업을 수행 할 수도 있습니다 manifest 및 buildgradle 파일을 편집하십시오

새 모듈의 매니페스트부터 시작할 것입니다 첫 번째 단계는이 모듈을 선언하는 것입니다 앱의 새로운 APK로 설정합니다 이렇게하려면 split 속성을 추가합니다 매니페스트 태그에 이름을 지정합니다

이 예제에서는 vrviewer입니다 다음 단계는 모듈 태그를 추가하는 것입니다 모듈을 선언하려고하면 모듈에 제목을 붙이십시오 이 태그는 Play 스토어에서 모듈을 식별하는 데 사용됩니다 귀하의 응용 프로그램의

그런 다음이 모듈을 주문형 모듈로 선언합니다 onDemand 특성을 추가합니다 즉,이 모듈은 사용자의 기기로 전달됩니다 앱이 Play 스토어에 앱을 요청하면 설치시 전달하는 대신 물론, 주문형 모듈은 L plus 장치에서 지원됩니다 따라서 3L 장치에서이 모듈을 제공하기로 결정한 경우, 융합 태그를 추가 할 것입니다

포함하도록 Play 스토어에 지시 이 모듈은 설치시 기본 모듈 옆에 있으며, 3L 기기 또는 범용 APK로 전송할 때 이제 buildgradle 파일을 살펴보십시오 동적 모듈부터 시작하겠습니다 첫 번째로 지금은 새로운 플러그인을 사용하고 있습니다 com

androiddynamic-feature 두 번째로 기본 모듈을 추가합니다 이 모듈에 대한 종속성으로 기본 모듈에 포함 된 기능에 액세스 할 수 있습니다 베이스의 build

gradle 파일에 필요한 유일한 변경 사항 모듈은 동적 피처 목록을 추가하는 것입니다 모든 동적 모듈 이름을이 목록에 넣으십시오 이것은 gradle이 리소스를 저장하도록 지시하는 것입니다 동적 모듈에서 사용할 수있는 기본 모듈 이제 Anthony는 어떻게 이러한 모듈을 사용할 수 있는지 보여줄 것입니다 새로운 Play Core 라이브러리로 ANTHONY MORRIS : 고마워, 아이보

그럼 어떻게 가는지 살펴 보겠습니다 온 디맨드 모듈의 설치 요청시기 당신은 그들이 설치되기를 원한다 따라서 Play 스토어와 상호 작용하려면 분할 설치 API를 도입했습니다 Play Core Library라는 새로운 라이브러리의 일부로 이제 Play Core 라이브러리는 Java 클라이언트 라이브러리입니다 장치에서 IPC를 사용하기 위해 Play와 통신합니다

그런 다음 Play 스토어에서 통신합니다 이 주문형 모듈을 Play의 서버에서 다운로드하여 당신은 그들을 요청합니다 약간의 코드를 살펴 보겠습니다 API는 동일한 작업 프레임 워크를 사용하여 구성됩니다 Google Play에서 익숙 할 것입니다

서비스 API 및 FireBase API 분할의 설치는 호출 된 클래스에 의해 조정됩니다 splitInstallManager 모든 모델로 요청을 구성합니다 다운로드하고 싶은 파일 재생을 시작하기 위해 startInstall을 호출합니다

요청한 모듈에 필요한 분할을 다운로드하십시오 API를 사용하면 수신 할 수도 있습니다 다운로드 및 설치 프로세스 전반에 걸쳐 업데이트합니다 진행 상황을 표시하고 다운로드 할 때 사용할 수 있습니다 설치 진행 상황을 사용자에게 알려주고, 온 디맨드 기능을 다운로드하기를 기다리고 있습니다

피에르 비디오에서 이걸 봤어 모듈의 주소를 다운로드 할 때 나타났습니다 대규모 모듈의 경우 사용자 확인을 받아야합니다 분할 설치 API로 다운로드하기 전에 앱이 요청할 때마다이 작업을 수행해야합니다 10 메가 바이트 이상의 온 디맨드 모듈 다운로드받을 수 있습니다

그러나 대체 옵션이 있습니다 이러한 모듈을 설치하는 데 필요하지 않은 경우 즉각적인 사용을 위해 즉각적으로 사용할 수 있으며 이것을 지연이라고합니다 설치 API 이 간단한 한 줄을 사용하여 지연된 설치를 요청하는 경우 모듈의 사용자가 편리한 시간에 다운로드 할 수 있습니다 일반적으로 사용자가 장치를 사용하고 Wi-Fi에서 충전하는 방법에 대해 설명합니다

이 때문에 우리는 더 큰 모듈을 설치할 수 있습니다 API에 의해, 사용자 확인을 요구하지 않고, 최대 100 메가 바이트 따라서 이것은 매우 사용자 친화적 인 방법입니다 앱의 대형 주문형 모듈을 다운로드 할 수 있습니다 분할 설치 API를 사용하여 귀하의 주문형 모듈

따라서 현재 어떤 모듈이 설치되어 있는지 확인할 수 있습니다 그리고 사용자가 더 이상 해당 모듈을 필요로하지 않는 경우, 모듈 제거를 요청할 수 있습니다 사용자에게 귀중한 디스크 공간 확보 기기에서 앱의 공간을 줄일 수 있습니다 이제 주문형 모듈을 설치하고 설치할 때 N Plus 기기에서는 앱을 다시 시작할 필요가 없습니다 따라서 코드는 즉시 사용할 수 있습니다

설치 완료 후 새로운 자원 및 자산 컨텍스트 개체를 새로 고치면 사용할 수 있습니다 그러나 Android L / M에서는 스플릿을 설치합니다 앱을 다시 시작해야합니다 올바르게 설치하려고합니다 하지만이를 피하기 위해 분할 컴팩트 라이브러리, 에뮬레이트하는 L / M에 스플릿 설치 앱이 백그라운드에 들어갈 때까지 우리는 올바르게 설치할 수 있습니다

그래서이 분할 컴팩트 라이브러리 앱을 다시 시작하지 않아도된다는 의미입니다 이 모듈 안에있는 거의 모든 것들 앱에서 즉시 사용할 수 있습니다 이 분할 컴팩트 라이브러리를 설정할 수 있습니다 어떻게하면 될지와 매우 유사한 방식으로 앱에서 Multidex 라이브러리를 설정하는 것에 익숙해야합니다 마지막으로 앱 업데이트를 릴리스하면 Play는 기본 모듈과 이미 설치된 모든 주문형 모듈을 포함합니다

따라서 장치에있는 모듈의 버전 항상 동기화됩니다 항상 같은 버전입니다 파트너는 이것이 실제로는 이 모델에 대해서 좋아, 그럼이 모든 걸 감싸 줘 오늘부터 모든 개발자가 Android App Bundles를 만들 수 있습니다

안드로이드 스튜디오 32 카나리아 그리고 모든 사용자에게 Play에서이를 게시 할 수 있습니다 그래서 나는 여러분 모두가 이것을 시도하고 보도록 권합니다 전환하여 앱이 얼마나 작아 질 수 있는지 안드로이드 애플 리케이션 번들로

이제 모듈화를 시작할 예정입니다 개발자들에게 앞으로 몇 개월 동안 오늘부터 모듈화 된 앱을 만들 수 있습니다 Studio Canary에 게시하고 게시 할 수 있습니다 Play 콘솔의 내부 트랙과 알파 트랙으로 이동합니다 하지만 우리는 출판과 제작을 시작할 것입니다

앞으로 몇 개월 동안 베타 버전으로 추적합니다 관심이 있으시면 관심사를 등록 할 수 있습니다 제공되는 링크에서 모듈화합니다 그리고 그걸로와 주셔서 감사합니다 질문이 있으시면 나중에 잡으실 수 있습니다

나는 우리가 지금 시간이 있다고 생각하지 않는다 또는 Sandbox에서 며칠 동안 우리를 붙잡을 수 있습니다 C, 무대 뒤 그리고 고마워 훌륭한 입출력을 가져라

[음악 재생]

Best Video Editing App for Android (2018!)

– 지금 우리가 볼거야 현재 사용 가능한 최고의 안드로이드 비디오 편집기 응용 프로그램

그리고 최고의 비디오 편집 응용 프로그램에 대한 내 선택 2018 년에 안드로이드에 대한 모든 테스트를 거친 후 저기, Primal Video의 저스틴 브라운입니다 우리가 당신을 증폭 시키는데 도움이되는 곳 비디오와 함께 귀하의 비즈니스와 브랜드 네가 여기 새로운 사람이라면, 구독 버튼을 클릭했는지 확인하십시오 이 비디오에서 언급 한 모든 것에 대한 모든 링크와 아래의 설명 상자에서 해당 링크를 찾을 수 있습니다 그래서 그것에 뛰어 들어 봅시다

이제 나는 매번이 말을한다 하지만 이것은 3 년 연속으로 뛰는 것과 같습니다 우리가 만든 비디오 비디오 편집 앱의 풍경에 앱은 점점 더 강력 해지고 있습니다 오늘 우리가 다루는 옵션 많은 데스크톱 소프트웨어와 경쟁하기 시작했습니다 당신은 그 모든 힘에 접근 할 수 있습니다

손바닥에 원하는 곳 어디에서나 사용할 수 있습니다 우리의 전체 조사 과정을 거친 후 어떤 새로운 앱이 등장했는지 확인하려면, 지난 번에 앱으로 변경된 사항 모든 경쟁자를 테스트해라 그들이 정말 어떻게 비교하는지 확인하십시오 이 비디오에서 우리는 최선의 선택을 할 것입니다 Android에서 동영상을 수정하는 앱의 인기 앱 그리고 그것은 나의 최고의 제안이다

그래서 우리는 후보 목록을보고 시작할 것입니다 그걸 멀리 만든 모든 앱 중에서 그리고 당신이 알아야 할 모든 중요한 것들 각 옵션에 대해 그리고 우리가 달리면서, 아래에 주석을 삭제하십시오 Android에서 가장 좋아하는 동영상 수정 앱은 무엇이며 그 이유는 무엇입니까? Android 앱 스토어에서 실제로 본 적이 있다면 비디오 편집 응용 프로그램의 경우, 선택할 수있는 방법이 너무 많습니다 그래서 우리의 최고 경쟁자 또는 우리의 명단 우리는이 모든 앱을 축소했습니다 Cute CUT, Adobe Premiere Clip, Quik, WeVideo, KineMaster, PowerDirector 및 FilmoraGo

그리고 이러한 각 앱을 사용하면 동영상을 수정할 수 있지만, 이러한 앱을 사용하면 훌륭한 결과를 얻을 수 있습니다 실제로 제어 수준과 기능 수준 앱에서 얻을 수있는 것들 꽤 많이 바뀐다 그것이 정말로 내려 오는 곳은, 얼마나 많은 컨트롤을 실제로 편집하고 싶습니까? 어떤 종류의 비디오를 편집하고 있습니까? 얼마나 많은 실제 편집을해야합니까 네가 쏜 장면에? 그리고 그게 전부가 될거야 당신을위한 최고의 비디오 편집 소프트웨어입니다 따라서 편집 애플리케이션의 대다수는 우리의 후보 목록에있는 대부분의 편집 응용 프로그램 매우 기본입니다

기본 절단 작업을 수행하고 색상을 추가하고 텍스트를 추가 할 수 있습니다 하지만 꽤 많이 있습니다 확실히 몇 가지 뛰어난 점이 있습니다 정말로 경계를 밀고있는 몇 명 Android 기기에서 수행 할 수있는 작업에 대해 설명합니다 그래서, 당신은 거기에 애플 리케이션을 가지고있어

Adobe Premiere Clip 및 WeVideo와 같은 기기에서 동영상을 편집하는 데 환상적입니다 그러나 그들은 매우 기초적입니다 하지만 그 앱의 가장 큰 장점은, WeVideo에서 편집하는 경우 바탕 화면에서 플랫폼으로 또는 Adobe Premiere Pro, 다음 프로젝트를 실제로 전송할 수 있습니다 그래서 당신은 WeVideo에서 비디오를 시작할 수 있습니다 또는 장치의 Adobe Premiere Clip 그것을 옮기고 당신의 탁상용 컴퓨터에 끝내십시오

그래서 그게 아주 멋진 기능입니다 하지만 뭔가를 원한다면 완벽한 엔드 – 투 – 엔드 솔루션 모바일 장치에서 그런 다음 두 앱 모두 실제로는 기능이 제한되어 있습니다 기기에서 실제로 편집하는 경우입니다 그리고 Quik 앱과 거의 비슷합니다 좋은 비디오 편집 응용 프로그램입니다

당신이 아주 기본적인 편집을했다면, 많지 않은 컨트롤과 다중 비디오 트랙 고급 기능의 힙 다른 앱 중 일부는 따라서 기본 편집을 수행 한 경우, Quik은 여전히 ​​훌륭한 솔루션입니다 하지만 여기에 몇 가지 뛰어난 점이 있습니다 우리가 곧 뛰어 들겠다 Android 기기에서 동영상을 실제로 편집하는 작업 다음 수준으로 전체 목록에서 앱을 전반적으로 살펴 봅니다

실제로 4 개의 우수한 앱이 있습니다 당신이 할 수있는 일의 경계를 밀고 있습니다 Android 기기에서 동영상을 수정하는 것과 관련이 있습니다 그리고 그들은 FilmoraGo, Cute CUT, KineMaster입니다 및 CyberLink PowerDirector

이제 마지막 비디오에서 우리는 귀여운 컷을했습니다 그리고 FilmoraGo는 실제로 많은 것을 얻지 못했습니다 지난 1 년 동안 그들은 실제로 꽤 많이 성장했습니다 그리고 그들이 가지고있는 기능 세트 지금 꽤 단단 해 또한 비디오 편집을 통해 훨씬 더 많은 작업을 수행 할 수 있습니다

지금 가져온 고급 도구로 그 두 앱에서 그러나 말하자면, 상위 2 개 앱 Android에서의 비디오 편집, 우리가 이것을 좁혀 버렸습니다 실망한 KineMaster와 PowerDirector입니다 이것은 작년과 정말로 같은 결과입니다 이 두 개는 다른 앱보다 앞서 있습니다 전문적 수준에 관해서 Android 기기에서 동영상 편집

하지만 지난 한 해 동안이 두 앱 변화를 겪었고 개선되었고 나아가고 있습니다 이제 저는이 두 가지 앱 모두를 매우 좋아합니다 나는 그들이하는 일을 사랑한다 나는 그들이 얼마나 멀리 왔는지 사랑한다 하지만 내가 승자를 골라야한다면, CyberLink PowerDirector로 이동합니다

그리고 몇 가지 분명한 이유가 있습니다 PowerDirector를 KineMaster 이상으로 이동합니다 첫번째 것 그리고 아마 가장 중요한 것, 사용하기 쉽고 직관적 인 방법입니다 여전히 모든 고급 기능을 갖추고 있습니다 둘 다 멀티 트랙 비디오 편집, 고급 오디오 컨트롤, 고급 색상 보정, 손쉽게 클립을 집어 들고 움직일 수있는 능력 그 (것)들을 아래로 정돈하고, 음악을 통합하기 위하여 모든 볼륨 레벨을 조정하십시오

따라서 실제 비디오 편집과 관련하여, 둘 다 매우 비슷하다 PowerDirector의 인터페이스 실제로 편집하는 방법 당신이 가지고있는 성과 KineMaster보다 훨씬 앞서있는 것 같습니다 적어도 내 의견으로는 이제 PowerDirector의 또 다른 큰 특징 인, 당신이 가지고있는 통제 수준입니다 동영상 내부의 색상 보정보다 그것은 어디에서나 비디오 편집에있어 대단한 일입니다

전화를 걸 수 있습니다 실제로 원하는 색상으로 원하는 색상을 얻을 수 있습니다 PowerDirector가있는 곳입니다 제어 및 고급 제어가 훨씬 더 많습니다 그러나 KineMaster를 통해 간단한 방법으로 이루어졌습니다

그래서 KineMaster와 함께, 당신은 당신의 밝기, 대비 및 채도 드롭 할 때 사용할 수있는 필터가 있습니다 Instagram 스타일의 필터와 같은 것 같아 다른 모양을 적용하려면 동영상에 적용 할 수 있습니다 PowerDirector에는 이러한 모든 기능이 있습니다

하지만 훨씬 더 고급 제어 기능도 있습니다 화이트 밸런스 조정과 같은 간단한 작업으로도 최종 비디오 출력에 큰 차이를 만들 수 있습니다 PowerDirector의 또 다른 큰 특징 KineMaster에서 찾을 수없는 실제로 찾지 못한다 밖에있는 많은 다른 응용 프로그램에서, 동영상을 수정할 수있는 기능입니다 가로 및 세로로

그래서 편집을한다면, Instagram 스토리 또는 인물 사진과 같은 것들 PowerDirector에서 실제로이 작업을 수행 할 수 있습니다 세로 비디오를 스쿼시하려고하는 대신 가로 프레임으로 그게 당신이 관심있는 부분이라면 Instagram의 이야기를 한 단계 높은 수준으로 끌어 올리려는 노력, 지금 카드에 링크를 달아 놓을 게 우리가 그 과정을 통해 당신을 데리고 오는 비디오 그리고 실제로 PowerDirector를 사용하고 있습니다

그 비디오 편집을 초상화로하는 것 자, 그 모든 것들과 함께, 그것은 KineMaster를 말하는 것이 아닙니다 솔리드 옵션이 아닙니다 KineMaster에는 두 가지 뛰어난 기능이 있습니다 PowerDirector에는 없습니다

그리고 내가 말할 수있는 가장 큰 것 오디오 파일에 대한 제어 수준입니다 당신이 입을 수있는 전문적인 필터의 양 비디오에서 오디오 음질을 정말 좋게 만드십시오 오디오 압축기와 같은 간단한 것입니다 너는 켜거나 끌 수있다 또한 키 프레임 기반 편집 기능 다른 볼륨 레벨을 조정하는 방법 당신이 가면서 비디오 전반에 걸쳐

정말 저에게 돋보이는 기능입니다 그러나 다시 한번, 정말로 당신이이 두 가지 중 하나를 사용한다면, 둘 다 당신을 줄거야 귀하의 동영상으로 좋은 결과를 얻을 수 있습니다 지금 우리가 아직 만지지 않은 가장 큰 것 이 두 앱의 가격입니다 자, 둘 다 무료로 달릴 것입니다

무료로 편집 할 수 있습니다 동영상에 워터 마크가 추가됩니다 당신이 그것을 구할 때 이제 그 워터 마크를 제거하기 위해 돈을 좀 내야 할 곳이야 우리가 마지막으로 살펴본 시간은 이 두 가지 앱을 나란히 놓고, PowerDirector는 훨씬 더 나은 기능을 제공합니다

앱을 완전히 구매하는 것은 5 달러 또는 6 달러의 정액 요금이었습니다 PowerDirector를 이미 지불했다면, 그러면 돈을 내지 않아도 될 것 같습니다 새로운 가격 모델을 위해, 실제로 구독 모델입니다 월 단위 구독 또는 연간 구독 소프트웨어를 사용하려면, 그것은 KineMaster가 전체 시간 동안 가지고있는 것입니다 따라서 KineMaster에 가입하면 비용이 들게됩니다

한 달에 약 5 달러, 또는 연간 약 42 달러 이제 이것은 호주의 가격 책정이며, 그래서 가격은 약간 다를 수 있습니다 네가있는 곳에 따라, 하지만 그 가격에있을거야 PowerDirector의 새로운 가격 모델 한 달에 7 달러 쯤 올릴거야 또는 연간 약 $ 50

또한 세 번째 옵션이 있습니다 앱에 3 개월 동안 액세스 할 수 있습니다 약 14 달러가들 것입니다 따라서 PowerDirector로, 워터 마크를 제거 할 라이센스를 구입할뿐만 아니라 너에게 줄거야 높은 품질, 1080p 수출

이제 내가보기 엔 가장 큰 것 같아 이 앱의 가격 책정을보고있을 때 그들이 어떻게 지금 모두 움직 였는지 가입 기반 모델로, 그들이 무엇을 할 수 있는지를보고 있습니다 그래서 이들은 전문적인 수준의 비디오 편집 응용 프로그램입니다 가장 가까운 앱입니다 데스크톱 동영상 수정을 모방 한 Android 기기에서 그리고 그 유연성과 장치의 힘을 얻으려면 어디서나 편집 할 수있는 능력이 미치지 않습니다

그래서 저는 개인적으로 생각할 필요가 없다고 생각합니다 동영상을 편집하고 싶다면 Android 기기에서 이 두 가지 앱 중 하나를 진지하게 고려해야합니다 그래서 내 선택은, 당신이 더 전문적인 것을 좇지 않는다면, FilmoraGo를 더 잘 확인하고 Cute CUT도 확인하십시오 둘 다 솔리드 옵션입니다 그리고 그들은 정말로 먼 길을왔다

지난 12 개월 동안에도 그래서 지금 당장 나를 위해, Android에서 최고의 비디오 편집 응용 프로그램, CyberLink PowerDirector로 이동합니다 레벨을 올리려는 분이라면 귀하의 콘텐츠 전문성, 반짝 반짝 빛나는 새로운 소개 애니메이션을 얻고, 또는 맞춤 브랜드 도서, 생각보다 훨씬 쉽게 할 수 있습니다 그런 다음 가져올 수 있습니다 Android 기기에 바로 연결 새 편집 응용 프로그램에서 사용하십시오 지금 화면의 링크를 클릭하십시오

전체 프로세스를 통해 진행되는 비디오의 경우, 나는 너를 곧 볼거야

Publish smaller apps with the Android App Bundle

LYLA FUJIWARA : 자원을 제공하는 것이 가장 좋습니다 모든 장치를 지원하기 위해 네가 트레이드 오프를해야 할 것처럼 보일지 모른다

지원 장치와 작은 APK 사이 이제 멀티 APK를 사용하지 않는 경우 다른 화면 밀도, CPU 아키텍처, 언어가 앱의 상당 부분을 차지할 수 있습니다 APK 크기 그래서 우리는 새로운 출판 형식을 도입했습니다 Android 앱 번들

그것은 당신의 청중을위한 더 작은 다운로드를 의미 할 것입니다 Play Console에서 아티팩트 관리가 쉬워졌습니다 앱 번들은 포괄적 인 단일 빌드 아티팩트입니다 APK 대신 Google Play에 업로드합니다 멀티 APK, 앱 번들과 비교 더 작은 앱을 사용자에게 제공하고 더 간단합니다 하나의 빌드 아티팩트이기 때문에 관리해야합니다

Google Play에 앱 번들이있는 경우, 그것은 새로운 프로세스를 사용하여 전달합니다 동적 전달이라고하는 APK 간단히 말하면 앱의 일부만 전송합니다 각 사용자가 필요로하는 이제 새로운 앱 번들 형식 만 사용하면됩니다 사용자에게 자동으로 제공됩니다 언어, 화면 밀도 및 ABI 만있는 APK 필요한 리소스

또한 코드 리팩터링이 필요 없습니다 앱 번들을 만드는 것은 문제 일뿐입니다 오른쪽 빌드 출력 선택 Android Studio를 사용할 때 여기에서 서명 된 앱 번들 생성 옵션을 참조하십시오 APK 대신 번들 작성을 선택하고 키를 입력 한 다음 대상 폴더를 선택하면 작업이 완료됩니다

그런 다음 반짝 반짝 빛나는 새 앱 번들을 갖게됩니다 Google Play 앱 로그인에 등록해야합니다 Play Console에 있습니다 Google Play는 기본적으로 최적화 된 APK를 생성합니다 귀하의 사용자를 위해, 당신은 능력을 제공해야합니다 해당 APK에 서명하십시오

앱 번들은 현재 Google Play에서 지원됩니다 번들에서 APK를 생성하는 데 사용되는 기술 오픈 소스이기 때문에 앞으로는 앱 번들이 다른 앱과 작동합니다 지원을 가능하게하는 상점 번들은 모든 장치에서 작동합니다 롤리팝 이상을 실행하는 기기 다이나믹하게 전달할 때 가장 큰 이점을 누릴 수 있습니다

사전 롤리팝 기기는 여전히 멀티 APK 스타일을 갖습니다 APK는 Google에서 자동으로 생성합니다 앱 번들에서 재생합니다 계속해서 자세히 살펴 보겠습니다 Google Play에서 실제로이 번들을 사용하는 방식, 동적 게재가 수행하는 작업 및 사용자가 APK를받는 방식 과거에는 APK를 업로드했지만, 그런 다음 Play는 동일한 APK를 제공합니다

앱 번들을 업로드하면 Google Play에서 해당 번들을 사용합니다 그것을 여러 개의 더 작은 크기로 나눕니다 분할 APK로 알려진 APK 항상 다운로드되는 앱의 부분 기본 APK라는 분할 APK에 배치됩니다 번들을 사용할 때 자동으로 재생됩니다

자산, 기본 라이브러리에 대해 분할 된 APK를 만듭니다 이러한 리소스 별 분할 APK 구성 APK라고합니다 예제를 살펴 보겠습니다 Pixel 2에서 영어를 사용하는 사용자입니다 XL (ARM64 프로세서에서 실행되는 560 DPI 해상도) 앱을 설치하면 동적 게재 내가 특별히 필요로하는 분할 APK를 찾을 수 있습니다

이 분할 APK는 동작하는 호환 장치로 내 기기에 최적화 된 맞춤형 단일 APK처럼 이전 장치의 경우 동적 전달 연구 적절한 ABI와 함께 멀티 APK를 발송합니다 및 밀도 리소스 Android 앱 도입으로 번들 및 동적 게재 자동으로 작은 애플 리케이션을 허용 보다 원활한 배포 프로세스를 제공합니다 또한 앱 번들 형식 적어도 베타 버전에서는 동적 기능을 도입했습니다 동적 기능을 통해 특정 기능을 모듈화 할 수 있습니다 필요할 때 사용자에게 전달할 수 있습니다

자세한 내용은 아래 링크를 확인하십시오 앱 번들 제작에 궁금한 점이 있다면, 시작하기 가장 좋은 장소는 gco/andriodappbundle입니다 행복한 코딩

Android 장치 카메라를 사용하여 문서 스캔하기(HP Smart 앱)

Android 장치에 있는 카메라를 사용하여 문서 또는 사진을 캡처합니다 Android 장치 카메라로 캡처하려면 최소 500만 픽셀과 자동 초점 기능이 있어야 합니다

캡처할 문서 또는 사진을 선택하고 평평한 면에 놓습니다 Android 장치에서 HP Smart를 엽니다 카메라 아이콘을 누릅니다 또는 '카메라 스캔', '이메일로 카메라 스캔' 또는 '클라우드 타일로 카메라 스캔'을 눌러도 됩니다 이미지에서 초점을 유지한 채로 캡처 문서에 최대한 가깝게 카메라 초점을 맞춥니다

카메라 아이콘을 눌러 문서 또는 사진을 찍습니다 이미지를 다시 캡처해야 하는 경우에는 '재시도'를 누릅니다 캡처 상태에 만족하면 확인을 누릅니다 HP Smart는 자동으로 문서 경계를 결정합니다 테두리를 조정하려면 조정이 필요한 영역에 해당하는 파란색 점을 누른 후 새로운 위치로 드래그합니다

줌 파인더를 사용하여 테두리를 정확하게 배치합니다 이미지를 캡처하고 모든 테두리를 정의한 후 다음을 누릅니다 추가 페이지를 캡처하려면 추가 페이지 아이콘을 누릅니다 문서 또는 사진을 캡처한 후 편집하거나, 이름을 변경하거나, PDF 또는 JPG로 저장하거나, 사용자의 장치에 저장하거나, HP 프린터로 인쇄하거나, 전자 메일 또는 클라우드 서비스를 통해 공유할 수 있습니다

Runtime Permissions in Android 6.0 Marshmallow (Android Development Patterns Ep 3)

안녕하세요, 여러분 저는 조애나 스미스입니다 여기는 안드로이드 개발 패턴이며 여러분에게 안드로이드 마쉬멜로우의 새로운 런타임 승인 모델에 대해서 보여드릴 것입니다

그럼 살펴보도록 하죠 14개의 다른 승인을 요청하는 앱을 설치하는 것은 꽤 겁이날 수 있습니다 하지만 여러분의 앱이 안드로이드 마쉬멜로우를 목표로 삼고 있다면 설치시점 대신에 런타임시점에서 승인을 하도록 사용자를 유도할 수 있습니다 이제는 다행히도 이렇게 무서운 설치 다이얼로그를 피할 수 있습니다 왜냐하면 런타임 승인은 마쉬멜로우를 목표로 하는 모든 앱에 요구되기 때문이죠

따라서 여러분이 끔찍한 런타임 예외를 피할 수 있도록 도와주는 몇 가지 추가적인 단계가 존재합니다 이건 모두에게 일어날 수 있는 일이니까요 먼저, 플랫폼을 확인하세요 런타임 승인은 본래의 설치 시점 요청으로 복귀함으로써 이전 SDK들과 호환이 됩니다 그러니 사용자가 이전 SDK를 사용하고 있다면 앱이 설치될 때 승인이 주어진다는 걸 알 수 있습니다

하지만 사용자가 마쉬멜로우 사용자라면 여러분은 확신하기 힘들 것입니다 그래서 두 번째 단계를 진행해야 합니다 승인 상태를 확인하는 겁니다 여러분이 관심을 갖는 승인을 위해 checkSelfPermission을 간단히 호출하는 것은 여러분이 그 승인이 부여되었는지 알도록 해 줄 것입니다 승인이 되었다면 계속 진행하면 됩니다

하지만 승인되지 않았다면 요청을 해야 할 겁니다 사용자는 이제 승인을 취소할 수 있으므로 이걸 매번 확인해야 한다는 것을 기억하시길 바랍니다 이는 궁극적으로 개발자들에게 매우 좋은 일입니다 해야 할 일이 늘어난다고 해도 말이죠 왜냐하면 사용자들에게 타당한 이유와 이득을 제공하는 문구로 승인에 대한 요청을 사용자들이 받기 때문입니다 그리고 이것은 사용자들에게 신뢰감을 형성합니다

사용자들이 특정한 부분을 거절할 수 있도록 하면서 여러분을 더욱 좋아하게 만들 수도 있습니다 그 다음 단계로 진행해보겠습니다 아직 승인을 얻지 못했다면 그러한 승인이 필요한 이유에 대해서 설명해야 할 수 있습니다 그 리소스에 대한 접근을 허용해준다면 이 기능이 얼마나 좋을지 사용자에게 납득시키는 것입니다 이를 돕기 위해서 shouldShowReques tPermissionRationale 메소드가 있습니다 이것은 여러분이 설명할 필요가 있는지 알 수 있도록 여러분을 도와줄 것입니다

만약 사용자가 더 이상 묻지 않기를 요청하거나 장치에서 승인이 비활성화가 되면 메소드는 false를 반환합니다 만약 사용자가 이전에 승인을 거절했지만 이제는 접근을 할 수 있도록 허용한다면 메소드는 true를 반환할 것입니다 이것은 앱의 행위에 대해 사용자가 혼란을 느낄 수 있다는 신호이기 때문에 확실하게 해야 합니다 이것으로 여러분은 승인을 요청할 준비가 된 것입니다 requestPermissions 메소드는 여러분이 관심을 갖는 승인 목록과 요청 코드를 필요로 합니다

이 비동기식 호출은 사용자에게 다이얼로그를 띄우고 사용자의 응답은 여러분의 콜백함수를 실행시킵니다 그래서 여러분이 명시한 요청 코드가 중요한 것입니다 이것은 앱상에서 사용자가 어디에 있는지 그리고 앱의 행위를 고르는 방법을 확인하도록 도와줍니다 마지막 단계를 보겠습니다 승인 결과를 처리하는 것입니다 onRequestPermissionsResult에서 여러분은 호출의 결과를 확인할 수 있습니다

그래서 승인이 되면 API 호출을 만들고 사용자를 위한 마법과도 같은 순간을 생성하는 것으로 돌아올 수 있도록 요청 코드를 사용할 수 있습니다 하지만 승인되지 않았으면 우아하게 실패해야겠죠 가장 쉬운 해결책은 분명한 시각적 신호로 이 기능을 비활성화하는 것입니다 이것이 승인의 이유이기 때문이죠 그래서 여러분은 다이얼로그를 표시하거나 UI 텍스트를 업데이트 할 수 있습니다

하지만 여러분은 아마도 UI 레이아웃을 실용적으로 유지하고 싶으실 겁니다 사용자가 마음을 바꿀 수도 있으니까요 그러므로 버튼을 비활성화 하지 마시길 바랍니다 사용자들이 필요할 때 이 단계로 돌아올 수 있도록 말입니다 이것이 바로 여러분이 마쉬멜로우에서 런타임 승인을 다루도록 여러분의 앱을 업데이트 하는 방법입니다

마지막 조언은 이러한 변경을 테스트하는 것에 관한 것입니다 여러분의 앱과 설정 앱 사이를 계속해서 왔다 갔다 하는 것은 재미가 없기 때문이죠 PackageManager의 부여 명령을 확인하시기 바랍니다 여러분의 장치에서 프로그램에 따라서 승인을 부여하고 취소하도록 말이죠 그리고 늘 그렇듯이 시작 문서를 확인하시길 바랍니다

그리고 이런 변화가 사용자들이 앱의 행동에 대한 이해를 돕도록 의도되었음을 명심하시기 바랍니다 그리고 한번에 여러가지 승인을 요구함으로써 사용자들을 어쩔 줄 모르게 하지 마십시요 이러한 요청을 문구에 넣으시고 더 좋은 앱을 만드세요 [음악 재생]